static Optional<MandatoryLeafEnforcer> forContainer(final DataNodeContainer schema, final DataTreeConfiguration treeConfig) { if (!treeConfig.isMandatoryNodesValidationEnabled()) { return Optional.empty(); } final Builder<YangInstanceIdentifier> builder = ImmutableList.builder(); findMandatoryNodes(builder, YangInstanceIdentifier.EMPTY, schema, treeConfig.getTreeType()); final ImmutableList<YangInstanceIdentifier> mandatoryNodes = builder.build(); return mandatoryNodes.isEmpty() ? Optional.empty() : Optional.of(new MandatoryLeafEnforcer(mandatoryNodes)); }
static MandatoryLeafEnforcer forContainer(final DataNodeContainer schema, final DataTreeConfiguration treeConfig) { if (!treeConfig.isMandatoryNodesValidationEnabled()) { return NOOP_ENFORCER; } final Builder<YangInstanceIdentifier> builder = ImmutableList.builder(); findMandatoryNodes(builder, YangInstanceIdentifier.EMPTY, schema, treeConfig.getTreeType()); final ImmutableList<YangInstanceIdentifier> mandatoryNodes = builder.build(); return mandatoryNodes.isEmpty() ? NOOP_ENFORCER : new Strict(mandatoryNodes); } }
public Builder copyBuilder() { return new Builder(treeType) .setMandatoryNodesValidation(isMandatoryNodesValidationEnabled()) .setUniqueIndexes(isUniqueIndexEnabled()) .setRootPath(getRootPath()); }
public Builder copyBuilder() { return new Builder(treeType) .setMandatoryNodesValidation(isMandatoryNodesValidationEnabled()) .setUniqueIndexes(isUniqueIndexEnabled()) .setRootPath(getRootPath()); }
InMemoryDOMDataTreeShard(final DOMDataTreeIdentifier prefix, final Executor dataTreeChangeExecutor, final int maxDataChangeListenerQueueSize, final int submitQueueSize) { this.prefix = requireNonNull(prefix); final DataTreeConfiguration treeBaseConfig = treeTypeFor(prefix.getDatastoreType()); final DataTreeConfiguration treeConfig = new DataTreeConfiguration.Builder(treeBaseConfig.getTreeType()) .setMandatoryNodesValidation(treeBaseConfig.isMandatoryNodesValidationEnabled()) .setUniqueIndexes(treeBaseConfig.isUniqueIndexEnabled()) .setRootPath(prefix.getRootIdentifier()) .build(); this.dataTree = new InMemoryDataTreeFactory().create(treeConfig); this.shardChangePublisher = new InMemoryDOMDataTreeShardChangePublisher(dataTreeChangeExecutor, maxDataChangeListenerQueueSize, dataTree, prefix.getRootIdentifier(), childShards); final FastThreadPoolExecutor fte = new FastThreadPoolExecutor(1, submitQueueSize, "Shard[" + prefix + "]", InMemoryDOMDataTreeShard.class); fte.setRejectedExecutionHandler(CountingRejectedExecutionHandler.newCallerWaitsPolicy()); this.executor = MoreExecutors.listeningDecorator(fte); }