protected LexiconCondition createLexiconCondition(Lexicon created, String field, String name, Boolean dontCreateNow) { LexiconCondition lexiconCondition = new LexiconCondition(); lexiconCondition.name = name; lexiconCondition.field = field; lexiconCondition.language = "eng"; lexiconCondition.value = created.id; // if someone wants to attach, or hold off creation, allow this. if (dontCreateNow) { return lexiconCondition; } return classificationApi.create(lexiconCondition); }
protected DocumentCollection getDocumentCollection(long colId) throws Exception { Collection<DocumentCollection> collections = getClassificationApi().retrieveCollections(Arrays.asList(colId), true, false); if (collections.isEmpty()) { throw new Exception("Failed to find document collection id: " + colId); } return collections.stream().filter(u -> u.id.equals(colId)).findFirst().get(); }
public Long getCollectionSequenceId(String collectionSequenceValue) { Long collectionSequenceId; if(StringUtils.isNumeric(collectionSequenceValue)){ collectionSequenceId = Long.parseLong(collectionSequenceValue); } else { final Collection<CollectionSequence> collectionSequences = getClassificationApi().retrieveCollectionSequencesByName(collectionSequenceValue); if(collectionSequences == null || collectionSequences.isEmpty()){ throw new BackEndRequestFailedCpeException(new DataOperationFailureErrors(DataOperationFailureErrors.FailureOperation.RETRIEVE, ItemType.COLLECTION_SEQUENCE, collectionSequenceValue), new Exception("Could not find a collection sequence with given name: " + collectionSequenceValue)); } collectionSequenceId = collectionSequences.stream().findFirst().get().id; } return collectionSequenceId; }
Optional<CollectionSequence> optionalCollectionSequence = classificationApi.retrieveCollectionSequences(Arrays.asList(collectionSequenceId)).stream().findFirst(); if (!optionalCollectionSequence.isPresent()) { throw new RuntimeException(String.format("Collection sequence %s does not exist.", collectionSequenceId));
protected DocumentCollection addPoliciesToDocumentCollection(ClassificationApi classificationApi, DocumentCollection collection, Collection<Long> policyIds) { collection.policyIds = new HashSet<>(); collection.policyIds.addAll(policyIds); DocumentCollection collection1 = classificationApi.update(collection); return collection1; }
private void addFieldLabel(EnvironmentSnapshotImpl environmentSnapshot, String addFieldName){ if(environmentSnapshot.getFieldLabels().containsKey(addFieldName)) { return; } FieldLabel fieldLabel = classificationApi.retrieveFieldLabel(addFieldName); environmentSnapshot.getFieldLabels().put(addFieldName, fieldLabel); } }
private void addLexicon(EnvironmentSnapshotImpl environmentSnapshot, Long lexiconId) { if(environmentSnapshot.getLexicons().containsKey(lexiconId)) { return; } Collection<Long> lexiconIds = new ArrayList<>(); lexiconIds.add(lexiconId); Lexicon lexicon = classificationApi.retrieveLexicons(lexiconIds).stream().findFirst().get(); environmentSnapshot.getLexicons().put(lexicon.id, lexicon); }
private void addCondition(EnvironmentSnapshotImpl environmentSnapshot, Condition condition) { if(condition==null || environmentSnapshot.getConditions().containsKey(condition.id)){ return; } environmentSnapshot.getConditions().put(condition.id, condition); if (condition instanceof FragmentCondition) { FragmentCondition fragmentCondition = (FragmentCondition) condition; if(!environmentSnapshot.getConditions().containsKey(fragmentCondition.value)) { Collection<Condition> retrieveConditions = classificationApi.retrieveConditions(Arrays.asList(fragmentCondition.value), true); if (retrieveConditions.size() > 0) { Condition retrievedCondition = retrieveConditions.stream().findFirst().get(); addCondition(environmentSnapshot, retrievedCondition); } } } else if (condition instanceof NotCondition) { addCondition(environmentSnapshot, ((NotCondition)condition).condition); } else if (condition instanceof BooleanCondition) { for (Condition childCondition : ((BooleanCondition) condition).children) { addCondition(environmentSnapshot, childCondition); } } else if (condition instanceof LexiconCondition) { addLexicon(environmentSnapshot, ((LexiconCondition)condition).value); } if (condition instanceof FieldCondition) { String fieldName = ((FieldCondition) condition).field; addFieldLabel(environmentSnapshot, fieldName); } }
Collection<CollectionSequence> checkIt = classificationApi.retrieveCollectionSequences(Arrays.asList(Long.parseLong(id)));
protected DocumentCollection getWorkflowDocumentCollection(ClassificationApi classificationApi, Condition anyCondition) { DocumentCollection collection1 = new DocumentCollection(); collection1.name = "Collection to drive workflow custom policy"; collection1.condition = anyCondition; collection1 = classificationApi.create(collection1); return collection1; }
private void addCollection(EnvironmentSnapshotImpl environmentSnapshot, Long collectionId) throws CpeException { if(collectionId==null || environmentSnapshot.getCollections().containsKey(collectionId)){ return; } DocumentCollection documentCollection = classificationApi.retrieveCollections(Arrays.asList(collectionId), true, true).stream().findFirst().get(); if(documentCollection==null){ throw new BackEndRequestFailedCpeException(BackEndRequestFailedErrors.InvalidDataDetected, new Exception("Collection id "+ collectionId + " does not exist.")); } //Add the conditions addCondition(environmentSnapshot, documentCollection.condition); if(documentCollection.policyIds != null) { documentCollection.policyIds.forEach(id -> addPolicy(environmentSnapshot, id)); } environmentSnapshot.getCollections().put(documentCollection.id, documentCollection); }
protected DocumentCollection createUniqueDocumentCollection(String name) { DocumentCollection documentCollection = new DocumentCollection(); if (Strings.isNullOrEmpty(name)) { documentCollection.name = ("ClassificationApiCollectionSequenceIt unique docCollection_"); } else { documentCollection.name = name; } documentCollection.description = "used as unique doc collection to lookup by..."; return classificationApi.create(documentCollection); }
private DocumentCollection getDocumentCollection(ClassificationApi classificationApi, Condition anyCondition, Collection<Long> overidePolicyIds) { DocumentCollection collection1 = new DocumentCollection(); collection1.name = "Collection to drive custom policy"; collection1.policyIds = new HashSet<>(); // collection1.policyIds.add(customPolicy.id); collection1.policyIds.addAll(overidePolicyIds); collection1.condition = anyCondition; collection1 = classificationApi.create(collection1); return collection1; }
public static CollectionSequence createCollectionSequenceWithOneEntry(ClassificationApi classificationApi, Long collectionId, String name, String description) { CollectionSequence classificationSequence = new CollectionSequence(); classificationSequence.name = name; classificationSequence.description = description; classificationSequence.collectionSequenceEntries = new ArrayList<>(); CollectionSequenceEntry entry = PolicyTestHelper.createCollectionSequenceEntry(collectionId); classificationSequence.collectionSequenceEntries.add(entry); return classificationApi.create(classificationSequence); }
protected Lexicon createNewLexicon(String name, String expressionRegex) { Lexicon lexicon = new Lexicon(); lexicon.name = name; { LexiconExpression expression = new LexiconExpression(); expression.type = LexiconExpressionType.REGEX; expression.expression = expressionRegex; lexicon.lexiconExpressions = new LinkedList<>(); lexicon.lexiconExpressions.add(expression); } return classificationApi.create(lexicon); }
public static DocumentCollection createDocumentCollection(ClassificationApi classificationApi, String nameBasis, Condition condition, Long policyId, String description){ DocumentCollection documentCollection = new DocumentCollection(); documentCollection.name = getUniqueString(nameBasis); if(description!=null){ documentCollection.description = description; } if(condition != null) { documentCollection.condition = condition; } documentCollection.policyIds = new HashSet<>(); documentCollection.policyIds.add(policyId); documentCollection = classificationApi.create(documentCollection); return documentCollection; }
protected CollectionSequence SetupCollectionSequence(ClassificationApi classificationApi, Long collectionId, boolean returnCollectionSequenceInstead) { CollectionSequence collectionSequence = new CollectionSequence(); collectionSequence.name = getUniqueString("ClassifyDocumentApiIT::setup_"); collectionSequence.description = "Used in ClassifyDocumentApiIT tests."; collectionSequence.collectionSequenceEntries = new ArrayList<>(); CollectionSequenceEntry collectionSequenceEntry = new CollectionSequenceEntry(); collectionSequenceEntry.collectionIds = new HashSet<>(Arrays.asList(collectionId)); collectionSequenceEntry.stopOnMatch = false; collectionSequenceEntry.order = 400; collectionSequence.collectionSequenceEntries.add(collectionSequenceEntry); collectionSequence = classificationApi.create(collectionSequence); if (returnCollectionSequenceInstead) { return collectionSequence; } throw new RuntimeException("This method is not used anymore!!"); }
public Long createSimpleConditionSequence() throws CpeException { CollectionSequence simpleSequence = new CollectionSequence(); simpleSequence.name = "Simple sequence"; simpleSequence.description = "Contains a single Entry, with a single collection."; DocumentCollection simpleCollection = new DocumentCollection(); simpleCollection.name = "Simple Collection"; simpleCollection.description = "This collection has a single condition that will check for a field called \"content\""; ExistsCondition simpleCondition = new ExistsCondition(); simpleCondition.name = "Content is present"; simpleCondition.field = "content"; simpleCollection.condition = simpleCondition; simpleCollection = classificationApi.create(simpleCollection); CollectionSequenceEntry simpleEntry = new CollectionSequenceEntry(); simpleEntry.order = (short) 100; simpleEntry.stopOnMatch = false; simpleEntry.collectionIds = new HashSet<>(Arrays.asList(simpleCollection.id)); simpleSequence.collectionSequenceEntries = Arrays.asList(simpleEntry); simpleSequence = classificationApi.create(simpleSequence); return simpleSequence.id; } }
protected DocumentCollection SetupCollection(Collection<Long> overridePolicyIds) { ClassificationApi classificationApi = genericApplicationContext.getBean(ClassificationApi.class); NumberCondition numberCondition = new NumberCondition(); numberCondition.name = "afield condition 1"; numberCondition.field = "afield"; numberCondition.operator = NumberOperatorType.EQ; numberCondition.value = 1L; DocumentCollection collection1 = new DocumentCollection(); collection1.name = "Collection 1"; collection1.policyIds = new HashSet<>(); if (overridePolicyIds != null) { collection1.policyIds.addAll(overridePolicyIds); } collection1.condition = numberCondition; collection1 = classificationApi.create(collection1); return collection1; }
protected CollectionSequence SetupCollectionSequenceWithPolicies(final Collection<Long> defaultPolicyIds, final Collection<Long> overridePolicyIds) { ClassificationApi classificationApi = genericApplicationContext.getBean(ClassificationApi.class); NumberCondition numberCondition = new NumberCondition(); numberCondition.name = "afield condition 1"; numberCondition.field = "afield"; numberCondition.operator = NumberOperatorType.EQ; numberCondition.value = 1L; DocumentCollection collection1 = new DocumentCollection(); collection1.name = "Collection 1"; collection1.policyIds = new HashSet<>(); if (overridePolicyIds == null) { collection1.policyIds.addAll(defaultPolicyIds); } else { collection1.policyIds.addAll(overridePolicyIds); } collection1.condition = numberCondition; collection1 = classificationApi.create(collection1); return SetupCollectionSequence(classificationApi, collection1.id, true); }