public ItemAverageRecommender(IDataModel dataModel) : base(dataModel)
 {
     this.itemAverages  = new FastByIDMap <IRunningAverage>();
     this.refreshHelper = new RefreshHelper(() => {
         buildAverageDiffs();
     });
     refreshHelper.AddDependency(dataModel);
     buildAverageDiffs();
 }
Exemple #2
0
 public AbstractUserNeighborhood(UserSimilarity userSimilarity, DataModel dataModel, double samplingRate)
 {
     this.userSimilarity = userSimilarity;
     this.dataModel      = dataModel;
     this.samplingRate   = samplingRate;
     this.refreshHelper  = new RefreshHelper(null);
     this.refreshHelper.addDependency(this.dataModel);
     this.refreshHelper.addDependency(this.userSimilarity);
 }
Exemple #3
0
        private void DoRefreshColumns()
        {
            var list = NodesTableColumns = new ObservableCollection <NodeDbTableColumnsToExcel>();

            RefreshHelper.RefreshTableColumns(eventAgg, root, ref list);
            NodesTableColumns = list;

            // slow?? :-)
            SetDescShown(AreDescsShown);
        }
        public SupplierManagementCtrl(IManagementService managemntService) : base()
        {
            _managementService = managemntService;
            InitializeComponent();
            this.Dock = DockStyle.Fill;
            this.gridControl1.DataSource = _managementService.GetAllSuppliers();
            colId.Visible = false;

            _refreshHelper = new RefreshHelper(gridView1, nameof(parentModel.Id).ToString());
        }
 /// Creates this on top of the given {@link UserSimilarity}.
 /// The cache size is capped by the given size.
 public CachingUserSimilarity(IUserSimilarity similarity, int maxCacheSize)
 {
     //Preconditions.checkArgument(similarity != null, "similarity is null");
     this.similarity      = similarity;
     this.similarityCache = new Cache <Tuple <long, long>, Double>(new SimilarityRetriever(similarity), maxCacheSize);
     this.refreshHelper   = new RefreshHelper(() => {
         similarityCache.Clear();
     });
     refreshHelper.AddDependency(similarity);
 }
Exemple #6
0
 public AbstractUserNeighborhood(IUserSimilarity userSimilarity, IDataModel dataModel, double samplingRate)
 {
     //Preconditions.checkArgument(userSimilarity != null, "userSimilarity is null");
     //Preconditions.checkArgument(dataModel != null, "dataModel is null");
     //Preconditions.checkArgument(samplingRate > 0.0 && samplingRate <= 1.0, "samplingRate must be in (0,1]");
     this.userSimilarity = userSimilarity;
     this.dataModel      = dataModel;
     this.samplingRate   = samplingRate;
     this.refreshHelper  = new RefreshHelper(null);
     this.refreshHelper.AddDependency(this.dataModel);
     this.refreshHelper.AddDependency(this.userSimilarity);
 }
Exemple #7
0
 public ItemUserAverageRecommender(IDataModel dataModel) : base(dataModel)
 {
     this.itemAverages            = new FastByIDMap <IRunningAverage>();
     this.userAverages            = new FastByIDMap <IRunningAverage>();
     this.overallAveragePrefValue = new FullRunningAverage();
     //this.buildAveragesLock = new ReentrantReadWriteLock();
     this.refreshHelper = new RefreshHelper(() => {
         buildAverageDiffs();
     });
     refreshHelper.AddDependency(dataModel);
     buildAverageDiffs();
 }
 /// <p>
 /// Creates a possibly weighted {@link AbstractSimilarity}.
 /// </p>
 public AbstractSimilarity(IDataModel dataModel, Weighting weighting, bool centerData) : base(dataModel)
 {
     this.weighted       = weighting == Weighting.WEIGHTED;
     this.centerData     = centerData;
     this.cachedNumItems = dataModel.GetNumItems();
     this.cachedNumUsers = dataModel.GetNumUsers();
     this.refreshHelper  = new RefreshHelper(() => {
         cachedNumItems = dataModel.GetNumItems();
         cachedNumUsers = dataModel.GetNumUsers();
     }
                                             );
 }
