You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/06/15 06:35:43 UTC

[1/2] syncope git commit: [SYNCOPE-862] Updating conf migration from 1.2

Repository: syncope
Updated Branches:
  refs/heads/master 89ae8b0fa -> bcc33d296


[SYNCOPE-862] Updating conf migration from 1.2


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/9706adc1
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/9706adc1
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/9706adc1

Branch: refs/heads/master
Commit: 9706adc12e046a2a29e724eda621ab5844bcf737
Parents: 89ae8b0
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Wed Jun 15 08:07:28 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Wed Jun 15 08:07:28 2016 +0200

----------------------------------------------------------------------
 .../cli/commands/migrate/MigrateConf.java       | 85 ++++++++++++--------
 client/cli/src/test/resources/schema20.sql      | 43 +++++-----
 2 files changed, 74 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/9706adc1/client/cli/src/main/java/org/apache/syncope/client/cli/commands/migrate/MigrateConf.java
----------------------------------------------------------------------
diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/migrate/MigrateConf.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/migrate/MigrateConf.java
index e3110b9..db4d533 100644
--- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/migrate/MigrateConf.java
+++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/migrate/MigrateConf.java
@@ -89,43 +89,40 @@ public class MigrateConf {
         return value;
     }
 
-    private static String toNewIntMappingType(final String oldIntMappingType) {
-        String newIntMappingType;
-        switch (oldIntMappingType) {
+    private static void writeIntAttrName(
+            final String intMappingType,
+            final String intAttrNameKey,
+            final String intAttrNameValue,
+            final XMLStreamWriter writer)
+            throws XMLStreamException {
+
+        switch (intMappingType) {
             case "UserId":
-                newIntMappingType = "UserKey";
+            case "RoleId":
+                writer.writeAttribute(intAttrNameKey, "key");
                 break;
 
-            case "UserSchema":
-            case "MembershipSchema":
-                newIntMappingType = "UserPlainSchema";
+            case "Username":
+                writer.writeAttribute(intAttrNameKey, "username");
                 break;
 
-            case "MembershipDerivedSchema":
-                newIntMappingType = "UserDerivedSchema";
-                break;
-
-            case "RoleId":
-                newIntMappingType = "GroupKey";
+            case "Password":
+                writer.writeAttribute(intAttrNameKey, "password");
                 break;
 
             case "RoleName":
-                newIntMappingType = "GroupName";
+                writer.writeAttribute(intAttrNameKey, "name");
                 break;
 
             case "RoleOwnerSchema":
-                newIntMappingType = "GroupOwnerSchema";
-                break;
-
-            case "RoleSchema":
-                newIntMappingType = "RolePlainSchema";
+                writer.writeAttribute(intAttrNameKey, "userOwner");
                 break;
 
             default:
-                newIntMappingType = oldIntMappingType;
+                if (StringUtils.isNotBlank(intAttrNameValue)) {
+                    writer.writeAttribute(intAttrNameKey, intAttrNameValue);
+                }
         }
-
-        return newIntMappingType;
     }
 
     private static void exec(final String src, final String dst) throws XMLStreamException, IOException {
@@ -505,15 +502,23 @@ public class MigrateConf {
                         String uIntMappingType = getAttributeValue(reader, "intMappingType");
                         if (uIntMappingType.endsWith("VirtualSchema")) {
                             reporter.writeStartElement("MappingItem");
-                            copyAttrs(reader, reporter, "accountid");
+                            copyAttrs(reader, reporter, "accountid", "intMappingType");
                             reporter.writeEndElement();
                         } else {
                             writer.writeStartElement("MappingItem");
-                            copyAttrs(reader, writer, "accountid", "intMappingType", "mapping_id");
+                            copyAttrs(reader, writer,
+                                    "accountid", "intMappingType", "mapping_id", "intMappingType", "intAttrName");
                             writer.writeAttribute("id", UUID.randomUUID().toString());
-                            writer.writeAttribute("mapping_id", mappings.get(getAttributeValue(reader, "mapping_id")));
-                            writer.writeAttribute("intMappingType", toNewIntMappingType(uIntMappingType));
+                            writer.writeAttribute("mapping_id", mappings.
+                                    get(getAttributeValue(reader, "mapping_id")));
                             writer.writeAttribute("connObjectKey", getAttributeValue(reader, "accountid"));
+
+                            writeIntAttrName(
+                                    uIntMappingType,
+                                    "intAttrName",
+                                    mappings.get(getAttributeValue(reader, "intAttrName")),
+                                    writer);
+
                             writer.writeEndElement();
                         }
                         break;
@@ -548,16 +553,23 @@ public class MigrateConf {
                         String rIntMappingType = getAttributeValue(reader, "intMappingType");
                         if (rIntMappingType.endsWith("VirtualSchema")) {
                             reporter.writeStartElement("MappingItem");
-                            copyAttrs(reader, reporter, "accountid");
+                            copyAttrs(reader, reporter, "accountid", "intMappingType");
                             reporter.writeEndElement();
                         } else {
                             writer.writeStartElement("MappingItem");
-                            copyAttrs(reader, writer, "accountid", "intMappingType", "mapping_id");
+                            copyAttrs(reader, writer,
+                                    "accountid", "intMappingType", "mapping_id", "intAttrName");
                             writer.writeAttribute("id", UUID.randomUUID().toString());
                             writer.writeAttribute(
                                     "mapping_id", mappings.get("10" + getAttributeValue(reader, "mapping_id")));
-                            writer.writeAttribute("intMappingType", toNewIntMappingType(rIntMappingType));
                             writer.writeAttribute("connObjectKey", getAttributeValue(reader, "accountid"));
+
+                            writeIntAttrName(
+                                    rIntMappingType,
+                                    "intAttrName",
+                                    mappings.get(getAttributeValue(reader, "intAttrName")),
+                                    writer);
+
                             writer.writeEndElement();
                         }
                         break;
@@ -723,12 +735,17 @@ public class MigrateConf {
 
                         writer.writeAttribute("id", lastUUID);
 
-                        copyAttrs(reader, writer, "recipientAttrType", "template",
-                                "userAbout", "roleAbout", "recipients");
+                        copyAttrs(reader, writer,
+                                "recipientAttrType", "template", "userAbout", "roleAbout", "recipients",
+                                "recipientAttrName");
+
                         String recipientAttrType = getAttributeValue(reader, "recipientAttrType");
-                        if (StringUtils.isNotBlank(recipientAttrType)) {
-                            writer.writeAttribute("recipientAttrType", toNewIntMappingType(recipientAttrType));
-                        }
+                        writeIntAttrName(
+                                recipientAttrType,
+                                "recipientAttrName",
+                                mappings.get(getAttributeValue(reader, "recipientAttrName")),
+                                writer);
+
                         String recipients = getAttributeValue(reader, "recipients");
                         if (StringUtils.isNotBlank(recipients)) {
                             writer.writeAttribute("recipientsFIQL", getAttributeValue(reader, "recipients"));

http://git-wip-us.apache.org/repos/asf/syncope/blob/9706adc1/client/cli/src/test/resources/schema20.sql
----------------------------------------------------------------------
diff --git a/client/cli/src/test/resources/schema20.sql b/client/cli/src/test/resources/schema20.sql
index 504393d..6beb717 100644
--- a/client/cli/src/test/resources/schema20.sql
+++ b/client/cli/src/test/resources/schema20.sql
@@ -22,21 +22,21 @@ CREATE TABLE ADynGroupMembership (id VARCHAR(36) NOT NULL, fiql VARCHAR(255), GR
 CREATE TABLE ADynGroupMembership_AnyObject (aDynGroupMembership_id VARCHAR(36), anyObject_id VARCHAR(36));
 CREATE TABLE AMembership (id VARCHAR(36) NOT NULL, anyObject_id VARCHAR(36), group_id VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE AnyAbout (id VARCHAR(36) NOT NULL, filter CLOB, ANYTYPE_ID VARCHAR(255), NOTIFICATION_ID VARCHAR(36), PRIMARY KEY (id), CONSTRAINT U_NYABOUT_NOTIFICATION_ID UNIQUE (NOTIFICATION_ID, ANYTYPE_ID));
-CREATE TABLE AnyObject (id VARCHAR(36) NOT NULL, creationDate TIMESTAMP NOT NULL, creator VARCHAR(255) NOT NULL, lastChangeDate TIMESTAMP NOT NULL, lastModifier VARCHAR(255) NOT NULL, status VARCHAR(255), workflowId VARCHAR(255), REALM_ID VARCHAR(36), TYPE_ID VARCHAR(255), PRIMARY KEY (id));
+CREATE TABLE AnyObject (id VARCHAR(36) NOT NULL, creationDate TIMESTAMP NOT NULL, creator VARCHAR(255) NOT NULL, lastChangeDate TIMESTAMP NOT NULL, lastModifier VARCHAR(255) NOT NULL, status VARCHAR(255), workflowId VARCHAR(255), name VARCHAR(255), REALM_ID VARCHAR(36), TYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_NYOBJCT_NAME UNIQUE (name));
 CREATE TABLE AnyObject_AnyTypeClass (anyObject_id VARCHAR(36), anyTypeClass_id VARCHAR(255));
 CREATE TABLE AnyObject_ExternalResource (anyObject_id VARCHAR(36), resource_id VARCHAR(255));
 CREATE TABLE AnyTemplatePullTask (id VARCHAR(36) NOT NULL, template CLOB, PULLTASK_ID VARCHAR(36), ANYTYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_NYTMTSK_PULLTASK_ID UNIQUE (PULLTASK_ID, ANYTYPE_ID));
-CREATE TABLE AnyTemplateRealm (id VARCHAR(36) NOT NULL, template CLOB, REALM_ID VARCHAR(36), ANYTYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_NYTMRLM_REALM_ID UNIQUE (REALM_ID, ANYTYPE_ID));
+CREATE TABLE AnyTemplateRealm (id VARCHAR(36) NOT NULL, template CLOB, ANYTYPE_ID VARCHAR(255), REALM_ID VARCHAR(36), PRIMARY KEY (id), CONSTRAINT U_NYTMRLM_REALM_ID UNIQUE (REALM_ID, ANYTYPE_ID));
 CREATE TABLE AnyType (id VARCHAR(255) NOT NULL, kind VARCHAR(20), PRIMARY KEY (id));
 CREATE TABLE AnyTypeClass (id VARCHAR(255) NOT NULL, PRIMARY KEY (id));
 CREATE TABLE AnyType_AnyTypeClass (anyType_id VARCHAR(255), anyTypeClass_id VARCHAR(255));
-CREATE TABLE APlainAttr (id VARCHAR(36) NOT NULL, OWNER_ID VARCHAR(36), schema_id VARCHAR(255), PRIMARY KEY (id));
+CREATE TABLE APlainAttr (id VARCHAR(36) NOT NULL, OWNER_ID VARCHAR(36), schema_id VARCHAR(255), MEMBERSHIP_ID VARCHAR(36), PRIMARY KEY (id), CONSTRAINT U_PLINTTR_OWNER_ID UNIQUE (OWNER_ID, MEMBERSHIP_ID, schema_id));
 CREATE TABLE APlainAttrUniqueValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), schema_id VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_PLNTQVL_BOOLEANVALUE1 UNIQUE (booleanValue, schema_id), CONSTRAINT U_PLNTQVL_DATEVALUE1 UNIQUE (dateValue, schema_id), CONSTRAINT U_PLNTQVL_STRINGVALUE1 UNIQUE (stringValue, schema_id), CONSTRAINT U_PLNTQVL_DOUBLEVALUE1 UNIQUE (doubleValue, schema_id), CONSTRAINT U_PLNTQVL_LONGVALUE1 UNIQUE (longValue, schema_id));
 CREATE TABLE APlainAttrValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE ARelationship (id VARCHAR(36) NOT NULL, left_anyObject_id VARCHAR(36), right_anyObject_id VARCHAR(36), TYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_RLTNSHP_TYPE_ID1 UNIQUE (TYPE_ID, left_anyObject_id, right_anyObject_id));
 CREATE TABLE ConnInstance (id VARCHAR(36) NOT NULL, bundleName VARCHAR(255), connRequestTimeout INTEGER, connectorName VARCHAR(255), displayName VARCHAR(255), jsonConf CLOB, location VARCHAR(255), version VARCHAR(255), maxIdle INTEGER, maxObjects INTEGER, maxWait BIGINT, minEvictableIdleTimeMillis BIGINT, minIdle INTEGER, PRIMARY KEY (id), CONSTRAINT U_CNNNTNC_DISPLAYNAME UNIQUE (displayName));
 CREATE TABLE ConnInstance_capabilities (connInstance_id VARCHAR(36), capability VARCHAR(20));
-CREATE TABLE CPlainAttr (id VARCHAR(36) NOT NULL, schema_id VARCHAR(255), OWNER_ID VARCHAR(255), PRIMARY KEY (id));
+CREATE TABLE CPlainAttr (id VARCHAR(36) NOT NULL, OWNER_ID VARCHAR(255), schema_id VARCHAR(255), PRIMARY KEY (id));
 CREATE TABLE CPlainAttrUniqueValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), schema_id VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_CPLNQVL_BOOLEANVALUE UNIQUE (booleanValue, schema_id), CONSTRAINT U_CPLNQVL_DATEVALUE UNIQUE (dateValue, schema_id), CONSTRAINT U_CPLNQVL_STRINGVALUE UNIQUE (stringValue, schema_id), CONSTRAINT U_CPLNQVL_DOUBLEVALUE UNIQUE (doubleValue, schema_id), CONSTRAINT U_CPLNQVL_LONGVALUE UNIQUE (longValue, schema_id));
 CREATE TABLE CPlainAttrValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE DerSchema (id VARCHAR(255) NOT NULL, expression VARCHAR(255), ANYTYPECLASS_ID VARCHAR(255), PRIMARY KEY (id));
@@ -45,29 +45,29 @@ CREATE TABLE DynRoleMembership_User (dynRoleMembership_id VARCHAR(36), user_id V
 CREATE TABLE ExternalResource (id VARCHAR(255) NOT NULL, createTraceLevel VARCHAR(20), deleteTraceLevel VARCHAR(20), enforceMandatoryCondition INTEGER, jsonConf CLOB, overrideCapabilities INTEGER, propagationPriority INTEGER, pullTraceLevel VARCHAR(20), randomPwdIfNotProvided INTEGER, updateTraceLevel VARCHAR(20), ACCOUNTPOLICY_ID VARCHAR(36), CONNECTOR_ID VARCHAR(36), PASSWORDPOLICY_ID VARCHAR(36), PULLPOLICY_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE ExternalResource_capOverride (resource_id VARCHAR(255), capabilityOverride VARCHAR(20));
 CREATE TABLE ExternalResource_PropActions (resource_id VARCHAR(255), actionClassName VARCHAR(255));
-CREATE TABLE GPlainAttr (id VARCHAR(36) NOT NULL, schema_id VARCHAR(255), OWNER_ID VARCHAR(36), PRIMARY KEY (id));
+CREATE TABLE GPlainAttr (id VARCHAR(36) NOT NULL, OWNER_ID VARCHAR(36), schema_id VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_GPLNTTR_OWNER_ID UNIQUE (OWNER_ID, schema_id));
 CREATE TABLE GPlainAttrUniqueValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), schema_id VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_GPLNQVL_BOOLEANVALUE UNIQUE (booleanValue, schema_id), CONSTRAINT U_GPLNQVL_DATEVALUE UNIQUE (dateValue, schema_id), CONSTRAINT U_GPLNQVL_STRINGVALUE UNIQUE (stringValue, schema_id), CONSTRAINT U_GPLNQVL_DOUBLEVALUE UNIQUE (doubleValue, schema_id), CONSTRAINT U_GPLNQVL_LONGVALUE UNIQUE (longValue, schema_id));
 CREATE TABLE GPlainAttrValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE MailTemplate (id VARCHAR(255) NOT NULL, htmlTemplate CLOB, textTemplate CLOB, PRIMARY KEY (id));
 CREATE TABLE Mapping (id VARCHAR(36) NOT NULL, connObjectLink VARCHAR(255), PROVISION_ID VARCHAR(36), PRIMARY KEY (id));
-CREATE TABLE MappingItem (id VARCHAR(36) NOT NULL, connObjectKey INTEGER, extAttrName VARCHAR(255), intAttrName VARCHAR(255), intMappingType VARCHAR(22), mandatoryCondition VARCHAR(255), password INTEGER, purpose VARCHAR(20), MAPPING_ID VARCHAR(36), PRIMARY KEY (id));
+CREATE TABLE MappingItem (id VARCHAR(36) NOT NULL, connObjectKey INTEGER, extAttrName VARCHAR(255), intAttrName VARCHAR(255), mandatoryCondition VARCHAR(255), password INTEGER, propJEXL VARCHAR(255), pullJEXL VARCHAR(255), purpose VARCHAR(20), MAPPING_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE MappingItem_Transformer (mappingItem_id VARCHAR(36), transformerClassName VARCHAR(255));
-CREATE TABLE Notification (id VARCHAR(36) NOT NULL, active INTEGER, recipientAttrName VARCHAR(255), recipientAttrType VARCHAR(22), recipientsFIQL VARCHAR(255), recipientsProviderClassName VARCHAR(255), selfAsRecipient INTEGER, sender VARCHAR(255), subject VARCHAR(255), traceLevel VARCHAR(20), template_id VARCHAR(255), PRIMARY KEY (id));
+CREATE TABLE Notification (id VARCHAR(36) NOT NULL, active INTEGER, recipientAttrName VARCHAR(255), recipientsFIQL VARCHAR(255), recipientsProviderClassName VARCHAR(255), selfAsRecipient INTEGER, sender VARCHAR(255), subject VARCHAR(255), traceLevel VARCHAR(20), template_id VARCHAR(255), PRIMARY KEY (id));
 CREATE TABLE NotificationTask_recipients (notificationTask_id VARCHAR(36), address VARCHAR(255));
 CREATE TABLE Notification_events (notification_id VARCHAR(36), event VARCHAR(255));
 CREATE TABLE Notification_staticRecipients (notification_id VARCHAR(36), staticRecipients VARCHAR(255));
 CREATE TABLE PasswordPolicy (id VARCHAR(36) NOT NULL, description VARCHAR(255), allowNullPassword INTEGER, historyLength INTEGER, PRIMARY KEY (id));
 CREATE TABLE PasswordRuleConfInstance (id VARCHAR(36) NOT NULL, serializedInstance CLOB, PASSWORDPOLICY_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE PlainSchema (id VARCHAR(255) NOT NULL, cipherAlgorithm VARCHAR(20), conversionPattern VARCHAR(255), enumerationKeys CLOB, enumerationValues CLOB, mandatoryCondition VARCHAR(255), mimeType VARCHAR(255), multivalue INTEGER, readonly INTEGER, secretKey VARCHAR(255), type VARCHAR(20), uniqueConstraint INTEGER, validatorClass VARCHAR(255), ANYTYPECLASS_ID VARCHAR(255), PRIMARY KEY (id));
-CREATE TABLE Provision (id VARCHAR(36) NOT NULL, objectClass VARCHAR(255), serializedSyncToken CLOB, RESOURCE_ID VARCHAR(255), ANYTYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_PROVSON_RESOURCE_ID UNIQUE (RESOURCE_ID, ANYTYPE_ID));
+CREATE TABLE Provision (id VARCHAR(36) NOT NULL, objectClass VARCHAR(255), serializedSyncToken CLOB, ANYTYPE_ID VARCHAR(255), RESOURCE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_PROVSON_RESOURCE_ID UNIQUE (RESOURCE_ID, ANYTYPE_ID));
 CREATE TABLE Provision_AnyTypeClass (provision_id VARCHAR(36), anyTypeClass_id VARCHAR(255));
 CREATE TABLE PullPolicy (id VARCHAR(36) NOT NULL, description VARCHAR(255), specification CLOB, PRIMARY KEY (id));
 CREATE TABLE PullTask_actionsClassNames (pullTask_id VARCHAR(36), actionClassName VARCHAR(255));
 CREATE TABLE PushPolicy (id VARCHAR(36) NOT NULL, description VARCHAR(255), specification CLOB, PRIMARY KEY (id));
-CREATE TABLE PushTaskAnyFilter (id VARCHAR(36) NOT NULL, fiql VARCHAR(255), ANYTYPE_ID VARCHAR(255), PUSHTASK_ID VARCHAR(36), PRIMARY KEY (id), CONSTRAINT U_PSHTLTR_PUSHTASK_ID UNIQUE (PUSHTASK_ID, ANYTYPE_ID));
-CREATE TABLE PushTask_actionsClassNames (pushTask_key VARCHAR(36), actionClassName VARCHAR(255));
+CREATE TABLE PushTaskAnyFilter (id VARCHAR(36) NOT NULL, fiql VARCHAR(255), PUSHTASK_ID VARCHAR(36), ANYTYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_PSHTLTR_PUSHTASK_ID UNIQUE (PUSHTASK_ID, ANYTYPE_ID));
+CREATE TABLE PushTask_actionsClassNames (pushTask_id VARCHAR(36), actionClassName VARCHAR(255));
 CREATE TABLE Realm (id VARCHAR(36) NOT NULL, name VARCHAR(255), ACCOUNTPOLICY_ID VARCHAR(36), PARENT_ID VARCHAR(36), PASSWORDPOLICY_ID VARCHAR(36), PRIMARY KEY (id), CONSTRAINT U_REALM_ID UNIQUE (id, PARENT_ID));
-CREATE TABLE Realm_actionsClassNames (realm_key VARCHAR(36), actionClassName VARCHAR(255));
+CREATE TABLE Realm_actionsClassNames (realm_id VARCHAR(36), actionClassName VARCHAR(255));
 CREATE TABLE RelationshipType (id VARCHAR(255) NOT NULL, description VARCHAR(255), PRIMARY KEY (id));
 CREATE TABLE Report (id VARCHAR(36) NOT NULL, active INTEGER, cronExpression VARCHAR(255), name VARCHAR(255) NOT NULL, template_id VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_REPORT_NAME UNIQUE (name));
 CREATE TABLE ReportExec (id VARCHAR(36) NOT NULL, endDate TIMESTAMP, message CLOB, startDate TIMESTAMP, status VARCHAR(255), execResult BLOB, REPORT_ID VARCHAR(36), PRIMARY KEY (id));
@@ -80,22 +80,23 @@ CREATE TABLE SyncopeGroup (id VARCHAR(36) NOT NULL, creationDate TIMESTAMP NOT N
 CREATE TABLE SyncopeGroup_AnyTypeClass (group_id VARCHAR(36), anyTypeClass_id VARCHAR(255));
 CREATE TABLE SyncopeGroup_ExternalResource (group_id VARCHAR(36), resource_id VARCHAR(255));
 CREATE TABLE SyncopeLogger (logName VARCHAR(255) NOT NULL, logLevel VARCHAR(20) NOT NULL, logType VARCHAR(20) NOT NULL, PRIMARY KEY (logName));
-CREATE TABLE SyncopeRole (id VARCHAR(255) NOT NULL, PRIMARY KEY (id));
+CREATE TABLE SyncopeRole (id VARCHAR(255) NOT NULL, consoleLayoutInfo CLOB, PRIMARY KEY (id));
 CREATE TABLE SyncopeRole_entitlements (role_id VARCHAR(255), entitlement VARCHAR(255));
 CREATE TABLE SyncopeRole_Realm (role_id VARCHAR(255), realm_id VARCHAR(36));
+CREATE TABLE SyncopeSchema (id VARCHAR(255) NOT NULL, PRIMARY KEY (id));
 CREATE TABLE SyncopeUser (id VARCHAR(36) NOT NULL, creationDate TIMESTAMP NOT NULL, creator VARCHAR(255) NOT NULL, lastChangeDate TIMESTAMP NOT NULL, lastModifier VARCHAR(255) NOT NULL, status VARCHAR(255), workflowId VARCHAR(255), changePwdDate TIMESTAMP, cipherAlgorithm VARCHAR(20), failedLogins INTEGER, lastLoginDate TIMESTAMP, mustChangePassword INTEGER, password VARCHAR(255), securityAnswer VARCHAR(255), suspended INTEGER, token CLOB, tokenExpireTime TIMESTAMP, username VARCHAR(255), REALM_ID VARCHAR(36), SECURITYQUESTION_ID VARCHAR(36), PRIMARY KEY (id), CONSTRAINT U_SYNCPSR_USERNAME UNIQUE (username));
 CREATE TABLE SyncopeUser_AnyTypeClass (user_id VARCHAR(36), anyTypeClass_id VARCHAR(255));
 CREATE TABLE SyncopeUser_ExternalResource (user_id VARCHAR(36), resource_id VARCHAR(255));
 CREATE TABLE SyncopeUser_passwordHistory (user_id VARCHAR(36), passwordHistoryValue VARCHAR(255));
 CREATE TABLE SyncopeUser_SyncopeRole (user_id VARCHAR(36), role_id VARCHAR(255));
-CREATE TABLE Task (id VARCHAR(36) NOT NULL, DTYPE VARCHAR(31), active INTEGER, cronExpression VARCHAR(255), description VARCHAR(255), jobDelegateClassName VARCHAR(255), name VARCHAR(255), startAt TIMESTAMP, anyKey VARCHAR(255), anyTypeKind VARCHAR(20), executed INTEGER, htmlBody CLOB, sender VARCHAR(255), subject VARCHAR(255), textBody CLOB, traceLevel VARCHAR(20), NOTIFICATION_ID VARCHAR(36), matchingRule VARCHAR(20), performCreate INTEGER, performDelete INTEGER, performUpdate INTEGER, pullStatus INTEGER, unmatchingRule VARCHAR(20), RESOURCE_ID VARCHAR(255), pullMode VARCHAR(23), reconciliationFilterBuilderClassName VARCHAR(255), DESTINATIONREALM_ID VARCHAR(36), anyType VARCHAR(255), attributes CLOB, connObjectKey VARCHAR(255), objectClassName VARCHAR(255), oldConnObjectKey VARCHAR(255), operation VARCHAR(20), PRIMARY KEY (id));
+CREATE TABLE Task (id VARCHAR(36) NOT NULL, DTYPE VARCHAR(31), anyKey VARCHAR(255), anyType VARCHAR(255), anyTypeKind VARCHAR(20), attributes CLOB, connObjectKey VARCHAR(255), objectClassName VARCHAR(255), oldConnObjectKey VARCHAR(255), operation VARCHAR(20), RESOURCE_ID VARCHAR(255), active INTEGER, cronExpression VARCHAR(255), description VARCHAR(255), jobDelegateClassName VARCHAR(255), name VARCHAR(255), startAt TIMESTAMP, matchingRule VARCHAR(20), performCreate INTEGER, performDelete INTEGER, performUpdate INTEGER, pullStatus INTEGER, unmatchingRule VARCHAR(20), pullMode VARCHAR(23), reconciliationFilterBuilderClassName VARCHAR(255), DESTINATIONREALM_ID VARCHAR(36), executed INTEGER, htmlBody CLOB, sender VARCHAR(255), subject VARCHAR(255), textBody CLOB, traceLevel VARCHAR(20), NOTIFICATION_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE TaskExec (id VARCHAR(36) NOT NULL, endDate TIMESTAMP, message CLOB, startDate TIMESTAMP, status VARCHAR(255), TASK_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE TypeExtension (id VARCHAR(36) NOT NULL, GROUP_ID VARCHAR(36), ANYTYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_TYPXNSN_GROUP_ID UNIQUE (GROUP_ID, ANYTYPE_ID));
 CREATE TABLE TypeExtension_AnyTypeClass (typeExtension_id VARCHAR(36), anyTypeClass_id VARCHAR(255));
 CREATE TABLE UDynGroupMembership (id VARCHAR(36) NOT NULL, fiql VARCHAR(255), GROUP_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE UDynGroupMembership_User (uDynGroupMembership_id VARCHAR(36), user_id VARCHAR(36));
 CREATE TABLE UMembership (id VARCHAR(36) NOT NULL, user_id VARCHAR(36), group_id VARCHAR(36), PRIMARY KEY (id));
-CREATE TABLE UPlainAttr (id VARCHAR(36) NOT NULL, OWNER_ID VARCHAR(36), schema_id VARCHAR(255), PRIMARY KEY (id));
+CREATE TABLE UPlainAttr (id VARCHAR(36) NOT NULL, OWNER_ID VARCHAR(36), schema_id VARCHAR(255), MEMBERSHIP_ID VARCHAR(36), PRIMARY KEY (id), CONSTRAINT U_UPLNTTR_OWNER_ID UNIQUE (OWNER_ID, MEMBERSHIP_ID, schema_id));
 CREATE TABLE UPlainAttrUniqueValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), schema_id VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_PLNTQVL_BOOLEANVALUE UNIQUE (booleanValue, schema_id), CONSTRAINT U_PLNTQVL_DATEVALUE UNIQUE (dateValue, schema_id), CONSTRAINT U_PLNTQVL_STRINGVALUE UNIQUE (stringValue, schema_id), CONSTRAINT U_PLNTQVL_DOUBLEVALUE UNIQUE (doubleValue, schema_id), CONSTRAINT U_PLNTQVL_LONGVALUE UNIQUE (longValue, schema_id));
 CREATE TABLE UPlainAttrValue (id VARCHAR(36) NOT NULL, binaryValue BLOB, booleanValue INTEGER, dateValue TIMESTAMP, doubleValue DOUBLE, longValue BIGINT, stringValue VARCHAR(255), ATTRIBUTE_ID VARCHAR(36), PRIMARY KEY (id));
 CREATE TABLE URelationship (id VARCHAR(36) NOT NULL, user_id VARCHAR(36), anyObject_id VARCHAR(36), TYPE_ID VARCHAR(255), PRIMARY KEY (id), CONSTRAINT U_RLTNSHP_TYPE_ID UNIQUE (TYPE_ID, user_id, anyObject_id));
@@ -123,6 +124,7 @@ CREATE INDEX I_NYTMRLM_ANYTYPE ON AnyTemplateRealm (ANYTYPE_ID);
 CREATE INDEX I_NYTMRLM_REALM ON AnyTemplateRealm (REALM_ID);
 CREATE INDEX I_NYTYLSS_ANYTYPE_ID ON AnyType_AnyTypeClass (anyType_id);
 CREATE INDEX I_NYTYLSS_ELEMENT ON AnyType_AnyTypeClass (anyTypeClass_id);
+CREATE INDEX I_PLINTTR_MEMBERSHIP ON APlainAttr (MEMBERSHIP_ID);
 CREATE INDEX I_PLINTTR_OWNER ON APlainAttr (OWNER_ID);
 CREATE INDEX I_PLINTTR_SCHEMA ON APlainAttr (schema_id);
 CREATE INDEX I_PLNTQVL_ATTRIBUTE1 ON APlainAttrUniqueValue (ATTRIBUTE_ID);
@@ -168,29 +170,29 @@ CREATE INDEX I_PRVSLSS_PROVISION_ID ON Provision_AnyTypeClass (provision_id);
 CREATE INDEX I_PLLTNMS_PULLTASK_ID ON PullTask_actionsClassNames (pullTask_id);
 CREATE INDEX I_PSHTLTR_ANYTYPE ON PushTaskAnyFilter (ANYTYPE_ID);
 CREATE INDEX I_PSHTLTR_PUSHTASK ON PushTaskAnyFilter (PUSHTASK_ID);
-CREATE INDEX I_PSHTNMS_PUSHTASK_KEY ON PushTask_actionsClassNames (pushTask_key);
+CREATE INDEX I_PSHTNMS_PUSHTASK_ID ON PushTask_actionsClassNames (pushTask_id);
 CREATE INDEX I_REALM_ACCOUNTPOLICY ON Realm (ACCOUNTPOLICY_ID);
 CREATE INDEX I_REALM_PARENT ON Realm (PARENT_ID);
 CREATE INDEX I_REALM_PASSWORDPOLICY ON Realm (PASSWORDPOLICY_ID);
-CREATE INDEX I_RLM_NMS_REALM_KEY ON Realm_actionsClassNames (realm_key);
+CREATE INDEX I_RLM_NMS_REALM_ID ON Realm_actionsClassNames (realm_id);
 CREATE INDEX I_REPORT_TEMPLATE ON Report (template_id);
 CREATE INDEX I_RPORTXC_REPORT ON ReportExec (REPORT_ID);
 CREATE INDEX I_RPRTTNC_REPORT ON ReportletConfInstance (REPORT_ID);
 CREATE INDEX I_SYNCGRP_GROUPOWNER ON SyncopeGroup (GROUPOWNER_ID);
 CREATE INDEX I_SYNCGRP_REALM ON SyncopeGroup (REALM_ID);
 CREATE INDEX I_SYNCGRP_USEROWNER ON SyncopeGroup (USEROWNER_ID);
-CREATE INDEX I_SYNCLSS_ELEMENT ON SyncopeGroup_AnyTypeClass (anyTypeClass_id);
+CREATE INDEX I_SYNCLSS_ELEMENT1 ON SyncopeGroup_AnyTypeClass (anyTypeClass_id);
 CREATE INDEX I_SYNCLSS_GROUP_ID ON SyncopeGroup_AnyTypeClass (group_id);
-CREATE INDEX I_SYNCSRC_ELEMENT ON SyncopeGroup_ExternalResource (resource_id);
+CREATE INDEX I_SYNCSRC_ELEMENT1 ON SyncopeGroup_ExternalResource (resource_id);
 CREATE INDEX I_SYNCSRC_GROUP_ID ON SyncopeGroup_ExternalResource (group_id);
 CREATE INDEX I_SYNCNTS_ROLE_ID ON SyncopeRole_entitlements (role_id);
 CREATE INDEX I_SYNCRLM_ELEMENT ON SyncopeRole_Realm (realm_id);
 CREATE INDEX I_SYNCRLM_ROLE_ID ON SyncopeRole_Realm (role_id);
 CREATE INDEX I_SYNCPSR_REALM ON SyncopeUser (REALM_ID);
 CREATE INDEX I_SYNCPSR_SECURITYQUESTION ON SyncopeUser (SECURITYQUESTION_ID);
-CREATE INDEX I_SYNCLSS_ELEMENT1 ON SyncopeUser_AnyTypeClass (anyTypeClass_id);
+CREATE INDEX I_SYNCLSS_ELEMENT ON SyncopeUser_AnyTypeClass (anyTypeClass_id);
 CREATE INDEX I_SYNCLSS_USER_ID ON SyncopeUser_AnyTypeClass (user_id);
-CREATE INDEX I_SYNCSRC_ELEMENT1 ON SyncopeUser_ExternalResource (resource_id);
+CREATE INDEX I_SYNCSRC_ELEMENT ON SyncopeUser_ExternalResource (resource_id);
 CREATE INDEX I_SYNCSRC_USER_ID ON SyncopeUser_ExternalResource (user_id);
 CREATE INDEX I_SYNCTRY_USER_ID ON SyncopeUser_passwordHistory (user_id);
 CREATE INDEX I_SYNCPRL_ELEMENT ON SyncopeUser_SyncopeRole (role_id);
@@ -209,6 +211,7 @@ CREATE INDEX I_DYNG_SR_ELEMENT ON UDynGroupMembership_User (user_id);
 CREATE INDEX I_DYNG_SR_UDYNGROUPMEMBERSHIP_ID ON UDynGroupMembership_User (uDynGroupMembership_id);
 CREATE INDEX I_MMBRSHP_LEFTEND ON UMembership (user_id);
 CREATE INDEX I_MMBRSHP_RIGHTEND ON UMembership (group_id);
+CREATE INDEX I_UPLNTTR_MEMBERSHIP ON UPlainAttr (MEMBERSHIP_ID);
 CREATE INDEX I_UPLNTTR_OWNER ON UPlainAttr (OWNER_ID);
 CREATE INDEX I_UPLNTTR_SCHEMA ON UPlainAttr (schema_id);
 CREATE INDEX I_PLNTQVL_ATTRIBUTE ON UPlainAttrUniqueValue (ATTRIBUTE_ID);


[2/2] syncope git commit: [SYNCOPE-862] Adjusting one failing test

Posted by il...@apache.org.
[SYNCOPE-862] Adjusting one failing test


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/bcc33d29
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/bcc33d29
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/bcc33d29

Branch: refs/heads/master
Commit: bcc33d296a3504595285079a195e8fe01fbd98d0
Parents: 9706adc
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Wed Jun 15 08:35:30 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Wed Jun 15 08:35:30 2016 +0200

----------------------------------------------------------------------
 .../test/java/org/apache/syncope/fit/core/VirAttrITCase.java | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/bcc33d29/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
index 37fc276..b6ae443 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
@@ -451,9 +451,9 @@ public class VirAttrITCase extends AbstractITCase {
 
     @Test
     public void issueSYNCOPE453() {
-        String resourceName = "issueSYNCOPE453-Res-" + getUUIDString();
+        String resourceName = "issueSYNCOPE453Res" + getUUIDString();
         String groupKey = null;
-        String groupName = "issueSYNCOPE453-Group-" + getUUIDString();
+        String groupName = "issueSYNCOPE453Group" + getUUIDString();
 
         try {
             // -------------------------------------------
@@ -518,7 +518,7 @@ public class VirAttrITCase extends AbstractITCase {
 
             item = new MappingItemTO();
             item.setExtAttrName("EMAIL");
-            item.setIntAttrName("rvirtualdata");
+            item.setIntAttrName("groups[" + groupName + "].rvirtualdata");
             item.setPurpose(MappingPurpose.PROPAGATION);
             mapping.getItems().add(item);
 
@@ -565,6 +565,8 @@ public class VirAttrITCase extends AbstractITCase {
             assertEquals(userTO.getPlainAttrMap().get("fullname").getValues().get(0), actuals.get("id").toString());
             assertEquals("ml@group.it", actuals.get("email"));
             // -------------------------------------------
+        } catch(Exception e) {
+            LOG.error("Unexpected error", e);
         } finally {
             // -------------------------------------------
             // Delete resource and group ad-hoc