You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2014/08/05 13:20:02 UTC

svn commit: r1615910 [1/12] - in /syncope/trunk: ./ archetype/src/main/resources/ archetype/src/main/resources/archetype-resources/console/ archetype/src/main/resources/archetype-resources/core/ build-tools/src/main/resources/ client/src/main/java/org/...

Author: ilgrosso
Date: Tue Aug  5 11:20:00 2014
New Revision: 1615910

URL: http://svn.apache.org/r1615910
Log:
Merge from 1_2_X

Modified:
    syncope/trunk/   (props changed)
    syncope/trunk/archetype/src/main/resources/archetype-resources/console/pom.xml
    syncope/trunk/archetype/src/main/resources/archetype-resources/core/pom.xml
    syncope/trunk/archetype/src/main/resources/meta-pom.xml
    syncope/trunk/build-tools/src/main/resources/content.ldif
    syncope/trunk/client/src/main/java/org/apache/syncope/client/rest/RestClientExceptionMapper.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/AbstractBaseBean.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/SyncopeClientCompositeException.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/SyncopeClientException.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/SyncopeConstants.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/annotation/ClassList.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/annotation/FormAttributeField.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/annotation/SchemaList.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/mod/AbstractAttributableMod.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/mod/AttributeMod.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/mod/MembershipMod.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/mod/ReferenceMod.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/mod/ResourceAssociationMod.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/mod/RoleMod.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/mod/UserMod.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/report/AbstractReportletConf.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/report/ReportletConf.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/report/StaticReportletConf.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/report/UserReportletConf.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/ConfigurationService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/ConnectorService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/EntitlementService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/LoggerService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/NotificationService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/PolicyService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/ReportService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/ResourceService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/RoleService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/SchemaService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/TaskService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/services/WorkflowService.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AbstractAttributableTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AbstractExecTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AbstractPolicyTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AbstractSchemaTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AbstractSyncTaskTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AbstractTaskTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AccountPolicyTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/AttributeTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/ConfTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/ConnBundleTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/ConnInstanceTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/ConnObjectTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/DerSchemaTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/LoggerTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/MappingItemTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/MappingTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/MembershipTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/NotificationTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/NotificationTaskTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PasswordPolicyTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationStatus.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationTaskTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PushTaskTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/ReportExecTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/ReportTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/ResourceTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/RoleTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/SchedTaskTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/SchemaTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/SyncPolicyTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/SyncTaskTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/TaskExecTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/UserTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/VirSchemaTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/WorkflowFormPropertyTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/to/WorkflowFormTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/AbstractPolicySpec.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/AccountPolicySpec.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/AttributableType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/AttributeSchemaType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/AuditElements.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/AuditLoggerName.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/CipherAlgorithm.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ClientExceptionType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ConflictResolutionAction.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ConnConfPropSchema.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ConnConfProperty.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ConnParameterType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ConnectorCapability.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/EntityViolationType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/IntMappingType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/LoggerLevel.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/LoggerType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/MatchingRule.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/PasswordPolicySpec.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/PolicyType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/PropagationMode.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/PropagationTaskExecStatus.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ReportExecExportFormat.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ReportExecStatus.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/ResourceOperation.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SchemaType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SubjectType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SyncPolicySpec.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/TaskType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/TraceLevel.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/UnmatchingRule.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/WorkflowFormPropertyType.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/types/package-info.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/util/AttributableOperations.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/util/CollectionWrapper.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/CorrelationRuleClass.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/EntitlementTO.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/JobClass.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/MailTemplate.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/PropagationActionClass.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/PushActionClass.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/ReportletConfClass.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/SyncActionClass.java
    syncope/trunk/common/src/main/java/org/apache/syncope/common/wrap/Validator.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/search/AbstractSearchCond.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/search/AttributeCond.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/search/EntitlementCond.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/search/MembershipCond.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/search/ResourceCond.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/search/SearchCond.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/search/SubjectCond.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/QueryResourceInfoComparator.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConfigurationServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConnectorServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/EntitlementServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/LoggerServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/PolicyServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ResourceServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/RoleServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/TaskServiceImpl.java
    syncope/trunk/core/src/main/java/org/apache/syncope/core/services/WorkflowServiceImpl.java
    syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/WorkflowTestITCase.java
    syncope/trunk/core/src/test/resources/jboss/META-INF/MANIFEST.MF

Propchange: syncope/trunk/
------------------------------------------------------------------------------
  Merged /syncope/branches/1_2_X:r1615907-1615909

