public WebSiteDocumentsSet WeakClone()
        {
            WebSiteDocumentsSet output = new WebSiteDocumentsSet();

            output.name              = name;
            output.description       = description;
            output.datasetSourceName = datasetSourceName;

            foreach (WebSiteDocuments site in this)
            {
                output.Add(site.WeakClone());
            }

            return(output);
        }
        /// <summary>
        /// Returns set that contains unlabeled entries
        /// </summary>
        /// <param name="input">The input.</param>
        /// <returns></returns>
        public static WebSiteDocumentsSet GetUnlabeledDataSet(this IEnumerable <WebSiteDocumentsSet> input)
        {
            WebSiteDocumentsSet UnlabeledSites = null;

            List <WebSiteDocumentsSet> inputSet = input.ToList();


            UnlabeledSites = inputSet.FirstOrDefault(x => x.name.isNullOrEmpty());
            if (UnlabeledSites == null)
            {
                UnlabeledSites = inputSet.FirstOrDefault(x => x.name == SpaceLabel.UNKNOWN);
            }

            return(UnlabeledSites);
        }
Ejemplo n.º 3
0
        private void DeployCategory(WebSiteDocumentsSet set)
        {
            String labelName = set.name;

            if (labelName.isNullOrEmpty())
            {
                labelName = SpaceLabel.UNKNOWN;
            }
            SpaceLabel lab = new SpaceLabel(labelName);

            if (labelName == SpaceLabel.UNKNOWN)
            {
                spaceModel.label_unknown = lab;
            }
            else
            {
                spaceModel.labels.Add(lab);
            }

            spaceLabels.Add(lab.name, lab);
            dataset.Add(labelName, set);

            foreach (WebSiteDocuments site in set)
            {
                spaceLabelsDomains.Add(site.domain, lab);

                webSiteByDomain.Add(site.domain, site);


                List <WebSiteDocument> toRemove = new List <WebSiteDocument>();

                foreach (WebSiteDocument doc in site.documents)
                {
                    if (webDocumentByAssignedID.ContainsKey(doc.AssignedID))
                    {
                        toRemove.Add(doc);
                    }
                    else
                    {
                        webDocumentByAssignedID.Add(doc.AssignedID, doc);
                        spaceLabelByDocAssignedID.Add(doc.AssignedID, lab);
                    }
                }

                toRemove.ForEach(x => site.documents.Remove(x));
            }
        }