Author: ilgrosso
Date: Wed Dec 26 15:43:40 2012
New Revision: 1425956

URL: http://svn.apache.org/viewvc?rev=1425956&view=rev
Log:
[SYNCOPE-251] Various fixes and improvements: now adding CXF deps doesn't 
generate test failures

Added:
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java
   (with props)
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/XMLSerializer.java
      - copied, changed from r1425660, 
syncope/trunk/client/src/main/java/org/apache/syncope/client/util/XMLSerializer.java
Removed:
    
syncope/trunk/client/src/main/java/org/apache/syncope/client/util/XMLSerializer.java
Modified:
    syncope/trunk/client/pom.xml
    
syncope/trunk/client/src/main/java/org/apache/syncope/client/validation/SyncopeClientErrorHandler.java
    
syncope/trunk/client/src/main/java/org/apache/syncope/types/AuditLoggerName.java
    
syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
    syncope/trunk/core/pom.xml
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/init/SpringContextInitializer.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ConnInstance.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ExternalResource.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Notification.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Policy.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/PropagationTask.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ReportletConfInstance.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncTask.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/UserRequest.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java
    
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/ConnBundleManager.java
    syncope/trunk/core/src/test/java/org/apache/syncope/core/AbstractTest.java
    
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ConnInstanceTest.java
    
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
    
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java
    syncope/trunk/core/src/test/resources/content.xml
    syncope/trunk/pom.xml

Modified: syncope/trunk/client/pom.xml
URL: 
http://svn.apache.org/viewvc/syncope/trunk/client/pom.xml?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- syncope/trunk/client/pom.xml (original)
+++ syncope/trunk/client/pom.xml Wed Dec 26 15:43:40 2012
@@ -48,7 +48,7 @@ under the License.
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
     </dependency>
-    
+
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-webmvc</artifactId>
@@ -60,15 +60,10 @@ under the License.
     </dependency>
 
     <dependency>
-      <groupId>com.thoughtworks.xstream</groupId>
-      <artifactId>xstream</artifactId>
-    </dependency>
-
-    <dependency>
       <groupId>org.apache.httpcomponents</groupId>
       <artifactId>httpclient</artifactId>
     </dependency>
-
+    
     <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-core</artifactId>
@@ -101,7 +96,6 @@ under the License.
               
org.apache.syncope*;version=${project.version};-split-package:=merge-first
             </Export-Package>
             <Import-Package>
-              com.thoughtworks.xstream;version="[1.4,2)",
               org.apache.commons.lang*;version="[2.6,3)",
               org.apache.http*;version="[4,5)",
               org.codehaus.jackson.annotate;version="[1.9,2)",

Modified: 
syncope/trunk/client/src/main/java/org/apache/syncope/client/validation/SyncopeClientErrorHandler.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/client/src/main/java/org/apache/syncope/client/validation/SyncopeClientErrorHandler.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/client/src/main/java/org/apache/syncope/client/validation/SyncopeClientErrorHandler.java
 (original)
+++ 
syncope/trunk/client/src/main/java/org/apache/syncope/client/validation/SyncopeClientErrorHandler.java
 Wed Dec 26 15:43:40 2012
@@ -23,12 +23,12 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import org.apache.commons.lang.ArrayUtils;
+import org.apache.syncope.types.SyncopeClientExceptionType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.client.ClientHttpResponse;
 import org.springframework.web.client.DefaultResponseErrorHandler;