Modified: syncope/trunk/archetype/src/main/resources/archetype-resources/console/pom.xml
URL: http://svn.apache.org/viewvc/syncope/trunk/archetype/src/main/resources/archetype-resources/console/pom.xml?rev=1615910&r1=1615909&r2=1615910&view=diff
==============================================================================
--- syncope/trunk/archetype/src/main/resources/archetype-resources/console/pom.xml (original)
+++ syncope/trunk/archetype/src/main/resources/archetype-resources/console/pom.xml Tue Aug  5 11:20:00 2014
@@ -1,280 +1,280 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>${groupId}</groupId>
-    <artifactId>${rootArtifactId}</artifactId>
-    <version>${version}</version>
-  </parent>
-
-  <name>Apache Syncope sample project console</name>
-  <groupId>${groupId}</groupId>
-  <artifactId>${artifactId}</artifactId>
-  <packaging>war</packaging>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-client</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-console</artifactId>
-      <type>war</type>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-console</artifactId>
-      <classifier>classes</classifier>
-    </dependency>
-
-    <!-- TEST -->
-    <dependency>
-      <groupId>org.activiti</groupId>
-      <artifactId>activiti-webapp-explorer2</artifactId>            
-      <type>war</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-build-tools</artifactId>
-      <type>war</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.h2database</groupId>
-      <artifactId>h2</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.connid.bundles.soap</groupId>
-      <artifactId>wssample</artifactId>
-      <type>war</type>
-      <scope>test</scope>
-    </dependency>
-    <!-- /TEST -->    
-  </dependencies>
-
-  <build>
-    <finalName>syncope-console</finalName>
-
-    <plugins>
-      
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <inherited>true</inherited>
-        <executions>
-          <execution>
-            <id>set-bundles</id>
-            <phase>process-test-resources</phase>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-            
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <inherited>true</inherited>
-        <executions>
-          <execution>
-            <id>setupActivitiModeler</id>
-            <phase>process-test-resources</phase>
-            <configuration>
-              <target>
-                <unzip src="${settings.localRepository}/org/activiti/activiti-webapp-explorer2/${activiti.version}/activiti-webapp-explorer2-${activiti.version}.war"
-                       dest="${project.build.directory}/activiti-webapp-explorer2"/>
-                
-                <mkdir dir="${activiti-modeler.directory}"/>
-                
-                <mkdir dir="${activiti-modeler.directory}/editor"/>
-                <copy todir="${activiti-modeler.directory}/editor">
-                  <fileset dir="${project.build.directory}/activiti-webapp-explorer2/editor">
-                    <exclude name="oryx.js"/>
-                  </fileset>
-                </copy>
-                <copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/plugins.xml"
-                      todir="${activiti-modeler.directory}/editor"/>
-                <copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/stencilset.json"
-                      todir="${activiti-modeler.directory}/editor"/>
-                
-                <mkdir dir="${activiti-modeler.directory}/explorer"/>
-                <copy todir="${activiti-modeler.directory}/explorer">
-                  <fileset dir="${project.build.directory}/activiti-webapp-explorer2/explorer"/>
-                </copy>
-                
-                <mkdir dir="${activiti-modeler.directory}/libs"/>
-                <copy todir="${activiti-modeler.directory}/libs">
-                  <fileset dir="${project.build.directory}/activiti-webapp-explorer2/libs"/>
-                </copy>
-                
-                <fixcrlf srcdir="${project.build.directory}/activiti-webapp-explorer2/editor/" 
-                         includes="oryx.debug.js"
-                         eol="unix"/>
-                <patch patchfile="${basedir}/src/main/resources/oryx.debug.js.patch"
-                       originalfile="${project.build.directory}/activiti-webapp-explorer2/editor/oryx.debug.js"
-                       destfile="${activiti-modeler.directory}/editor/oryx.debug.js"/>
-                
-                <delete dir="${project.build.directory}/activiti-webapp-explorer2"/>
-              </target>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>setupTestWebapp</id>
-            <phase>pre-integration-test</phase>
-            <configuration>
-              <target>
-                <unzip src="${basedir}/../core/target/syncope.war" dest="${cargo.run.dir}"/>
-                <copy file="${project.build.directory}/test-classes/db.jsp" todir="${cargo.run.dir}"/>
-              </target>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>setupCSV</id>
-            <phase>pre-integration-test</phase>
-            <configuration>
-              <target>
-                <copy file="${project.build.directory}/test-classes/test.csv" 
-                      todir="${test.csvdir.path}" 
-                      overwrite="true"/>
-              </target>    
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.codehaus.cargo</groupId>
-        <artifactId>cargo-maven2-plugin</artifactId>
-        <inherited>true</inherited>
-        <configuration>
-          <container>
-            <dependencies>
-              <dependency>
-                <groupId>com.h2database</groupId>
-                <artifactId>h2</artifactId>
-              </dependency>
-            </dependencies>
-          </container>
-          <configuration>
-            <type>standalone</type>
-            <properties>
-              <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
-              <cargo.tomcat.ajp.port>${cargo.tomcat.ajp.port}</cargo.tomcat.ajp.port>
-              <cargo.rmi.port>${cargo.rmi.port}</cargo.rmi.port>
-
-              <cargo.jvmargs>-noverify -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs>
-            </properties>
-          </configuration>
-          <deployables>
-            <deployable>
-              <location>${cargo.run.dir}</location>
-              <properties>
-                <context>syncope</context>
-              </properties>
-            </deployable>
-            <deployable>
-              <location>${project.build.directory}/${project.build.finalName}.war</location>
-              <properties>
-                <context>syncope-console</context>
-              </properties>
-            </deployable>
-            <deployable>
-              <groupId>org.connid.bundles.soap</groupId>
-              <artifactId>wssample</artifactId>
-              <type>war</type>
-              <properties>
-                <context>wssample</context>
-              </properties>
-            </deployable>
-            <deployable>
-              <groupId>org.apache.syncope</groupId>
-              <artifactId>syncope-build-tools</artifactId>
-              <type>war</type>
-              <properties>
-                <context>syncope-build-tools</context>
-              </properties>
-            </deployable>
-          </deployables>
-        </configuration>
-      </plugin>
-            
-    </plugins>
-
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-
-    <testResources>
-      <testResource>
-        <directory>src/test/resources</directory>
-        <filtering>true</filtering>
-      </testResource>
-      <testResource>
-        <directory>../core/src/test/resources</directory>
-        <filtering>true</filtering>
-      </testResource>
-    </testResources>
-  </build>
-    
-  <profiles>
-    <profile>
-      <id>embedded</id>
-      
-      <properties>
-        <conf.directory>${project.build.directory}/test-classes</conf.directory>
-        <skipTests>true</skipTests>
-      </properties>
-      
-      <build>
-        <defaultGoal>clean verify cargo:run</defaultGoal>    
-      </build>
-    </profile>    
-  </profiles>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>${groupId}</groupId>
+    <artifactId>${rootArtifactId}</artifactId>
+    <version>${version}</version>
+  </parent>
+
+  <name>Apache Syncope sample project console</name>
+  <groupId>${groupId}</groupId>
+  <artifactId>${artifactId}</artifactId>
+  <packaging>war</packaging>
+
+  <dependencies>
+
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-client</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-console</artifactId>
+      <type>war</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-console</artifactId>
+      <classifier>classes</classifier>
+    </dependency>
+
+    <!-- TEST -->
+    <dependency>
+      <groupId>org.activiti</groupId>
+      <artifactId>activiti-webapp-explorer2</artifactId>            
+      <type>war</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-build-tools</artifactId>
+      <type>war</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.connid.bundles.soap</groupId>
+      <artifactId>wssample</artifactId>
+      <type>war</type>
+      <scope>test</scope>
+    </dependency>
+    <!-- /TEST -->    
+  </dependencies>
+
+  <build>
+    <finalName>syncope-console</finalName>
+
+    <plugins>
+      
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>set-bundles</id>
+            <phase>process-test-resources</phase>
+            <goals>
+              <goal>copy</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+            
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>setupActivitiModeler</id>
+            <phase>process-test-resources</phase>
+            <configuration>
+              <target>
+                <unzip src="${settings.localRepository}/org/activiti/activiti-webapp-explorer2/${activiti.version}/activiti-webapp-explorer2-${activiti.version}.war"
+                       dest="${project.build.directory}/activiti-webapp-explorer2"/>
+                
+                <mkdir dir="${activiti-modeler.directory}"/>
+                
+                <mkdir dir="${activiti-modeler.directory}/editor"/>
+                <copy todir="${activiti-modeler.directory}/editor">
+                  <fileset dir="${project.build.directory}/activiti-webapp-explorer2/editor">
+                    <exclude name="oryx.js"/>
+                  </fileset>
+                </copy>
+                <copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/plugins.xml"
+                      todir="${activiti-modeler.directory}/editor"/>
+                <copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/stencilset.json"
+                      todir="${activiti-modeler.directory}/editor"/>
+                
+                <mkdir dir="${activiti-modeler.directory}/explorer"/>
+                <copy todir="${activiti-modeler.directory}/explorer">
+                  <fileset dir="${project.build.directory}/activiti-webapp-explorer2/explorer"/>
+                </copy>
+                
+                <mkdir dir="${activiti-modeler.directory}/libs"/>
+                <copy todir="${activiti-modeler.directory}/libs">
+                  <fileset dir="${project.build.directory}/activiti-webapp-explorer2/libs"/>
+                </copy>
+                
+                <fixcrlf srcdir="${project.build.directory}/activiti-webapp-explorer2/editor/" 
+                         includes="oryx.debug.js"
+                         eol="unix"/>
+                <patch patchfile="${basedir}/src/main/resources/oryx.debug.js.patch"
+                       originalfile="${project.build.directory}/activiti-webapp-explorer2/editor/oryx.debug.js"
+                       destfile="${activiti-modeler.directory}/editor/oryx.debug.js"/>
+                
+                <delete dir="${project.build.directory}/activiti-webapp-explorer2"/>
+              </target>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>setupTestWebapp</id>
+            <phase>pre-integration-test</phase>
+            <configuration>
+              <target>
+                <unzip src="${basedir}/../core/target/syncope.war" dest="${cargo.run.dir}"/>
+                <copy file="${project.build.directory}/test-classes/db.jsp" todir="${cargo.run.dir}"/>
+              </target>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>setupCSV</id>
+            <phase>pre-integration-test</phase>
+            <configuration>
+              <target>
+                <copy file="${project.build.directory}/test-classes/test.csv" 
+                      todir="${test.csvdir.path}" 
+                      overwrite="true"/>
+              </target>    
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.codehaus.cargo</groupId>
+        <artifactId>cargo-maven2-plugin</artifactId>
+        <inherited>true</inherited>
+        <configuration>
+          <container>
+            <dependencies>
+              <dependency>
+                <groupId>com.h2database</groupId>
+                <artifactId>h2</artifactId>
+              </dependency>
+            </dependencies>
+          </container>
+          <configuration>
+            <type>standalone</type>
+            <properties>
+              <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
+              <cargo.tomcat.ajp.port>${cargo.tomcat.ajp.port}</cargo.tomcat.ajp.port>
+              <cargo.rmi.port>${cargo.rmi.port}</cargo.rmi.port>
+
+              <cargo.jvmargs>-noverify -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs>
+            </properties>
+          </configuration>
+          <deployables>
+            <deployable>
+              <location>${cargo.run.dir}</location>
+              <properties>
+                <context>syncope</context>
+              </properties>
+            </deployable>
+            <deployable>
+              <location>${project.build.directory}/${project.build.finalName}.war</location>
+              <properties>
+                <context>syncope-console</context>
+              </properties>
+            </deployable>
+            <deployable>
+              <groupId>org.connid.bundles.soap</groupId>
+              <artifactId>wssample</artifactId>
+              <type>war</type>
+              <properties>
+                <context>wssample</context>
+              </properties>
+            </deployable>
+            <deployable>
+              <groupId>org.apache.syncope</groupId>
+              <artifactId>syncope-build-tools</artifactId>
+              <type>war</type>
+              <properties>
+                <context>syncope-build-tools</context>
+              </properties>
+            </deployable>
+          </deployables>
+        </configuration>
+      </plugin>
+            
+    </plugins>
+
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+      </testResource>
+      <testResource>
+        <directory>../core/src/test/resources</directory>
+        <filtering>true</filtering>
+      </testResource>
+    </testResources>
+  </build>
+    
+  <profiles>
+    <profile>
+      <id>embedded</id>
+      
+      <properties>
+        <conf.directory>${project.build.directory}/test-classes</conf.directory>
+        <skipTests>true</skipTests>
+      </properties>
+      
+      <build>
+        <defaultGoal>clean verify cargo:run</defaultGoal>    
+      </build>
+    </profile>    
+  </profiles>
+</project>

