Merge branch 'release/2.21'
diff --git a/pom.xml b/pom.xml
index 0d50d10..c7d4a88 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
<packaging>pom</packaging>
<name>SCIM - Parent</name>
<description>Penn State's Open Source JavaEE implmentation of the SCIM version 2.0 specification (RFC7642, RFC7643 and RFC7644)</description>
diff --git a/scim-client/pom.xml b/scim-client/pom.xml
index 7350ac9..37d6851 100644
--- a/scim-client/pom.xml
+++ b/scim-client/pom.xml
@@ -3,7 +3,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-client</artifactId>
<name>SCIM - Client</name>
diff --git a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
index 4f04314..b9e216b 100644
--- a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
+++ b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
@@ -3,6 +3,7 @@
import java.util.Optional;
import java.util.function.Function;
+import javax.ws.rs.ProcessingException;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation;
@@ -166,6 +167,9 @@
throw new ScimException(errorResponse, status);
}
+ } catch (ProcessingException e) {
+ ErrorResponse er = new ErrorResponse(Status.INTERNAL_SERVER_ERROR, e.getMessage());
+ throw new ScimException(er, Status.INTERNAL_SERVER_ERROR);
} finally {
RestClientUtil.close(response);
}
diff --git a/scim-common/pom.xml b/scim-common/pom.xml
index db7b255..332954e 100644
--- a/scim-common/pom.xml
+++ b/scim-common/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-common</artifactId>
@@ -14,12 +14,12 @@
<dependency>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-spec-protocol</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</dependency>
<dependency>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-spec-schema</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</dependency>
</dependencies>
diff --git a/scim-compliance/pom.xml b/scim-compliance/pom.xml
index 98c32d1..9df4eb3 100644
--- a/scim-compliance/pom.xml
+++ b/scim-compliance/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-compliance</artifactId>
diff --git a/scim-compliance/scim-compliance-client/pom.xml b/scim-compliance/scim-compliance-client/pom.xml
index c253cec..4fd7d53 100644
--- a/scim-compliance/scim-compliance-client/pom.xml
+++ b/scim-compliance/scim-compliance-client/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-compliance</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-compliance-client</artifactId>
diff --git a/scim-compliance/scim-compliance-server/pom.xml b/scim-compliance/scim-compliance-server/pom.xml
index ad07c92..a32ff05 100644
--- a/scim-compliance/scim-compliance-server/pom.xml
+++ b/scim-compliance/scim-compliance-server/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-compliance</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-compliance-server</artifactId>
diff --git a/scim-errai/pom.xml b/scim-errai/pom.xml
index eb5e5eb..004e19f 100644
--- a/scim-errai/pom.xml
+++ b/scim-errai/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-errai</artifactId>
diff --git a/scim-server/pom.xml b/scim-server/pom.xml
index 7005c8c..eea5713 100644
--- a/scim-server/pom.xml
+++ b/scim-server/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-server</artifactId>
diff --git a/scim-server/scim-server-common/pom.xml b/scim-server/scim-server-common/pom.xml
index c53ee8f..7cb3adb 100644
--- a/scim-server/scim-server-common/pom.xml
+++ b/scim-server/scim-server-common/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-server</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-server-common</artifactId>
diff --git a/scim-server/scim-server-common/src/main/java/edu/psu/swe/scim/server/rest/BaseResourceTypeResourceImpl.java b/scim-server/scim-server-common/src/main/java/edu/psu/swe/scim/server/rest/BaseResourceTypeResourceImpl.java
index d66577d..d27d85c 100644
--- a/scim-server/scim-server-common/src/main/java/edu/psu/swe/scim/server/rest/BaseResourceTypeResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/edu/psu/swe/scim/server/rest/BaseResourceTypeResourceImpl.java
@@ -459,6 +459,8 @@
updated = provider.update(updateRequest);
} catch (UnableToUpdateResourceException e1) {
return createGenericExceptionResponse(e1, e1.getStatus());
+ } catch (Exception e1) {
+ return createGenericExceptionResponse(e1, Status.INTERNAL_SERVER_ERROR);
}
// Process Attributes
@@ -556,6 +558,8 @@
updated = provider.update(updateRequest);
} catch (UnableToUpdateResourceException e1) {
return createGenericExceptionResponse(e1, e1.getStatus());
+ } catch (Exception e1) {
+ return createGenericExceptionResponse(e1, Status.INTERNAL_SERVER_ERROR);
}
// Process Attributes
diff --git a/scim-server/scim-server-example/pom.xml b/scim-server/scim-server-example/pom.xml
index 38f1380..897bbda 100644
--- a/scim-server/scim-server-example/pom.xml
+++ b/scim-server/scim-server-example/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-server</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-server-examples</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-couchdb/pom.xml b/scim-server/scim-server-example/scim-server-couchdb/pom.xml
index 33a89b6..88af26a 100644
--- a/scim-server/scim-server-example/scim-server-couchdb/pom.xml
+++ b/scim-server/scim-server-example/scim-server-couchdb/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-server-examples</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-server-couchdb</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-memory/pom.xml b/scim-server/scim-server-example/scim-server-memory/pom.xml
index 58e3a90..4322dfb 100644
--- a/scim-server/scim-server-example/scim-server-memory/pom.xml
+++ b/scim-server/scim-server-example/scim-server-memory/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-server-examples</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-server-memory</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-rdbms/pom.xml b/scim-server/scim-server-example/scim-server-rdbms/pom.xml
index 1f3cea8..820e0d9 100644
--- a/scim-server/scim-server-example/scim-server-rdbms/pom.xml
+++ b/scim-server/scim-server-example/scim-server-rdbms/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-server-examples</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-server-rdbms</artifactId>
diff --git a/scim-spec/pom.xml b/scim-spec/pom.xml
index bd19178..c7e39b6 100644
--- a/scim-spec/pom.xml
+++ b/scim-spec/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-spec</artifactId>
diff --git a/scim-spec/scim-spec-protocol/pom.xml b/scim-spec/scim-spec-protocol/pom.xml
index 71d0eff..2414c2f 100644
--- a/scim-spec/scim-spec-protocol/pom.xml
+++ b/scim-spec/scim-spec-protocol/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-spec</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-spec-protocol</artifactId>
diff --git a/scim-spec/scim-spec-schema/pom.xml b/scim-spec/scim-spec-schema/pom.xml
index a1d371b..6ff0e70 100644
--- a/scim-spec/scim-spec-schema/pom.xml
+++ b/scim-spec/scim-spec-schema/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-spec</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-spec-schema</artifactId>
diff --git a/scim-spec/scim-spec-schema/src/main/java/edu/psu/swe/scim/spec/resources/PhoneNumber.java b/scim-spec/scim-spec-schema/src/main/java/edu/psu/swe/scim/spec/resources/PhoneNumber.java
index e6a2e95..e81b532 100644
--- a/scim-spec/scim-spec-schema/src/main/java/edu/psu/swe/scim/spec/resources/PhoneNumber.java
+++ b/scim-spec/scim-spec-schema/src/main/java/edu/psu/swe/scim/spec/resources/PhoneNumber.java
@@ -48,6 +48,10 @@
private static final String VISUAL_SEPARATORS = "[\\(\\)\\-\\.]";
+ @Getter
+ @Setter
+ private static boolean strict = true;
+
@ScimAttribute(description = "Phone number of the User")
String value;
@@ -119,35 +123,39 @@
throw new PhoneNumberParseException("null values are illegal for phone numbers");
}
- PhoneNumberLexer phoneNumberLexer = new PhoneNumberLexer(new ANTLRInputStream(value));
- PhoneNumberParser p = new PhoneNumberParser(new CommonTokenStream(phoneNumberLexer));
- p.setBuildParseTree(true);
-
- p.addErrorListener(new BaseErrorListener() {
- @Override
- public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) {
- throw new IllegalStateException("failed to parse at line " + line + " due to " + msg, e);
+ if (strict) {
+ PhoneNumberLexer phoneNumberLexer = new PhoneNumberLexer(new ANTLRInputStream(value));
+ PhoneNumberParser p = new PhoneNumberParser(new CommonTokenStream(phoneNumberLexer));
+ p.setBuildParseTree(true);
+
+ p.addErrorListener(new BaseErrorListener() {
+ @Override
+ public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) {
+ throw new IllegalStateException("failed to parse at line " + line + " due to " + msg, e);
+ }
+ });
+
+ PhoneNumberParseTreeListener tpl = new PhoneNumberParseTreeListener();
+ try {
+ ParseTree tree = p.phoneNumber();
+ ParseTreeWalker.DEFAULT.walk(tpl, tree);
+ } catch (IllegalStateException e) {
+ throw new PhoneNumberParseException(e);
}
- });
-
- PhoneNumberParseTreeListener tpl = new PhoneNumberParseTreeListener();
- try {
- ParseTree tree = p.phoneNumber();
- ParseTreeWalker.DEFAULT.walk(tpl, tree);
- } catch (IllegalStateException e) {
- throw new PhoneNumberParseException(e);
+
+ PhoneNumber parsedPhoneNumber = tpl.getPhoneNumber();
+
+ this.value = parsedPhoneNumber.getValue();
+ this.number = parsedPhoneNumber.getNumber();
+ this.extension = parsedPhoneNumber.getExtension();
+ this.subAddress = parsedPhoneNumber.getSubAddress();
+ this.phoneContext = parsedPhoneNumber.getPhoneContext();
+ this.params = parsedPhoneNumber.getParams();
+ this.isGlobalNumber = parsedPhoneNumber.isGlobalNumber();
+ this.isDomainPhoneContext = parsedPhoneNumber.isDomainPhoneContext();
+ } else {
+ this.value = value;
}
-
- PhoneNumber parsedPhoneNumber = tpl.getPhoneNumber();
-
- this.value = parsedPhoneNumber.getValue();
- this.number = parsedPhoneNumber.getNumber();
- this.extension = parsedPhoneNumber.getExtension();
- this.subAddress = parsedPhoneNumber.getSubAddress();
- this.phoneContext = parsedPhoneNumber.getPhoneContext();
- this.params = parsedPhoneNumber.getParams();
- this.isGlobalNumber = parsedPhoneNumber.isGlobalNumber();
- this.isDomainPhoneContext = parsedPhoneNumber.isDomainPhoneContext();
}
/*
diff --git a/scim-tools/pom.xml b/scim-tools/pom.xml
index 189c907..25742ce 100644
--- a/scim-tools/pom.xml
+++ b/scim-tools/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-parent</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-tools</artifactId>
diff --git a/scim-tools/scim-tools-cli/pom.xml b/scim-tools/scim-tools-cli/pom.xml
index 1fa7fd8..4f7c3bc 100644
--- a/scim-tools/scim-tools-cli/pom.xml
+++ b/scim-tools/scim-tools-cli/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-tools</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-tools-cli</artifactId>
diff --git a/scim-tools/scim-tools-common/pom.xml b/scim-tools/scim-tools-common/pom.xml
index 3cc4d08..64127fd 100644
--- a/scim-tools/scim-tools-common/pom.xml
+++ b/scim-tools/scim-tools-common/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-tools</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-tools-common</artifactId>
diff --git a/scim-tools/scim-tools-studio/pom.xml b/scim-tools/scim-tools-studio/pom.xml
index 480acb0..7a0134a 100644
--- a/scim-tools/scim-tools-studio/pom.xml
+++ b/scim-tools/scim-tools-studio/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>edu.psu.swe.scim</groupId>
<artifactId>scim-tools</artifactId>
- <version>2.20</version>
+ <version>2.21</version>
</parent>
<artifactId>scim-tools-studio</artifactId>