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);
        }
Exemple #2
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 Terradue.OpenSearch.Engine.OpenSearchEngine GetOpenSearchEngine(System.Collections.Specialized.NameValueCollection nvc)
        {
            OpenSearchEngine ose = new OpenSearchEngine();

            ose.LoadPlugins();
            foreach (var ext in ose.Extensions.ToList())
            {
                if (ext.Value.DiscoveryContentType == "application/json")
                {
                    ose.Extensions.Remove(ext.Key);
                }
            }
            ose.RegisterExtension(new GenericJsonOpenSearchEngineExtension());
            return(ose);
        }