Modified: syncope/trunk/archetype/src/main/resources/archetype-resources/core/pom.xml
URL: http://svn.apache.org/viewvc/syncope/trunk/archetype/src/main/resources/archetype-resources/core/pom.xml?rev=1615910&r1=1615909&r2=1615910&view=diff
==============================================================================
--- syncope/trunk/archetype/src/main/resources/archetype-resources/core/pom.xml (original)
+++ syncope/trunk/archetype/src/main/resources/archetype-resources/core/pom.xml Tue Aug  5 11:20:00 2014
@@ -1,322 +1,322 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>${groupId}</groupId>
-    <artifactId>${rootArtifactId}</artifactId>
-    <version>${version}</version>
-  </parent>
-
-  <name>Apache Syncope sample project core</name>
-  <groupId>${groupId}</groupId>
-  <artifactId>${artifactId}</artifactId>
-  <packaging>war</packaging>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-common</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-common</artifactId>
-      <classifier>javadoc</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-core</artifactId>
-      <type>war</type>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-core</artifactId>
-      <classifier>classes</classifier>
-    </dependency>
-
-    <!-- TEST -->
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-client</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.syncope</groupId>
-      <artifactId>syncope-build-tools</artifactId>
-      <type>war</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.connid.bundles.soap</groupId>
-      <artifactId>wssample</artifactId>
-      <type>war</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.h2database</groupId>
-      <artifactId>h2</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <!-- /TEST -->
-  </dependencies>
-
-  <build>
-    <finalName>syncope</finalName>
-
-    <plugins>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <inherited>true</inherited>
-        <executions>
-          <execution>
-            <id>set-bundles</id>
-            <phase>process-test-resources</phase>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-            
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-failsafe-plugin</artifactId>
-        <inherited>true</inherited>
-        <configuration>
-          <systemPropertyVariables>
-            <jaxrsContentType>${jaxrs.content.type}</jaxrsContentType>
-          </systemPropertyVariables>
-        </configuration>
-        <executions>
-          <execution>
-            <id>verify</id>
-            <goals>
-              <goal>verify</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <inherited>true</inherited>
-        <executions>
-          <execution>
-            <id>setupTestWebapp</id>
-            <phase>pre-integration-test</phase>
-            <configuration>
-              <target>
-                <unzip src="${project.build.directory}/${project.build.finalName}.war" dest="${cargo.run.dir}"/>
-                <copy file="${project.build.directory}/test-classes/db.jsp" todir="${cargo.run.dir}"/>
-              </target>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>setupCSV</id>
-            <phase>pre-integration-test</phase>
-            <configuration>
-              <target>
-                <copy file="${project.build.directory}/test-classes/test.csv" 
-                      todir="${test.csvdir.path}" 
-                      overwrite="true"/>
-              </target>    
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.codehaus.cargo</groupId>
-        <artifactId>cargo-maven2-plugin</artifactId>
-        <inherited>true</inherited>
-        <configuration>
-          <container>
-            <dependencies>
-              <dependency>
-                <groupId>com.h2database</groupId>
-                <artifactId>h2</artifactId>
-              </dependency>
-            </dependencies>
-          </container>
-          <configuration>
-            <type>standalone</type>
-            <properties>
-              <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
-              <cargo.jvmargs>-noverify -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs>
-            </properties>
-          </configuration>
-          <deployables>
-            <deployable>
-              <location>${cargo.run.dir}</location>
-              <properties>
-                <context>syncope</context>
-              </properties>
-            </deployable>
-            <deployable>
-              <groupId>org.connid.bundles.soap</groupId>
-              <artifactId>wssample</artifactId>
-              <type>war</type>
-              <properties>
-                <context>wssample</context>
-              </properties>
-            </deployable>
-            <deployable>
-              <groupId>org.apache.syncope</groupId>
-              <artifactId>syncope-build-tools</artifactId>
-              <type>war</type>
-              <properties>
-                <context>syncope-build-tools</context>
-              </properties>
-            </deployable>
-          </deployables>
-        </configuration>
-        <executions>
-          <execution>
-            <id>start-container</id>
-            <phase>pre-integration-test</phase>
-            <goals>
-              <goal>start</goal>
-            </goals>
-            <configuration>
-              <wait>false</wait>
-            </configuration>
-          </execution>
-          <execution>
-            <id>stop-container</id>
-            <phase>post-integration-test</phase>
-            <goals>
-              <goal>stop</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-            
-      <plugin>
-        <groupId>org.apache.openjpa</groupId>
-        <artifactId>openjpa-maven-plugin</artifactId>
-        <inherited>true</inherited>
-        <dependencies>
-          <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <version>${h2.version}</version>
-          </dependency>
-        </dependencies>
-        <configuration>
-          <persistenceXmlFile>${project.basedir}/src/main/resources/META-INF/spring-persistence.xml</persistenceXmlFile>
-          <includes>org/apache/syncope/core/persistence/beans/**/*.class</includes>
-          <connectionDriverName>org.springframework.jdbc.datasource.DriverManagerDataSource</connectionDriverName>
-          <connectionProperties>
-            driverClassName=org.h2.Driver,
-            url=jdbc:h2:mem:syncopedb
-            username=sa,
-            password=
-          </connectionProperties>
-        </configuration>
-        <executions>
-          <execution>
-            <id>enhancer</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>enhance</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-
-    <testResources>
-      <testResource>
-        <directory>src/test/resources</directory>
-        <filtering>true</filtering>
-      </testResource>
-    </testResources>
-  </build>
-  
-  <profiles>
-    <profile>
-      <id>debug</id>
-      
-      <properties>
-        <skipTests>true</skipTests>
-      </properties>
-      
-      <build>
-        <defaultGoal>clean verify cargo:run</defaultGoal>
-
-        <plugins>
-          <plugin>
-            <groupId>org.codehaus.cargo</groupId>
-            <artifactId>cargo-maven2-plugin</artifactId>
-            <inherited>true</inherited>
-            <configuration>
-              <configuration>
-                <properties>
-                  <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-                    -noverify -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs>
-                </properties>
-              </configuration>
-            </configuration>
-            <executions>
-              <execution>
-                <id>start-container</id>
-                <phase>none</phase>
-              </execution>
-              <execution>
-                <id>stop-container</id>
-                <phase>none</phase>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>${groupId}</groupId>
+    <artifactId>${rootArtifactId}</artifactId>
+    <version>${version}</version>
+  </parent>
+
+  <name>Apache Syncope sample project core</name>
+  <groupId>${groupId}</groupId>
+  <artifactId>${artifactId}</artifactId>
+  <packaging>war</packaging>
+
+  <dependencies>
+
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-common</artifactId>
+      <classifier>javadoc</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-core</artifactId>
+      <type>war</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-core</artifactId>
+      <classifier>classes</classifier>
+    </dependency>
+
+    <!-- TEST -->
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-client</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.syncope</groupId>
+      <artifactId>syncope-build-tools</artifactId>
+      <type>war</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.connid.bundles.soap</groupId>
+      <artifactId>wssample</artifactId>
+      <type>war</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.h2database</groupId>
+      <artifactId>h2</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <!-- /TEST -->
+  </dependencies>
+
+  <build>
+    <finalName>syncope</finalName>
+
+    <plugins>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>set-bundles</id>
+            <phase>process-test-resources</phase>
+            <goals>
+              <goal>copy</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+            
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <inherited>true</inherited>
+        <configuration>
+          <systemPropertyVariables>
+            <jaxrsContentType>${jaxrs.content.type}</jaxrsContentType>
+          </systemPropertyVariables>
+        </configuration>
+        <executions>
+          <execution>
+            <id>verify</id>
+            <goals>
+              <goal>verify</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>setupTestWebapp</id>
+            <phase>pre-integration-test</phase>
+            <configuration>
+              <target>
+                <unzip src="${project.build.directory}/${project.build.finalName}.war" dest="${cargo.run.dir}"/>
+                <copy file="${project.build.directory}/test-classes/db.jsp" todir="${cargo.run.dir}"/>
+              </target>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>setupCSV</id>
+            <phase>pre-integration-test</phase>
+            <configuration>
+              <target>
+                <copy file="${project.build.directory}/test-classes/test.csv" 
+                      todir="${test.csvdir.path}" 
+                      overwrite="true"/>
+              </target>    
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.codehaus.cargo</groupId>
+        <artifactId>cargo-maven2-plugin</artifactId>
+        <inherited>true</inherited>
+        <configuration>
+          <container>
+            <dependencies>
+              <dependency>
+                <groupId>com.h2database</groupId>
+                <artifactId>h2</artifactId>
+              </dependency>
+            </dependencies>
+          </container>
+          <configuration>
+            <type>standalone</type>
+            <properties>
+              <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
+              <cargo.jvmargs>-noverify -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs>
+            </properties>
+          </configuration>
+          <deployables>
+            <deployable>
+              <location>${cargo.run.dir}</location>
+              <properties>
+                <context>syncope</context>
+              </properties>
+            </deployable>
+            <deployable>
+              <groupId>org.connid.bundles.soap</groupId>
+              <artifactId>wssample</artifactId>
+              <type>war</type>
+              <properties>
+                <context>wssample</context>
+              </properties>
+            </deployable>
+            <deployable>
+              <groupId>org.apache.syncope</groupId>
+              <artifactId>syncope-build-tools</artifactId>
+              <type>war</type>
+              <properties>
+                <context>syncope-build-tools</context>
+              </properties>
+            </deployable>
+          </deployables>
+        </configuration>
+        <executions>
+          <execution>
+            <id>start-container</id>
+            <phase>pre-integration-test</phase>
+            <goals>
+              <goal>start</goal>
+            </goals>
+            <configuration>
+              <wait>false</wait>
+            </configuration>
+          </execution>
+          <execution>
+            <id>stop-container</id>
+            <phase>post-integration-test</phase>
+            <goals>
+              <goal>stop</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+            
+      <plugin>
+        <groupId>org.apache.openjpa</groupId>
+        <artifactId>openjpa-maven-plugin</artifactId>
+        <inherited>true</inherited>
+        <dependencies>
+          <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+            <version>${h2.version}</version>
+          </dependency>
+        </dependencies>
+        <configuration>
+          <persistenceXmlFile>${project.basedir}/src/main/resources/META-INF/spring-persistence.xml</persistenceXmlFile>
+          <includes>org/apache/syncope/core/persistence/beans/**/*.class</includes>
+          <connectionDriverName>org.springframework.jdbc.datasource.DriverManagerDataSource</connectionDriverName>
+          <connectionProperties>
+            driverClassName=org.h2.Driver,
+            url=jdbc:h2:mem:syncopedb
+            username=sa,
+            password=
+          </connectionProperties>
+        </configuration>
+        <executions>
+          <execution>
+            <id>enhancer</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>enhance</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+    </plugins>
+
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+      </testResource>
+    </testResources>
+  </build>
+  
+  <profiles>
+    <profile>
+      <id>debug</id>
+      
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+      
+      <build>
+        <defaultGoal>clean verify cargo:run</defaultGoal>
+
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <inherited>true</inherited>
+            <configuration>
+              <configuration>
+                <properties>
+                  <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
+                    -noverify -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs>
+                </properties>
+              </configuration>
+            </configuration>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>none</phase>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>none</phase>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

