Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjmisinco2015-03-18 19:38:36 +0000
committerjmisinco2015-03-23 16:30:46 +0000
commit5ea082ba70716a15ae7b8ea1b375765b89a0e9bc (patch)
tree1c0fbb8141a7418495b23eab8b3dc61b290efd2c /plugins/org.eclipse.osee.orcs.rest.client
parentaa7d9317121cce7140027448a95952e995657e89 (diff)
downloadorg.eclipse.osee-5ea082ba70716a15ae7b8ea1b375765b89a0e9bc.tar.gz
org.eclipse.osee-5ea082ba70716a15ae7b8ea1b375765b89a0e9bc.tar.xz
org.eclipse.osee-5ea082ba70716a15ae7b8ea1b375765b89a0e9bc.zip
feature: Add attribute not exists search to client
Diffstat (limited to 'plugins/org.eclipse.osee.orcs.rest.client')
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/QueryBuilder.java5
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactory.java2
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactoryImpl.java6
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryBuilderImpl.java6
4 files changed, 19 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/QueryBuilder.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/QueryBuilder.java
index 65201026307..58403204cba 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/QueryBuilder.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/QueryBuilder.java
@@ -109,6 +109,11 @@ public interface QueryBuilder {
QueryBuilder andExists(Collection<? extends IAttributeType> attributeTypes) throws OseeCoreException;
/**
+ * Search criteria that checks for the non-existence of an attribute type(s).
+ */
+ QueryBuilder andNotExists(IAttributeType attributeType) throws OseeCoreException;
+
+ /**
* Search criteria that follows the relation link ending on the given side
*
* @param relationType the type to start following the link from
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactory.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactory.java
index e73754469b9..35731a14c07 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactory.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactory.java
@@ -40,6 +40,8 @@ public interface PredicateFactory {
Predicate createAttributeExistsSearch(Collection<? extends IAttributeType> attributeTypes);
+ Predicate createAttributeNotExistsSearch(Collection<? extends IAttributeType> attributeTypes);
+
Predicate createRelationExistsSearch(Collection<? extends IRelationType> relationTypes);
Predicate createRelationNotExistsSearch(Collection<? extends IRelationType> relationTypes);
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactoryImpl.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactoryImpl.java
index edea37d61f4..d426106d831 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactoryImpl.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/PredicateFactoryImpl.java
@@ -96,6 +96,12 @@ public class PredicateFactoryImpl implements PredicateFactory {
}
@Override
+ public Predicate createAttributeNotExistsSearch(Collection<? extends IAttributeType> attributeTypes) {
+ List<String> typeIds = getLongIds(attributeTypes);
+ return new Predicate(SearchMethod.NOT_EXISTS_TYPE, Arrays.asList("attrType"), typeIds);
+ }
+
+ @Override
public Predicate createRelationExistsSearch(Collection<? extends IRelationType> relationTypes) {
List<String> typeIds = getLongIds(relationTypes);
return new Predicate(SearchMethod.EXISTS_TYPE, Arrays.asList("relType"), typeIds);
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryBuilderImpl.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryBuilderImpl.java
index 9d623af4f40..f460d697765 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryBuilderImpl.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryBuilderImpl.java
@@ -162,6 +162,12 @@ public class QueryBuilderImpl implements QueryBuilder {
}
@Override
+ public QueryBuilder andNotExists(IAttributeType attributeType) {
+ predicates.add(predicateFactory.createAttributeNotExistsSearch(Collections.singleton(attributeType)));
+ return this;
+ }
+
+ @Override
public QueryBuilder andExists(IRelationType relationType) {
predicates.add(predicateFactory.createRelationExistsSearch(Collections.singleton(relationType)));
return this;

Back to the top