示例#1
0
        public QuerySettings GetQuerySettings(Terradue.OpenSearch.Engine.OpenSearchEngine ose)
        {
            IOpenSearchEngineExtension osee = new AtomOpenSearchEngineExtension();

            originalReadNativeFunctionToExtend = osee.ReadNative;
            return(new QuerySettings(osee.DiscoveryContentType, Sentinel1QcReadNative));
        }
示例#2
0
        public static OpenSearchEngine GetNewOpenSearchEngine()
        {
            var newOse = new OpenSearchEngine();
            AtomOpenSearchEngineExtension aosee = new AtomOpenSearchEngineExtension();

            newOse.RegisterExtension(aosee);
            FeatureCollectionOpenSearchEngineExtension ngosee = new FeatureCollectionOpenSearchEngineExtension();

            newOse.RegisterExtension(ngosee);

            var slidingExpiration = "30";

            if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["Opensearch.Cache.SlidingExpiration"]))
            {
                slidingExpiration = System.Configuration.ConfigurationManager.AppSettings["Opensearch.Cache.SlidingExpiration"];
            }

            if (slidingExpiration != "0")
            {
                NameValueCollection nvc = new NameValueCollection();
                nvc.Add("SlidingExpiration", slidingExpiration);
                searchCache = new OpenSearchMemoryCache("cache", nvc);
                newOse.RegisterPreSearchFilter(searchCache.TryReplaceWithCacheRequest);
                newOse.RegisterPostSearchFilter(searchCache.CacheResponse);
            }
            return(newOse);
        }
示例#3
0
        public MultiSeries(IfyContext context) : base(context)
        {
            ose = new OpenSearchEngine();
            AtomOpenSearchEngineExtension aosee = new AtomOpenSearchEngineExtension();

            //Type type = aosee.GetTransformType();
            ose.RegisterExtension((OpenSearchEngineExtension <AtomFeed>)aosee);

            // series = new EntityList<Terradue.Portal.Series>(context, this); // OLD
            series = new EntityList <Terradue.Portal.Series>(context); // NEW - TODO: check whether this works
            // series.Template.ParentSeries = this;
        }
        public static void ProxyOpenSearchResult(IOpenSearchResult osr)
        {
            if (!(osr.OpenSearchableEntity is ILocalOpenSearchable))
            {
                return;
            }

            if (osr.Result is SyndicationFeed)
            {
                AtomOpenSearchEngineExtension.ReplaceIdentifier(osr, EOProductFactory.EntrySelfLinkTemplate);
                AtomOpenSearchEngineExtension.ReplaceSelfLinks(osr, EOProductFactory.EntrySelfLinkTemplate);
                AtomOpenSearchEngineExtension.ReplaceOpenSearchDescriptionLinks(osr);
            }

            if (osr.Result is IOpenSearchResultCollection)
            {
                FeatureCollectionOpenSearchEngineExtension.ReplaceId(osr, EOProductFactory.EntrySelfLinkTemplate);
                FeatureCollectionOpenSearchEngineExtension.ReplaceSelfLinks(osr, EOProductFactory.EntrySelfLinkTemplate);
                FeatureCollectionOpenSearchEngineExtension.ReplaceOpenSearchDescriptionLinks(osr);
            }
        }
 public QuerySettings GetQuerySettings(OpenSearchEngine ose)
 {
     IOpenSearchEngineExtension osee = new AtomOpenSearchEngineExtension();
     return new QuerySettings(osee.DiscoveryContentType, osee.ReadNative);
 }