Exemple #9
0
        public ContractManagementCtrl(IManagementService managemntService)
        {
            _managemntService = managemntService;
            InitializeComponent();
            this.Dock = DockStyle.Fill;
            this.gridControl1.DataSource = _managemntService.GetAllPoNumbers();

            colPOId.Visible = false;
            RenderCommonHelper.SetColNotEditable(colCreateDate);
            RenderCommonHelper.SetColNotEditable(colUpdateDate);

            _refreshHelper = new RefreshHelper(gridView1, nameof(parentModel.PoNumber).ToString());
        }
        public CachingUserSimilarity(UserSimilarity similarity, int maxCacheSize)
        {
            Action refreshRunnable = null;

            this.similarity      = similarity;
            this.similarityCache = new Cache <Tuple <long, long>, double>(new SimilarityRetriever(similarity), maxCacheSize);
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.similarityCache.clear();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(similarity);
        }
Exemple #11
0
        private void DoRefresh()
        {
            var list = NodesTable = new ObservableCollection <NodeDbTableToExcel>();

            RefreshHelper.RefreshTables(eventAgg, root, ref list);
            NodesTable = list;

            // slow?? :-)
            SetDescShown(AreDescsShown);

            //third tree view... (Tables-Columns -> Excels -> Sheets)
            DoRefreshColumns();
        }
        protected AbstractFactorizer(DataModel dataModel)
        {
            Action refreshRunnable = null;

            this.dataModel = dataModel;
            this.buildMappings();
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.buildMappings();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(dataModel);
        }
        public ItemAverageRecommender(DataModel dataModel)
            : base(dataModel)
        {
            Action refreshRunnable = null;

            this.itemAverages = new FastByIDMap <RunningAverage>();
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.buildAverageDiffs();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(dataModel);
            this.buildAverageDiffs();
        }
Exemple #14
0
        private async Task <bool> DisableRefresh(IDocumentStore store)
        {
            var config = new RefreshConfiguration
            {
                Disabled = true,
                RefreshFrequencyInSec = 100,
            };

            await RefreshHelper.SetupExpiration(store, Server.ServerStore, config);

            var database = await Databases.GetDocumentDatabaseInstanceFor(store);

            return(database.ExpiredDocumentsCleaner != null);
        }
Exemple #15
0
        public InDeliveryCtrl(IStockService stockService)
        {
            _stockService  = stockService;
            _refreshHelper = new RefreshHelper(gridView1, nameof(parentModel.OutStockNumber).ToString());

            InitializeComponent();
            this.Dock = DockStyle.Fill;
            //this.gridControl1.DataSource = _stockService.GetAllOutInstock();

            RenderCommonHelper.SetColNotEditable(colOutStockCategory);
            RenderCommonHelper.SetColNotEditable(colRequestNumber);
            RenderCommonHelper.SetColNotEditable(colAddress);
            RenderCommonHelper.SetColNotEditable(colContractNumber);
        }
        private void Form1_Load(object sender, System.EventArgs e)
        {
            helper = new RefreshHelper(gridView1, "ID");

            DataSet dataSet11 = new DataSet();

            dataSet11.Tables.Add(GetCustomerDataTable());
            dataSet11.Tables.Add(GetPersonDataTable());
            DataColumn keyColumn        = dataSet11.Tables["Customers"].Columns["ID"];
            DataColumn foreignKeyColumn = dataSet11.Tables["Persons"].Columns["ID"];

            dataSet11.Relations.Add("CustomersPersons", keyColumn, foreignKeyColumn);
            gridControl1.DataSource = dataSet11.Tables["Customers"];
            gridControl1.ForceInitialize();
        }
Exemple #17
0
 public GenericUserBasedRecommender(IDataModel dataModel,
                                    IUserNeighborhood neighborhood,
                                    IUserSimilarity similarity) : base(dataModel)
 {
     //Preconditions.checkArgument(neighborhood != null, "neighborhood is null");
     this.neighborhood  = neighborhood;
     this.similarity    = similarity;
     this.refreshHelper = new RefreshHelper(() => {
         capper = buildCapper();
     });
     refreshHelper.AddDependency(dataModel);
     refreshHelper.AddDependency(similarity);
     refreshHelper.AddDependency(neighborhood);
     capper = buildCapper();
 }
Exemple #18
0
        public CachingRecommender(IRecommender recommender)
        {
            //Preconditions.checkArgument(recommender != null, "recommender is null");
            this.recommender = recommender;
            maxHowMany       = new int[] { 1 };
            // Use "num users" as an upper limit on cache size. Rough guess.
            int numUsers = recommender.GetDataModel().GetNumUsers();

            recommendationsRetriever = new RecommendationRetriever(this);
            recommendationCache      = new Cache <long, Recommendations>(recommendationsRetriever, numUsers);
            estimatedPrefCache       = new Cache <Tuple <long, long>, float>(new EstimatedPrefRetriever(this), numUsers);
            refreshHelper            = new RefreshHelper(() => {
                clear();
            });
            refreshHelper.AddDependency(recommender);
        }