Modified: syncope/trunk/archetype/src/main/resources/meta-pom.xml
URL: http://svn.apache.org/viewvc/syncope/trunk/archetype/src/main/resources/meta-pom.xml?rev=1615910&r1=1615909&r2=1615910&view=diff
==============================================================================
--- syncope/trunk/archetype/src/main/resources/meta-pom.xml (original)
+++ syncope/trunk/archetype/src/main/resources/meta-pom.xml Tue Aug  5 11:20:00 2014
@@ -1,165 +1,165 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-         http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.syncope</groupId>
-    <artifactId>syncope</artifactId>
-    <version></version>
-  </parent>
-
-  <properties>
-    <syncope.version></syncope.version>
-    <secretKey>${secretKey}</secretKey>
-    <anonymousKey>${anonymousKey}</anonymousKey>
-  </properties>
-
-  <name>Apache Syncope sample project</name>
-  <groupId>${groupId}</groupId>
-  <artifactId>${artifactId}</artifactId>
-  <version>${version}</version>
-  <packaging>pom</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-common</artifactId>
-        <version>${syncope.version}</version>
-      </dependency> 
- 
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-common</artifactId>
-        <version>${syncope.version}</version>
-        <classifier>javadoc</classifier>
-      </dependency>
-
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-client</artifactId>
-        <version>${syncope.version}</version>
-      </dependency> 
-
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-build-tools</artifactId>
-        <version>${syncope.version}</version>
-        <type>war</type>
-        <scope>test</scope>
-      </dependency> 
-            
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-core</artifactId>
-        <version>${syncope.version}</version>
-        <type>war</type>
-      </dependency> 
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-core</artifactId>
-        <version>${syncope.version}</version>
-        <classifier>classes</classifier>
-        <scope>provided</scope>
-      </dependency> 
-
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-console</artifactId>
-        <version>${syncope.version}</version>
-        <type>war</type>
-      </dependency> 
-      <dependency>
-        <groupId>org.apache.syncope</groupId>
-        <artifactId>syncope-console</artifactId>
-        <version>${syncope.version}</version>
-        <classifier>classes</classifier>
-        <scope>provided</scope>
-      </dependency> 
-    </dependencies>
-  </dependencyManagement>
-    
-  <build>
-    
-    <pluginManagement>
-      <plugins>
-        <!-- Disable LICENSE / NOTICE inclusion: see SYNCOPE-84 -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-war-plugin</artifactId>
-          <inherited>false</inherited>
-          <configuration>
-            <webResources>
-              <resource>
-                <directory>src/main/webapp</directory>
-                <includes>
-                  <include>**/*.jsp</include>
-                </includes>
-                <filtering>true</filtering>
-              </resource>
-            </webResources>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    
-    <!-- Disable legal check for generated projects: see SYNCOPE-84 -->
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>ianal-maven-plugin</artifactId>
-        <inherited>true</inherited>
-        <executions>
-          <execution>            
-            <goals>
-              <goal>verify-legal-files</goal>
-            </goals>
-            <phase>none</phase>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <inherited>true</inherited>
-        <executions>
-          <execution>
-            <goals>
-              <goal>check</goal>
-            </goals>
-            <phase>none</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-    
-  <modules>
-    <module>core</module>
-    <module>console</module>
-  </modules>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+         http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.syncope</groupId>
+    <artifactId>syncope</artifactId>
+    <version></version>
+  </parent>
+
+  <properties>
+    <syncope.version></syncope.version>
+    <secretKey>${secretKey}</secretKey>
+    <anonymousKey>${anonymousKey}</anonymousKey>
+  </properties>
+
+  <name>Apache Syncope sample project</name>
+  <groupId>${groupId}</groupId>
+  <artifactId>${artifactId}</artifactId>
+  <version>${version}</version>
+  <packaging>pom</packaging>
+
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-common</artifactId>
+        <version>${syncope.version}</version>
+      </dependency> 
+ 
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-common</artifactId>
+        <version>${syncope.version}</version>
+        <classifier>javadoc</classifier>
+      </dependency>
+
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-client</artifactId>
+        <version>${syncope.version}</version>
+      </dependency> 
+
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-build-tools</artifactId>
+        <version>${syncope.version}</version>
+        <type>war</type>
+        <scope>test</scope>
+      </dependency> 
+            
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-core</artifactId>
+        <version>${syncope.version}</version>
+        <type>war</type>
+      </dependency> 
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-core</artifactId>
+        <version>${syncope.version}</version>
+        <classifier>classes</classifier>
+        <scope>provided</scope>
+      </dependency> 
+
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-console</artifactId>
+        <version>${syncope.version}</version>
+        <type>war</type>
+      </dependency> 
+      <dependency>
+        <groupId>org.apache.syncope</groupId>
+        <artifactId>syncope-console</artifactId>
+        <version>${syncope.version}</version>
+        <classifier>classes</classifier>
+        <scope>provided</scope>
+      </dependency> 
+    </dependencies>
+  </dependencyManagement>
+    
+  <build>
+    
+    <pluginManagement>
+      <plugins>
+        <!-- Disable LICENSE / NOTICE inclusion: see SYNCOPE-84 -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-war-plugin</artifactId>
+          <inherited>false</inherited>
+          <configuration>
+            <webResources>
+              <resource>
+                <directory>src/main/webapp</directory>
+                <includes>
+                  <include>**/*.jsp</include>
+                </includes>
+                <filtering>true</filtering>
+              </resource>
+            </webResources>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    
+    <!-- Disable legal check for generated projects: see SYNCOPE-84 -->
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>ianal-maven-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>            
+            <goals>
+              <goal>verify-legal-files</goal>
+            </goals>
+            <phase>none</phase>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <goals>
+              <goal>check</goal>
+            </goals>
+            <phase>none</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+    
+  <modules>
+    <module>core</module>
+    <module>console</module>
+  </modules>
+
+</project>