-import org.apache.syncope.types.SyncopeClientExceptionType;
 
 public class SyncopeClientErrorHandler extends DefaultResponseErrorHandler {
 

Modified: 
syncope/trunk/client/src/main/java/org/apache/syncope/types/AuditLoggerName.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/client/src/main/java/org/apache/syncope/types/AuditLoggerName.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/client/src/main/java/org/apache/syncope/types/AuditLoggerName.java
 (original)
+++ 
syncope/trunk/client/src/main/java/org/apache/syncope/types/AuditLoggerName.java
 Wed Dec 26 15:43:40 2012
@@ -19,13 +19,13 @@
 package org.apache.syncope.types;
 
 import java.text.ParseException;
+import org.apache.commons.lang.StringUtils;
 import org.apache.syncope.client.AbstractBaseBean;
 import org.apache.syncope.types.AuditElements.Category;
 import org.apache.syncope.types.AuditElements.Result;
 import org.codehaus.jackson.annotate.JsonCreator;
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.springframework.util.StringUtils;
 
 public class AuditLoggerName extends AbstractBaseBean {
 
@@ -76,7 +76,7 @@ public class AuditLoggerName extends Abs
     public static AuditLoggerName fromLoggerName(final String loggerName)
             throws IllegalArgumentException, ParseException {
 
-        if (!StringUtils.hasText(loggerName)) {
+        if (StringUtils.isBlank(loggerName)) {
             throw new IllegalArgumentException("Null value not permitted");
         }
 

Modified: 
syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
 (original)
+++ 
syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
 Wed Dec 26 15:43:40 2012
@@ -29,7 +29,7 @@ public class ConnInstanceTestITCase exte
     private static String connidSoapVersion;
 
     @BeforeClass
-    public static void init() {
+    public static void init() throws IOException {
         Properties props = new Properties();
         InputStream propStream = null;
         try {
@@ -40,11 +40,7 @@ public class ConnInstanceTestITCase exte
             LOG.error("Could not load bundles.properties", e);
         } finally {
             if (propStream != null) {
-                try {
-                    propStream.close();
-                } catch (IOException e) {
-                    LOG.error("While reading bundles.properties", e);
-                }
+                propStream.close();
             }
         }
         assertNotNull(connidSoapVersion);

Modified: syncope/trunk/core/pom.xml
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/pom.xml?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- syncope/trunk/core/pom.xml (original)
+++ syncope/trunk/core/pom.xml Wed Dec 26 15:43:40 2012
@@ -283,31 +283,11 @@ under the License.
     </dependency>
     <dependency>
       <groupId>org.connid.bundles.soap</groupId>
-      <artifactId>org.connid.bundles.soap</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.connid.bundles.soap</groupId>
       <artifactId>wssample</artifactId>
       <type>war</type>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.connid.bundles.db</groupId>
-      <artifactId>org.connid.bundles.db.table</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.connid.bundles</groupId>
-      <artifactId>org.connid.bundles.csvdir</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.connid.bundles</groupId>
-      <artifactId>org.connid.bundles.ldap</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/init/SpringContextInitializer.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/init/SpringContextInitializer.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/init/SpringContextInitializer.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/init/SpringContextInitializer.java
 Wed Dec 26 15:43:40 2012
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
 import javax.servlet.ServletContext;
-
 import org.apache.syncope.core.propagation.ConnectorFactory;
 import org.apache.syncope.core.workflow.WorkflowLoader;
 import org.apache.syncope.core.workflow.role.RoleWorkflowAdapter;
@@ -66,7 +65,7 @@ public class SpringContextInitializer im
      *
      * @throws IOException if anything goes wrong
      */
-    public static void initUWFAdapterClassName() throws IOException {
+    private static void initUWFAdapterClassName() throws IOException {
         Properties props = new java.util.Properties();
         InputStream propStream = null;
         try {

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ConnInstance.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ConnInstance.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ConnInstance.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ConnInstance.java
 Wed Dec 26 15:43:40 2012
@@ -33,7 +33,7 @@ import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.Lob;
 import javax.persistence.OneToMany;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 import org.apache.syncope.types.ConnConfProperty;
 import org.apache.syncope.types.ConnectorCapability;
 

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ExternalResource.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ExternalResource.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ExternalResource.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ExternalResource.java
 Wed Dec 26 15:43:40 2012
@@ -36,7 +36,7 @@ import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 import org.apache.commons.lang.StringUtils;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 import org.apache.syncope.core.persistence.beans.role.RMapping;
 import org.apache.syncope.core.persistence.beans.user.UMapping;
 import 
org.apache.syncope.core.persistence.validation.entity.ExternalResourceCheck;

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Notification.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Notification.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Notification.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Notification.java
 Wed Dec 26 15:43:40 2012
@@ -35,7 +35,7 @@ import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 import org.apache.syncope.client.search.NodeCond;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 import org.apache.syncope.core.persistence.validation.entity.NotificationCheck;
 import org.apache.syncope.types.IntMappingType;
 import org.apache.syncope.types.TraceLevel;

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Policy.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Policy.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Policy.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/Policy.java
 Wed Dec 26 15:43:40 2012
@@ -24,7 +24,7 @@ import javax.persistence.Enumerated;
 import javax.persistence.Id;
 import javax.persistence.Lob;
 import javax.validation.constraints.NotNull;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 import org.apache.syncope.core.persistence.validation.entity.PolicyCheck;
 import org.apache.syncope.types.AbstractPolicySpec;
 import org.apache.syncope.types.PolicyType;

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/PropagationTask.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/PropagationTask.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/PropagationTask.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/PropagationTask.java
 Wed Dec 26 15:43:40 2012
@@ -24,7 +24,7 @@ import javax.persistence.EnumType;
 import javax.persistence.Enumerated;
 import javax.persistence.Lob;
 import javax.persistence.ManyToOne;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 import 
org.apache.syncope.core.persistence.validation.entity.PropagationTaskCheck;
 import org.apache.syncope.types.AttributableType;
 import org.apache.syncope.types.PropagationMode;

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ReportletConfInstance.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ReportletConfInstance.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ReportletConfInstance.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/ReportletConfInstance.java
 Wed Dec 26 15:43:40 2012
@@ -23,7 +23,7 @@ import javax.persistence.Id;
 import javax.persistence.Lob;
 import javax.persistence.ManyToOne;
 import org.apache.syncope.client.report.ReportletConf;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 
 @Entity
 public class ReportletConfInstance extends AbstractBaseBean {

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncTask.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncTask.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncTask.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/SyncTask.java
 Wed Dec 26 15:43:40 2012
@@ -26,7 +26,7 @@ import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import org.apache.syncope.client.to.RoleTO;
 import org.apache.syncope.client.to.UserTO;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 import org.apache.syncope.core.persistence.validation.entity.SyncTaskCheck;
 
 @Entity

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/UserRequest.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/UserRequest.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/UserRequest.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/beans/UserRequest.java
 Wed Dec 26 15:43:40 2012
@@ -28,7 +28,7 @@ import javax.persistence.Lob;
 import javax.validation.constraints.NotNull;
 import org.apache.syncope.client.mod.UserMod;
 import org.apache.syncope.client.to.UserTO;
-import org.apache.syncope.client.util.XMLSerializer;
+import org.apache.syncope.core.util.XMLSerializer;
 import org.apache.syncope.types.UserRequestType;
 
 @Entity

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/ConnectorFacadeProxy.java
 Wed Dec 26 15:43:40 2012
@@ -184,7 +184,7 @@ public class ConnectorFacadeProxy {
 
             result = connector.create(objectClass, attrs, options);
         } else {
-            LOG.info("Create was attempted, although the " + "connector only 
has these capabilities: {}. No action.",
+            LOG.info("Create was attempted, although the connector only has 
these capabilities: {}. No action.",
                     activeConnInstance.getCapabilities());
         }
 

Modified: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/ConnBundleManager.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/util/ConnBundleManager.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/ConnBundleManager.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/ConnBundleManager.java
 Wed Dec 26 15:43:40 2012
@@ -88,13 +88,13 @@ public class ConnBundleManager {
 
         //Create key for search all properties
         final ConnectorKey key = new ConnectorKey(bundleName, version, 
connectorName);
-
         if (key == null) {
             throw new NotFoundException("Connector Key");
         }
 
         if (LOG.isDebugEnabled()) {
-            LOG.debug("\nBundle name: " + key.getBundleName() + "\nBundle 
version: " + key.getBundleVersion()
+            LOG.debug("\nBundle name: " + key.getBundleName()
+                    + "\nBundle version: " + key.getBundleVersion()
                     + "\nBundle class: " + key.getConnectorName());
         }
 
@@ -132,8 +132,8 @@ public class ConnBundleManager {
         // Print out what the properties are (not necessary)
         if (LOG.isDebugEnabled()) {
             for (String propName : properties.getPropertyNames()) {
-                LOG.debug("\nProperty Name: " + 
properties.getProperty(propName).getName() + "\nProperty Type: "
-                        + properties.getProperty(propName).getType());
+                LOG.debug("\nProperty Name: " + 
properties.getProperty(propName).getName()
+                        + "\nProperty Type: " + 
properties.getProperty(propName).getType());
             }
         }
 

Added: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java?rev=1425956&view=auto
==============================================================================
--- 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java
 (added)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java
 Wed Dec 26 15:43:40 2012
@@ -0,0 +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.core.util;
+
+import com.thoughtworks.xstream.converters.Converter;
+import com.thoughtworks.xstream.converters.MarshallingContext;
+import com.thoughtworks.xstream.converters.UnmarshallingContext;
+import com.thoughtworks.xstream.io.HierarchicalStreamReader;
+import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+import java.lang.reflect.Field;
+import org.identityconnectors.common.Base64;
+import org.identityconnectors.common.security.EncryptorFactory;
+import org.identityconnectors.common.security.GuardedString;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Help in XStream serialization of GuardedString by (de)serializing instances 
using the default Encryptor (which works
+ * consistently across class loading) instead of a random Encryptor instance.
+ *
+ * @see XMLSerializer
+ * @see GuardedString
+ */
+public class GuardedStringConverter implements Converter {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(GuardedStringConverter.class);
+
+    @Override
+    public void marshal(final Object source, final HierarchicalStreamWriter 
writer, final MarshallingContext context) {
+        boolean readOnly = false;
+        try {
+            Field readOnlyField = 
GuardedString.class.getDeclaredField("_readOnly");
+            readOnlyField.setAccessible(true);
+            readOnly = readOnlyField.getBoolean(source);
+        } catch (Exception e) {
+            LOG.error("Could not get field value", e);
+        }
+        writer.startNode("readonly");
+        writer.setValue(Boolean.toString(readOnly));
+        writer.endNode();
+
+        boolean disposed = false;
+        try {
+            Field disposedField = 
GuardedString.class.getDeclaredField("_disposed");
+            disposedField.setAccessible(true);
+            disposed = disposedField.getBoolean(source);
+        } catch (Exception e) {
+            LOG.error("Could not get field value", e);
+        }
+        writer.startNode("disposed");
+        writer.setValue(Boolean.toString(disposed));
+        writer.endNode();
+
+        writer.startNode("encryptedBytes");
+        final StringBuilder cleartext = new StringBuilder();
+        ((GuardedString) source).access(new GuardedString.Accessor() {
+
+            @Override
+            public void access(final char[] clearChars) {
+                cleartext.append(clearChars);
+            }
+        });
+        final byte[] encryptedBytes =
+                
EncryptorFactory.getInstance().getDefaultEncryptor().encrypt(cleartext.toString().getBytes());
+        writer.setValue(Base64.encode(encryptedBytes));
+        writer.endNode();
+    }
+
+    @Override
+    public Object unmarshal(final HierarchicalStreamReader reader, final 
UnmarshallingContext context) {
+        reader.moveDown();
+        final boolean readOnly = Boolean.valueOf(reader.getValue());
+        reader.moveUp();
+
+        reader.moveDown();
+        final boolean disposed = Boolean.valueOf(reader.getValue());
+        reader.moveUp();
+
+        reader.moveDown();
+        final byte[] encryptedBytes = Base64.decode(reader.getValue());
+        reader.moveUp();
+
+        final byte[] clearBytes = 
EncryptorFactory.getInstance().getDefaultEncryptor().decrypt(encryptedBytes);
+
+        GuardedString dest = new GuardedString(new 
String(clearBytes).toCharArray());
+
+        try {
+            Field readOnlyField = 
GuardedString.class.getDeclaredField("_readOnly");
+            readOnlyField.setAccessible(true);
+            readOnlyField.setBoolean(dest, readOnly);
+        } catch (Exception e) {
+            LOG.error("Could not set field value to {}", readOnly, e);
+        }
+
+        try {
+            Field readOnlyField = 
GuardedString.class.getDeclaredField("_disposed");
+            readOnlyField.setAccessible(true);
+            readOnlyField.setBoolean(dest, disposed);
+        } catch (Exception e) {
+            LOG.error("Could not set field value to {}", disposed, e);
+        }
+
+        return dest;
+    }
+
+    @Override
+    public boolean canConvert(final Class type) {
+        return type.equals(GuardedString.class);
+    }
+}

Propchange: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/GuardedStringConverter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/XMLSerializer.java
 (from r1425660, 
syncope/trunk/client/src/main/java/org/apache/syncope/client/util/XMLSerializer.java)
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/util/XMLSerializer.java?p2=syncope/trunk/core/src/main/java/org/apache/syncope/core/util/XMLSerializer.java&p1=syncope/trunk/client/src/main/java/org/apache/syncope/client/util/XMLSerializer.java&r1=1425660&r2=1425956&rev=1425956&view=diff
==============================================================================
--- 
syncope/trunk/client/src/main/java/org/apache/syncope/client/util/XMLSerializer.java
 (original)
+++ 
syncope/trunk/core/src/main/java/org/apache/syncope/core/util/XMLSerializer.java
 Wed Dec 26 15:43:40 2012
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.syncope.client.util;
+package org.apache.syncope.core.util;
 
 import com.thoughtworks.xstream.XStream;
 import java.io.UnsupportedEncodingException;
@@ -38,6 +38,7 @@ public final class XMLSerializer {
         String result = null;
 
         XStream xstream = new XStream();
+        xstream.registerConverter(new GuardedStringConverter());
         try {
             result = URLEncoder.encode(xstream.toXML(object), "UTF-8");
         } catch (UnsupportedEncodingException e) {
@@ -52,6 +53,7 @@ public final class XMLSerializer {
         T result = null;
 
         XStream xstream = new XStream();
+        xstream.registerConverter(new GuardedStringConverter());
         try {
             result = (T) xstream.fromXML(URLDecoder.decode(serialized, 
"UTF-8"));
         } catch (UnsupportedEncodingException e) {

Modified: 
syncope/trunk/core/src/test/java/org/apache/syncope/core/AbstractTest.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/AbstractTest.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/AbstractTest.java 
(original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/AbstractTest.java 
Wed Dec 26 15:43:40 2012
@@ -22,10 +22,6 @@ import static org.junit.Assert.*;
 
 import java.io.InputStream;
 import java.io.IOException;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
 import java.util.Properties;
 import org.junit.BeforeClass;
 import org.junit.runner.RunWith;
@@ -48,38 +44,9 @@ public abstract class AbstractTest {
 
     protected static String bundlesDirectory;
 
-    private void logTableContent(final Connection conn, final String 
tableName) throws SQLException {
-
-        LOG.debug("Table: " + tableName);
-
-        Statement stmt = null;
-        ResultSet rs = null;
-        try {
-            stmt = conn.createStatement();
-            rs = stmt.executeQuery("SELECT * FROM " + tableName);
-
-            final StringBuilder row = new StringBuilder();
-            while (rs.next()) {
-                for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) {
-                    row.append(rs.getMetaData().getColumnLabel(i + 
1)).append("=").append(rs.getString(i + 1)).append(
-                            " ");
-                }
-
-                LOG.debug(row.toString());
-
-                row.delete(0, row.length());
-            }
-        } catch (SQLException sqle) {
-            LOG.error("While dumping " + tableName + "content", sqle);
-        } finally {
-            rs.close();
-            stmt.close();
-        }
-    }
-
     @BeforeClass
     public static void setUpIdentityConnectorsBundles() throws IOException {
-        Properties props = new java.util.Properties();
+        Properties props = new Properties();
         InputStream propStream = null;
         try {
             propStream = 
AbstractTest.class.getResourceAsStream("/bundles.properties");

Modified: 
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ConnInstanceTest.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ConnInstanceTest.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ConnInstanceTest.java
 (original)
+++ 
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ConnInstanceTest.java
 Wed Dec 26 15:43:40 2012
@@ -28,7 +28,6 @@ import org.apache.syncope.core.AbstractT
 import org.apache.syncope.core.persistence.beans.ConnInstance;
 import org.apache.syncope.types.ConnConfPropSchema;
 import org.apache.syncope.types.ConnConfProperty;
-import org.connid.bundles.soap.WebServiceConnector;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -52,8 +51,8 @@ public class ConnInstanceTest extends Ab
 
         assertNotNull("findById did not work", connectorInstance);
 
-        assertEquals("invalid connector name", 
WebServiceConnector.class.getName(), connectorInstance
-                .getConnectorName());
+        assertEquals("invalid connector name",
+                "org.connid.bundles.soap.WebServiceConnector", 
connectorInstance.getConnectorName());
 
         assertEquals("invalid bundle name", "org.connid.bundles.soap", 
connectorInstance.getBundleName());
 

Modified: 
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
 (original)
+++ 
syncope/trunk/core/src/test/java/org/apache/syncope/core/persistence/dao/ResourceTest.java
 Wed Dec 26 15:43:40 2012
@@ -31,7 +31,6 @@ import org.apache.syncope.core.persisten
 import 
org.apache.syncope.core.persistence.validation.entity.InvalidEntityException;
 import org.apache.syncope.types.AttributableType;
 import org.apache.syncope.types.IntMappingType;
-import org.connid.bundles.soap.WebServiceConnector;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -49,7 +48,8 @@ public class ResourceTest extends Abstra
 
         ConnInstance connector = resource.getConnector();
         assertNotNull("connector not found", connector);
-        assertEquals("invalid connector name", 
WebServiceConnector.class.getName(), connector.getConnectorName());
+        assertEquals("invalid connector name",
+                "org.connid.bundles.soap.WebServiceConnector", 
connector.getConnectorName());
         assertEquals("invalid bundle name", "org.connid.bundles.soap", 
connector.getBundleName());
         assertEquals("invalid bundle version", connidSoapVersion, 
connector.getVersion());
 

Modified: 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java
 (original)
+++ 
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java
 Wed Dec 26 15:43:40 2012
@@ -29,8 +29,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
-import org.connid.bundles.db.table.DatabaseTableConnector;
-import org.connid.bundles.soap.WebServiceConnector;
 import org.identityconnectors.common.security.GuardedString;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -59,7 +57,7 @@ public class ConnInstanceTestITCase exte
     private static String bundlesDirectory;
 
     @BeforeClass
-    public static void init() {
+    public static void init() throws IOException {
         Properties props = new Properties();
         InputStream propStream = null;
         try {
@@ -72,11 +70,7 @@ public class ConnInstanceTestITCase exte
             LOG.error("Could not load bundles.properties", e);
         } finally {
             if (propStream != null) {
-                try {
-                    propStream.close();
-                } catch (IOException e) {
-                    LOG.error("While reading bundles.properties", e);
-                }
+                propStream.close();
             }
         }
         assertNotNull(connidSoapVersion);
@@ -98,7 +92,7 @@ public class ConnInstanceTestITCase exte
         connectorTO.setVersion(connidSoapVersion);
 
         // set connector name
-        connectorTO.setConnectorName(WebServiceConnector.class.getName());
+        
connectorTO.setConnectorName("org.connid.bundles.soap.WebServiceConnector");
 
         // set bundle name
         connectorTO.setBundleName("org.connid.bundles.soap");
@@ -198,7 +192,7 @@ public class ConnInstanceTestITCase exte
         connectorTO.setVersion(connidSoapVersion);
 
         // set connector name
-        connectorTO.setConnectorName(WebServiceConnector.class.getName());
+        
connectorTO.setConnectorName("org.connid.bundles.soap.WebServiceConnector");
 
         // set bundle name
         connectorTO.setBundleName("org.connid.bundles.soap");
@@ -427,7 +421,7 @@ public class ConnInstanceTestITCase exte
         connectorTO.setVersion(connidDbTableVersion);
 
         // set connector name
-        connectorTO.setConnectorName(DatabaseTableConnector.class.getName());
+        
connectorTO.setConnectorName("org.connid.bundles.db.table.DatabaseTableConnector");
 
         // set bundle name
         connectorTO.setBundleName("org.connid.bundles.db.table");
@@ -555,7 +549,7 @@ public class ConnInstanceTestITCase exte
         connectorTO.setVersion(connidSoapVersion);
 
         // set connector name
-        connectorTO.setConnectorName(WebServiceConnector.class.getName());
+        
connectorTO.setConnectorName("org.connid.bundles.soap.WebServiceConnector");
 
         // set bundle name
         connectorTO.setBundleName("org.connid.bundles.soap");

Modified: syncope/trunk/core/src/test/resources/content.xml
URL: 
http://svn.apache.org/viewvc/syncope/trunk/core/src/test/resources/content.xml?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- syncope/trunk/core/src/test/resources/content.xml (original)
+++ syncope/trunk/core/src/test/resources/content.xml Wed Dec 26 15:43:40 2012
@@ -602,11 +602,11 @@ under the License.
               
   <Task DTYPE="PropagationTask" id="1" propagationMode="TWO_PHASES" 
propagationOperation="UPDATE"
         objectClassName="__ACCOUNT__" resource_name="ws-target-resource-2" 
subjectType="USER" subjectId="1"
-        
xmlAttributes="%3Cset%3E%0A++%3Corg.identityconnectors.framework.common.objects.Name%3E%0A++++%3Cname%3E__NAME__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3EuserId%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Name%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3E__PASSWORD__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Corg.identityconnectors.common.security.GuardedString%3E%0A++++++++++%3C__readOnly%3Efalse%3C%2F__readOnly%3E%0A++++++++++%3C__disposed%3Efalse%3C%2F__disposed%3E%0A+++++++++
 
+%3C__encryptedBytes%3EQTOgwEhIHqtAI%2FYlgDhYc37esEF8VLDMU2IY1ciltrg%3D%3C%2F__encryptedBytes%3E%0A++++++++++%3C__base64SHA1Hash%3EW5%2FrwtdCnI8gAnIUhKcahMEnMMc%3D%3C%2F__base64SHA1Hash%3E%0A++++++++%3C%2Forg.identityconnectors.common.security.GuardedString%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Etype%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Etype%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Eful
 
lname%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Efullname%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A%3C%2Fset%3E%0A"/>
+        
xmlAttributes="%3Cset%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3E__PASSWORD__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Corg.identityconnectors.common.security.GuardedString%3E%0A++++++++++%3Creadonly%3Efalse%3C%2Freadonly%3E%0A++++++++++%3Cdisposed%3Efalse%3C%2Fdisposed%3E%0A++++++++++%3CencryptedBytes%3Em9nh2US0Sa6m%2BcXccCq0Xw%3D%3D%3C%2FencryptedBytes%3E%0A++++++++%3C%2Forg.identityconnectors.common.security.GuardedString%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Name%3E%0A++++%3Cname%3E__NAME__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22
 
+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3EuserId%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Name%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Efullname%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Efullname%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Etype%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22
 
java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Etype%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A%3C%2Fset%3E"/>
   <TaskExec id="1" task_id="1" status="SUCCESS"/>
   <Task DTYPE="PropagationTask" id="2" propagationMode="ONE_PHASE" 
propagationOperation="CREATE"
         objectClassName="__ACCOUNT__" resource_name="ws-target-resource-2" 
subjectType="USER" subjectId="1"
-        
xmlAttributes="%3Cset%3E%0A++%3Corg.identityconnectors.framework.common.objects.Name%3E%0A++++%3Cname%3E__NAME__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3EuserId%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Name%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3E__PASSWORD__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Corg.identityconnectors.common.security.GuardedString%3E%0A++++++++++%3C__readOnly%3Efalse%3C%2F__readOnly%3E%0A++++++++++%3C__disposed%3Efalse%3C%2F__disposed%3E%0A+++++++++
 
+%3C__encryptedBytes%3EQTOgwEhIHqtAI%2FYlgDhYc37esEF8VLDMU2IY1ciltrg%3D%3C%2F__encryptedBytes%3E%0A++++++++++%3C__base64SHA1Hash%3EW5%2FrwtdCnI8gAnIUhKcahMEnMMc%3D%3C%2F__base64SHA1Hash%3E%0A++++++++%3C%2Forg.identityconnectors.common.security.GuardedString%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Etype%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Etype%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Eful
 
lname%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Efullname%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A%3C%2Fset%3E%0A"/>
+        
xmlAttributes="%3Cset%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3E__PASSWORD__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Corg.identityconnectors.common.security.GuardedString%3E%0A++++++++++%3Creadonly%3Efalse%3C%2Freadonly%3E%0A++++++++++%3Cdisposed%3Efalse%3C%2Fdisposed%3E%0A++++++++++%3CencryptedBytes%3Em9nh2US0Sa6m%2BcXccCq0Xw%3D%3D%3C%2FencryptedBytes%3E%0A++++++++%3C%2Forg.identityconnectors.common.security.GuardedString%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Name%3E%0A++++%3Cname%3E__NAME__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22
 
+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3EuserId%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Name%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Efullname%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Efullname%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Etype%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22
 
java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Etype%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A%3C%2Fset%3E"/>
   <Task DTYPE="PropagationTask" id="3" propagationMode="TWO_PHASES" 
propagationOperation="DELETE"
         objectClassName="__ACCOUNT__" resource_name="ws-target-resource-2" 
subjectType="USER" subjectId="1"
         
xmlAttributes="%3Cset%3E%0A++%3Corg.identityconnectors.framework.common.objects.Name%3E%0A++++%3Cname%3E__NAME__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3EuserId%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Name%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3E__PASSWORD__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Corg.identityconnectors.common.security.GuardedString%3E%0A++++++++++%3C__readOnly%3Efalse%3C%2F__readOnly%3E%0A++++++++++%3C__disposed%3Efalse%3C%2F__disposed%3E%0A+++++++++
 
+%3C__encryptedBytes%3EQTOgwEhIHqtAI%2FYlgDhYc37esEF8VLDMU2IY1ciltrg%3D%3C%2F__encryptedBytes%3E%0A++++++++++%3C__base64SHA1Hash%3EW5%2FrwtdCnI8gAnIUhKcahMEnMMc%3D%3C%2F__base64SHA1Hash%3E%0A++++++++%3C%2Forg.identityconnectors.common.security.GuardedString%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Etype%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Etype%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A%3C%2Fset%3E"/>
@@ -616,7 +616,7 @@ under the License.
   <Task DTYPE="SchedTask" id="5" name="SampleJob Task" 
jobClassName="org.apache.syncope.core.quartz.SampleJob" cronExpression="0 0 0 1 
* ?"/>
   <Task DTYPE="PropagationTask" id="6" propagationMode="TWO_PHASES" 
propagationOperation="UPDATE"
         objectClassName="__ACCOUNT__" 
resource_name="ws-target-resource-nopropagation" subjectType="USER" 
subjectId="1"
-        
xmlAttributes="%3Cset%3E%0A++%3Corg.identityconnectors.framework.common.objects.Name%3E%0A++++%3Cname%3E__NAME__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3EuserId%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Name%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3E__PASSWORD__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Corg.identityconnectors.common.security.GuardedString%3E%0A++++++++++%3C__readOnly%3Efalse%3C%2F__readOnly%3E%0A++++++++++%3C__disposed%3Efalse%3C%2F__disposed%3E%0A+++++++++
 
+%3C__encryptedBytes%3EQTOgwEhIHqtAI%2FYlgDhYc37esEF8VLDMU2IY1ciltrg%3D%3C%2F__encryptedBytes%3E%0A++++++++++%3C__base64SHA1Hash%3EW5%2FrwtdCnI8gAnIUhKcahMEnMMc%3D%3C%2F__base64SHA1Hash%3E%0A++++++++%3C%2Forg.identityconnectors.common.security.GuardedString%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Etype%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Etype%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Eful
 
lname%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Efullname%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A%3C%2Fset%3E%0A"/>
+        
xmlAttributes="%3Cset%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3E__PASSWORD__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Corg.identityconnectors.common.security.GuardedString%3E%0A++++++++++%3Creadonly%3Efalse%3C%2Freadonly%3E%0A++++++++++%3Cdisposed%3Efalse%3C%2Fdisposed%3E%0A++++++++++%3CencryptedBytes%3Em9nh2US0Sa6m%2BcXccCq0Xw%3D%3D%3C%2FencryptedBytes%3E%0A++++++++%3C%2Forg.identityconnectors.common.security.GuardedString%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Name%3E%0A++++%3Cname%3E__NAME__%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22
 
+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3EuserId%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Name%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Efullname%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Efullname%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A++%3Corg.identityconnectors.framework.common.objects.Attribute%3E%0A++++%3Cname%3Etype%3C%2Fname%3E%0A++++%3Cvalue+class%3D%22java.util.Collections%24UnmodifiableRandomAccessList%22+resolves-to%3D%22
 
java.util.Collections%24UnmodifiableList%22%3E%0A++++++%3Cc+class%3D%22list%22%3E%0A++++++++%3Cstring%3Etype%3C%2Fstring%3E%0A++++++%3C%2Fc%3E%0A++++++%3Clist+reference%3D%22..%2Fc%22%2F%3E%0A++++%3C%2Fvalue%3E%0A++%3C%2Forg.identityconnectors.framework.common.objects.Attribute%3E%0A%3C%2Fset%3E"/>
   <Task DTYPE="SyncTask" id="7" name="TestDB Task" 
resource_name="resource-testdb"
         performCreate="1" performUpdate="1" performDelete="0" syncStatus="1" 
fullReconciliation="1"
         jobClassName="org.apache.syncope.core.sync.SyncJob"/>

Modified: syncope/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/syncope/trunk/pom.xml?rev=1425956&r1=1425955&r2=1425956&view=diff
==============================================================================
--- syncope/trunk/pom.xml (original)
+++ syncope/trunk/pom.xml Wed Dec 26 15:43:40 2012
@@ -258,7 +258,7 @@ under the License.
     <jstl.version>1.2</jstl.version>
         
     <connid.version>1.3.2</connid.version>
-    <connid.soap.version>1.2.3</connid.soap.version>
+    <connid.soap.version>1.2.4</connid.soap.version>
     <connid.db.table.version>2.1.4</connid.db.table.version>
     <connid.csvdir.version>0.5</connid.csvdir.version>
     <connid.ldap.version>1.3.4</connid.ldap.version>


Reply via email to