Exemple #19
0
        public GenericUserBasedRecommender(DataModel dataModel, UserNeighborhood neighborhood, UserSimilarity similarity)
            : base(dataModel)
        {
            Action refreshRunnable = null;

            this.neighborhood = neighborhood;
            this.similarity   = similarity;
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.capper = this.buildCapper();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(dataModel);
            this.refreshHelper.addDependency(similarity);
            this.refreshHelper.addDependency(neighborhood);
            this.capper = this.buildCapper();
        }
        /**
         * @param dataModel
         *          {@link DataModel} which provides users
         * @param clusterSimilarity
         *          {@link ClusterSimilarity} used to compute cluster similarity
         * @param numClusters
         *          desired number of clusters to create
         * @throws IllegalArgumentException
         *           if arguments are {@code null}, or {@code numClusters} is less than 2
         */

        public TreeClusteringRecommender2(DataModel dataModel, ClusterSimilarity clusterSimilarity, int numClusters)
            : base(dataModel)
        {
            if (numClusters < 2)
            {
                throw new Exception("numClusters must be at least 2");
            }
            //Preconditions.checkArgument(numClusters >= 2, "numClusters must be at least 2");
            this.clusterSimilarity     = clusterSimilarity;//Preconditions.checkNotNull(clusterSimilarity);
            this.numClusters           = numClusters;
            this.clusteringThreshold   = Double.NaN;
            this.clusteringByThreshold = false;
            this.refreshHelper         = new RefreshHelper(buildClusters);
            refreshHelper.addDependency(dataModel);
            refreshHelper.addDependency(clusterSimilarity);
            buildClusters();
        }
        public CachingRecommender(Recommender recommender)
        {
            Action refreshRunnable = null;

            this.recommender = recommender;
            this.maxHowMany  = new int[] { 1 };
            int maxEntries = recommender.getDataModel().getNumUsers();

            this.recommendationsRetriever = new RecommendationRetriever(this);
            this.recommendationCache      = new Cache <long, Recommendations>(this.recommendationsRetriever, maxEntries);
            this.estimatedPrefCache       = new Cache <Tuple <long, long>, float>(new EstimatedPrefRetriever(this), maxEntries);
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.clear();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(recommender);
        }
Exemple #22
0
        public GenericItemBasedRecommender(DataModel dataModel, ItemSimilarity similarity, CandidateItemsStrategy candidateItemsStrategy, MostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy)
            : base(dataModel, candidateItemsStrategy)
        {
            Action refreshRunnable = null;

            this.similarity = similarity;
            this.mostSimilarItemsCandidateItemsStrategy = mostSimilarItemsCandidateItemsStrategy;
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.capper = this.buildCapper();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(dataModel);
            this.refreshHelper.addDependency(similarity);
            this.refreshHelper.addDependency(candidateItemsStrategy);
            this.refreshHelper.addDependency(mostSimilarItemsCandidateItemsStrategy);
            this.capper = this.buildCapper();
        }
Exemple #23
0
 public MemoryDiffStorage(DataModel dataModel,
                          Weighting stdDevWeighted,
                          long maxEntries)
 {
     //Preconditions.checkArgument(dataModel != null, "dataModel is null");
     //Preconditions.checkArgument(dataModel.getNumItems() >= 1, "dataModel has no items");
     //Preconditions.checkArgument(maxEntries > 0L, "maxEntries must be positive");
     this.dataModel               = dataModel;
     this.stdDevWeighted          = stdDevWeighted == Weighting.WEIGHTED;
     this.maxEntries              = maxEntries;
     this.averageDiffs            = new FastByIDMap <FastByIDMap <RunningAverage> >();
     this.averageItemPref         = new FastByIDMap <RunningAverage>();
     this.buildAverageDiffsLock   = new ReaderWriterLockSlim();
     this.allRecommendableItemIDs = new FastIDSet(dataModel.getNumItems());
     this.refreshHelper           = new RefreshHelper(buildAverageDiffs);
     refreshHelper.addDependency(dataModel);
     buildAverageDiffs();
 }
