+ public void updateDefaultFeatureTree() {
+ for(TermVocabulary vocab : getVocabularies()) {
+ if(vocab != null && TermType.Feature.equals(vocab.getTermType())) {
+ defaultFeatureTree = null;
+ }
+ }
+ }
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Set<TermVocabulary<DefinedTermBase>> getRootEntities() {
+ return getVocabularies();
+ }
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void merge() {
+ if(CdmStore.getCurrentSessionManager().isRemoting()) {
+ CdmStore.getService(IVocabularyService.class).merge(new ArrayList<TermVocabulary>(getRootEntities()), true);
+ updateDefaultFeatureTree();
+ }
+ }
+
+ public static FeatureTree getDefaultFeatureTree() {
+ if(defaultFeatureTree == null) {
+ defaultFeatureTree = FeatureTree.NewInstance(TermStore.getTerms(Feature.class));
+ }
+ return defaultFeatureTree;
+ }