Modified: syncope/trunk/build-tools/src/main/resources/content.ldif
URL: http://svn.apache.org/viewvc/syncope/trunk/build-tools/src/main/resources/content.ldif?rev=1615910&r1=1615909&r2=1615910&view=diff
==============================================================================
--- syncope/trunk/build-tools/src/main/resources/content.ldif (original)
+++ syncope/trunk/build-tools/src/main/resources/content.ldif Tue Aug  5 11:20:00 2014
@@ -45,13 +45,13 @@ uid: syncFromLDAP
 userpassword:: cGFzc3dvcmQxMjM=
 givenname: syncFromLDAP
 registeredAddress:  5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8
-jpegPhoto:: /9j/4AAQSkZJRgABAQEBKwErAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoH
- BwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQk
- UDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wg
- ARCAAEAAQDAREAAhEBAxEB/8QAFAABAAAAAAAAAAAAAAAAAAAACP/EABQBAQAAAAAAAAAAAAAAA
- AAAAAD/2gAMAwEAAhADEAAAAUuf/8QAFhABAQEAAAAAAAAAAAAAAAAAAwAS/9oACAEBAAEFAiLV
- /8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwF//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/
- aAAgBAgEBPwF//8QAGhAAAQUBAAAAAAAAAAAAAAAAAgABESEiQf/aAAgBAQAGPwI9k2orq//EAB
- kQAAMAAwAAAAAAAAAAAAAAAAERIQBBYf/aAAgBAQABPyF20CYlpT3P/9oADAMBAAIAAwAAABCf/
- 8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPxB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/a
+jpegPhoto:: /9j/4AAQSkZJRgABAQEBKwErAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoH
+ BwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQk
+ UDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wg
+ ARCAAEAAQDAREAAhEBAxEB/8QAFAABAAAAAAAAAAAAAAAAAAAACP/EABQBAQAAAAAAAAAAAAAAA
+ AAAAAD/2gAMAwEAAhADEAAAAUuf/8QAFhABAQEAAAAAAAAAAAAAAAAAAwAS/9oACAEBAAEFAiLV
+ /8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPwF//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/
+ aAAgBAgEBPwF//8QAGhAAAQUBAAAAAAAAAAAAAAAAAgABESEiQf/aAAgBAQAGPwI9k2orq//EAB
+ kQAAMAAwAAAAAAAAAAAAAAAAERIQBBYf/aAAgBAQABPyF20CYlpT3P/9oADAMBAAIAAwAAABCf/
+ 8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAwEBPxB//8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/a
  AAgBAgEBPxB//8QAGhABAAIDAQAAAAAAAAAAAAAAAREhAEFRYf/aAAgBAQABPxCUKGDcAUFrvhoz/9k=