Exemple #24
0
        public InStockCtrl(IStockService stockService)
        {
            _stockService  = stockService;
            _refreshHelper = new RefreshHelper(gridView1, nameof(parentModel.InStockNumber).ToString());

            InitializeComponent();
            this.Dock = DockStyle.Fill;
            //this.gridControl1.DataSource = _stockService.GetAllInstock();

            RenderCommonHelper.SetColNotEditable(colInStockNumber);
            RenderCommonHelper.SetColNotEditable(colPoNumber);
            RenderCommonHelper.SetColNotEditable(colPurchaseNumber);
            RenderCommonHelper.SetColNotEditable(colRequestNumber);
            RenderCommonHelper.SetColNotEditable(colContractNumber);
            RenderCommonHelper.SetColNotEditable(colSupplierName);
            RenderCommonHelper.SetColNotEditable(colInStockCategory);
            RenderCommonHelper.SetColNotEditable(colCreateDate);
        }
Exemple #25
0
        public AbstractSimilarity(DataModel dataModel, Weighting weighting, bool centerData)
            : base(dataModel)
        {
            Action refreshRunnable = null;

            this.weighted       = weighting == Weighting.WEIGHTED;
            this.centerData     = centerData;
            this.cachedNumItems = dataModel.getNumItems();
            this.cachedNumUsers = dataModel.getNumUsers();
            if (refreshRunnable == null)
            {
                refreshRunnable = delegate
                {
                    this.cachedNumItems = dataModel.getNumItems();
                    this.cachedNumUsers = dataModel.getNumUsers();
                };
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
        }
        /**
         * @param dataModel
         *          {@link DataModel} which provides users
         * @param clusterSimilarity
         *          {@link ClusterSimilarity} used to compute cluster
         *          similarity
         * @param clusteringThreshold
         *          clustering similarity threshold; clusters will be aggregated into larger clusters until the next
         *          two nearest clusters' similarity drops below this threshold
         * @throws IllegalArgumentException
         *           if arguments are {@code null}, or {@code clusteringThreshold} is {@link Double#NaN}
         */

        public TreeClusteringRecommender2(DataModel dataModel,
                                          ClusterSimilarity clusterSimilarity,
                                          double clusteringThreshold)
            : base(dataModel)
        {
            //  Preconditions.checkArgument(!Double.isNaN(clusteringThreshold), "clusteringThreshold must not be NaN");
            if (Double.IsNaN(clusteringThreshold))
            {
                throw new Exception("clusteringThreshold must not be NaN");
            }
            this.clusterSimilarity     = clusterSimilarity; //Preconditions.checkNotNull(clusterSimilarity);
            this.numClusters           = int.MinValue;      // Integer.MIN_VALUE;
            this.clusteringThreshold   = clusteringThreshold;
            this.clusteringByThreshold = true;
            this.refreshHelper         = new RefreshHelper(buildClusters);
            refreshHelper.addDependency(dataModel);
            refreshHelper.addDependency(clusterSimilarity);
            buildClusters();
        }
        /**
         * @param dataModel
         *          {@link DataModel} which provides users
         * @param clusterSimilarity
         *          {@link ClusterSimilarity} used to compute cluster similarity
         * @param clusteringThreshold
         *          clustering similarity threshold; clusters will be aggregated into larger clusters until the next
         *          two nearest clusters' similarity drops below this threshold
         * @param samplingRate
         *          percentage of all cluster-cluster pairs to consider when finding next-most-similar clusters.
         *          Decreasing this value from 1.0 can increase performance at the cost of accuracy
         * @throws IllegalArgumentException
         *           if arguments are {@code null}, or {@code clusteringThreshold} is {@link Double#NaN},
         *           or samplingRate is {@link Double#NaN} or nonpositive or greater than 1.0
         */

        public TreeClusteringRecommender(DataModel dataModel,
                                         ClusterSimilarity clusterSimilarity,
                                         double clusteringThreshold,
                                         double samplingRate)
            : base(dataModel)
        {
            //Preconditions.checkArgument(!Double.IsNaN(clusteringThreshold), "clusteringThreshold must not be NaN");
            //Preconditions.checkArgument(samplingRate > 0.0 && samplingRate <= 1.0, "samplingRate is invalid: %f", samplingRate);
            random = RandomUtils.getRandom();
            this.clusterSimilarity     = clusterSimilarity; //Preconditions.checkNotNull(clusterSimilarity);
            this.numClusters           = int.MinValue;      //Integer.MIN_VALUE;
            this.clusteringThreshold   = clusteringThreshold;
            this.clusteringByThreshold = true;
            this.samplingRate          = samplingRate;
            this.refreshHelper         = new RefreshHelper(buildClusters);
            refreshHelper.addDependency(dataModel);
            refreshHelper.addDependency(clusterSimilarity);
            buildClusters();
        }
Exemple #28
0
 public GenericItemBasedRecommender(IDataModel dataModel,
                                    IItemSimilarity similarity,
                                    ICandidateItemsStrategy candidateItemsStrategy,
                                    IMostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy) :
     base(dataModel, candidateItemsStrategy)
 {
     //Preconditions.checkArgument(similarity != null, "similarity is null");
     this.similarity = similarity;
     //Preconditions.checkArgument(mostSimilarItemsCandidateItemsStrategy != null,
     //    "mostSimilarItemsCandidateItemsStrategy is null");
     this.mostSimilarItemsCandidateItemsStrategy = mostSimilarItemsCandidateItemsStrategy;
     this.refreshHelper = new RefreshHelper(() => {
         capper = buildCapper();
     });
     refreshHelper.AddDependency(dataModel);
     refreshHelper.AddDependency(similarity);
     refreshHelper.AddDependency(candidateItemsStrategy);
     refreshHelper.AddDependency(mostSimilarItemsCandidateItemsStrategy);
     capper = buildCapper();
 }
        /**
         * @param dataModel
         *          {@link DataModel} which provdes users
         * @param clusterSimilarity
         *          {@link ClusterSimilarity} used to compute cluster similarity
         * @param numClusters
         *          desired number of clusters to create
         * @param samplingRate
         *          percentage of all cluster-cluster pairs to consider when finding next-most-similar clusters.
         *          Decreasing this value from 1.0 can increase performance at the cost of accuracy
         * @throws IllegalArgumentException
         *           if arguments are {@code null}, or {@code numClusters} is less than 2, or samplingRate
         *           is {@link Double#NaN} or nonpositive or greater than 1.0
         */

        public TreeClusteringRecommender(DataModel dataModel,
                                         ClusterSimilarity clusterSimilarity,
                                         int numClusters,
                                         double samplingRate)
            : base(dataModel)
        {
            //Preconditions.checkArgument(numClusters >= 2, "numClusters must be at least 2");
            //Preconditions.checkArgument(samplingRate > 0.0 && samplingRate <= 1.0,
            //  "samplingRate is invalid: %f", samplingRate);
            random = RandomUtils.getRandom();
            this.clusterSimilarity     = clusterSimilarity;//Preconditions.checkNotNull(clusterSimilarity);
            this.numClusters           = numClusters;
            this.clusteringThreshold   = Double.NaN;
            this.clusteringByThreshold = false;
            this.samplingRate          = samplingRate;
            this.refreshHelper         = new RefreshHelper(buildClusters);
            refreshHelper.addDependency(dataModel);
            refreshHelper.addDependency(clusterSimilarity);
            buildClusters();
        }
        public PurchaseApplicationCtrl(IPurchaseService purchaseService, IManagementService managementService)
        {
            _purchaseService   = purchaseService;
            _managementService = managementService;
            InitializeComponent();
            this.Dock = DockStyle.Fill;
            SetCurrentRequestCategory(RequestCategoriesEnum.材料需求);

            RenderCommonHelper.SetColNotEditable(colApplicationNumber);
            RenderCommonHelper.SetColNotEditable(colRequestHeaderNumber);
            RenderCommonHelper.SetColNotEditable(colPoNumber);
            RenderCommonHelper.SetColNotEditable(colTotalApplied);
            RenderCommonHelper.SetColNotEditable(colTotalConfirmed);
            RenderCommonHelper.SetColNotEditable(colAuditStatus);
            RenderCommonHelper.SetColNotEditable(colStatus);
            RenderCommonHelper.SetColNotEditable(colCompletePercentage);
            RenderCommonHelper.SetColNotEditable(colCreateDate);
            RenderCommonHelper.SetColNotEditable(colUpdateDate);

            colCompletePercentage.DisplayFormat.FormatType = FormatType.Numeric; colCompletePercentage.DisplayFormat.FormatString = "P";
            _refreshHelper = new RefreshHelper(gridView1, nameof(parentModel.ApplicationNumber));
        }