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>