Modified: syncope/trunk/client/src/main/java/org/apache/syncope/client/rest/RestClientExceptionMapper.java
URL: http://svn.apache.org/viewvc/syncope/trunk/client/src/main/java/org/apache/syncope/client/rest/RestClientExceptionMapper.java?rev=1615910&r1=1615909&r2=1615910&view=diff
==============================================================================
--- syncope/trunk/client/src/main/java/org/apache/syncope/client/rest/RestClientExceptionMapper.java (original)
+++ syncope/trunk/client/src/main/java/org/apache/syncope/client/rest/RestClientExceptionMapper.java Tue Aug  5 11:20:00 2014
@@ -1,126 +1,126 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.rest;
-
-import java.security.AccessControlException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
-import javax.xml.ws.WebServiceException;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.cxf.jaxrs.client.ResponseExceptionMapper;
-import org.apache.syncope.common.types.ClientExceptionType;
-import org.apache.syncope.common.types.RESTHeaders;
-import org.apache.syncope.common.SyncopeClientCompositeException;
-import org.apache.syncope.common.SyncopeClientException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Provider
-public class RestClientExceptionMapper implements ExceptionMapper<Exception>, ResponseExceptionMapper<Exception> {
-
-    private static final Logger LOG = LoggerFactory.getLogger(RestClientExceptionMapper.class);
-
-    @Override
-    public Response toResponse(final Exception exception) {
-        throw new UnsupportedOperationException(
-                "Call of toResponse() method is not expected in RestClientExceptionnMapper");
-    }
-
-    @Override
-    public Exception fromResponse(final Response response) {
-        final int statusCode = response.getStatus();
-        Exception ex;
-
-        // 1. Check for client (possibly composite) exception in HTTP header
-        SyncopeClientCompositeException scce = checkSyncopeClientCompositeException(response);
-        if (scce != null) {
-            if (scce.getExceptions().size() == 1) {
-                ex = scce.getExceptions().iterator().next();
-            } else {
-                ex = scce;
-            }
-        } // 2. Map SC_UNAUTHORIZED
-        else if (statusCode == Response.Status.UNAUTHORIZED.getStatusCode()) {
-            ex = new AccessControlException("Remote unauthorized exception");
-        } // 3. Map SC_BAD_REQUEST
-        else if (statusCode == Response.Status.BAD_REQUEST.getStatusCode()) {
-            ex = new BadRequestException();
-        } // 4. All other codes are mapped to runtime exception with HTTP code information
-        else {
-            ex = new WebServiceException(String.format("Remote exception with status code: %s",
-                    Response.Status.fromStatusCode(statusCode).name()));
-        }
-        LOG.error("Exception thrown by REST methods: " + ex.getMessage(), ex);
-        return ex;
-    }
-
-    private SyncopeClientCompositeException checkSyncopeClientCompositeException(final Response response) {
-        List<Object> exTypesInHeaders = response.getHeaders().get(RESTHeaders.ERROR_CODE);
-        if (exTypesInHeaders == null) {
-            LOG.debug("No " + RESTHeaders.ERROR_CODE + " provided");
-            return null;
-        }
-
-        final SyncopeClientCompositeException compException = SyncopeClientException.buildComposite();
-
-        final Set<String> handledExceptions = new HashSet<String>();
-        for (Object exceptionTypeValue : exTypesInHeaders) {
-            final String exTypeAsString = (String) exceptionTypeValue;
-            ClientExceptionType exceptionType = null;
-            try {
-                exceptionType = ClientExceptionType.fromHeaderValue(exTypeAsString);
-            } catch (IllegalArgumentException e) {
-                LOG.error("Unexpected value of " + RESTHeaders.ERROR_CODE + ": " + exTypeAsString, e);
-            }
-            if (exceptionType != null) {
-                handledExceptions.add(exTypeAsString);
-
-                final SyncopeClientException clientException = SyncopeClientException.build(exceptionType);
-
-                if (response.getHeaders().get(RESTHeaders.ERROR_INFO) != null
-                        && !response.getHeaders().get(RESTHeaders.ERROR_INFO).isEmpty()) {
-
-                    for (Object value : response.getHeaders().get(RESTHeaders.ERROR_INFO)) {
-                        final String element = value.toString();
-                        if (element.startsWith(exceptionType.getHeaderValue())) {
-                            clientException.getElements().add(StringUtils.substringAfter(value.toString(), ":"));
-                        }
-                    }
-                }
-                compException.addException(clientException);
-            }
-        }
-
-        exTypesInHeaders.removeAll(handledExceptions);
-        if (!exTypesInHeaders.isEmpty()) {
-            LOG.error("Unmanaged exceptions: " + exTypesInHeaders);
-        }
-
-        if (compException.hasExceptions()) {
-            return compException;
-        }
-
-        return null;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.rest;
+
+import java.security.AccessControlException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import javax.ws.rs.BadRequestException;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.ext.ExceptionMapper;
+import javax.ws.rs.ext.Provider;
+import javax.xml.ws.WebServiceException;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.cxf.jaxrs.client.ResponseExceptionMapper;
+import org.apache.syncope.common.types.ClientExceptionType;
+import org.apache.syncope.common.types.RESTHeaders;
+import org.apache.syncope.common.SyncopeClientCompositeException;
+import org.apache.syncope.common.SyncopeClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Provider
+public class RestClientExceptionMapper implements ExceptionMapper<Exception>, ResponseExceptionMapper<Exception> {
+
+    private static final Logger LOG = LoggerFactory.getLogger(RestClientExceptionMapper.class);
+
+    @Override
+    public Response toResponse(final Exception exception) {
+        throw new UnsupportedOperationException(
+                "Call of toResponse() method is not expected in RestClientExceptionnMapper");
+    }
+
+    @Override
+    public Exception fromResponse(final Response response) {
+        final int statusCode = response.getStatus();
+        Exception ex;
+
+        // 1. Check for client (possibly composite) exception in HTTP header
+        SyncopeClientCompositeException scce = checkSyncopeClientCompositeException(response);
+        if (scce != null) {
+            if (scce.getExceptions().size() == 1) {
+                ex = scce.getExceptions().iterator().next();
+            } else {
+                ex = scce;
+            }
+        } // 2. Map SC_UNAUTHORIZED
+        else if (statusCode == Response.Status.UNAUTHORIZED.getStatusCode()) {
+            ex = new AccessControlException("Remote unauthorized exception");
+        } // 3. Map SC_BAD_REQUEST
+        else if (statusCode == Response.Status.BAD_REQUEST.getStatusCode()) {
+            ex = new BadRequestException();
+        } // 4. All other codes are mapped to runtime exception with HTTP code information
+        else {
+            ex = new WebServiceException(String.format("Remote exception with status code: %s",
+                    Response.Status.fromStatusCode(statusCode).name()));
+        }
+        LOG.error("Exception thrown by REST methods: " + ex.getMessage(), ex);
+        return ex;
+    }
+
+    private SyncopeClientCompositeException checkSyncopeClientCompositeException(final Response response) {
+        List<Object> exTypesInHeaders = response.getHeaders().get(RESTHeaders.ERROR_CODE);
+        if (exTypesInHeaders == null) {
+            LOG.debug("No " + RESTHeaders.ERROR_CODE + " provided");
+            return null;
+        }
+
+        final SyncopeClientCompositeException compException = SyncopeClientException.buildComposite();
+
+        final Set<String> handledExceptions = new HashSet<String>();
+        for (Object exceptionTypeValue : exTypesInHeaders) {
+            final String exTypeAsString = (String) exceptionTypeValue;
+            ClientExceptionType exceptionType = null;
+            try {
+                exceptionType = ClientExceptionType.fromHeaderValue(exTypeAsString);
+            } catch (IllegalArgumentException e) {
+                LOG.error("Unexpected value of " + RESTHeaders.ERROR_CODE + ": " + exTypeAsString, e);
+            }
+            if (exceptionType != null) {
+                handledExceptions.add(exTypeAsString);
+
+                final SyncopeClientException clientException = SyncopeClientException.build(exceptionType);
+
+                if (response.getHeaders().get(RESTHeaders.ERROR_INFO) != null
+                        && !response.getHeaders().get(RESTHeaders.ERROR_INFO).isEmpty()) {
+
+                    for (Object value : response.getHeaders().get(RESTHeaders.ERROR_INFO)) {
+                        final String element = value.toString();
+                        if (element.startsWith(exceptionType.getHeaderValue())) {
+                            clientException.getElements().add(StringUtils.substringAfter(value.toString(), ":"));
+                        }
+                    }
+                }
+                compException.addException(clientException);
+            }
+        }
+
+        exTypesInHeaders.removeAll(handledExceptions);
+        if (!exTypesInHeaders.isEmpty()) {
+            LOG.error("Unmanaged exceptions: " + exTypesInHeaders);
+        }
+
+        if (compException.hasExceptions()) {
+            return compException;
+        }
+
+        return null;
+    }
+}

Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/AbstractBaseBean.java
URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/AbstractBaseBean.java?rev=1615910&r1=1615909&r2=1615910&view=diff
==============================================================================
--- syncope/trunk/common/src/main/java/org/apache/syncope/common/AbstractBaseBean.java (original)
+++ syncope/trunk/common/src/main/java/org/apache/syncope/common/AbstractBaseBean.java Tue Aug  5 11:20:00 2014
@@ -1,54 +1,54 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.common;
-
-import java.io.Serializable;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import org.apache.syncope.common.to.AbstractTaskTO;
-import org.apache.syncope.common.to.ReportTO;
-import org.apache.syncope.common.to.RoleTO;
-import org.apache.syncope.common.to.UserTO;
-
-@XmlType
-// Reporting here only classes used via PagedResult
-@XmlSeeAlso({ AbstractTaskTO.class, ReportTO.class, RoleTO.class, UserTO.class })
-public abstract class AbstractBaseBean implements Serializable {
-
-    private static final long serialVersionUID = 3119542005279892164L;
-
-    @Override
-    public boolean equals(final Object obj) {
-        return EqualsBuilder.reflectionEquals(this, obj);
-    }
-
-    @Override
-    public int hashCode() {
-        return HashCodeBuilder.reflectionHashCode(this);
-    }
-
-    @Override
-    public String toString() {
-        return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common;
+
+import java.io.Serializable;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.apache.syncope.common.to.AbstractTaskTO;
+import org.apache.syncope.common.to.ReportTO;
+import org.apache.syncope.common.to.RoleTO;
+import org.apache.syncope.common.to.UserTO;
+
+@XmlType
+// Reporting here only classes used via PagedResult
+@XmlSeeAlso({ AbstractTaskTO.class, ReportTO.class, RoleTO.class, UserTO.class })
+public abstract class AbstractBaseBean implements Serializable {
+
+    private static final long serialVersionUID = 3119542005279892164L;
+
+    @Override
+    public boolean equals(final Object obj) {
+        return EqualsBuilder.reflectionEquals(this, obj);
+    }
+
+    @Override
+    public int hashCode() {
+        return HashCodeBuilder.reflectionHashCode(this);
+    }
+
+    @Override
+    public String toString() {
+        return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+    }
+}