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/05/12 15:46:19 UTC
syncope git commit: [SYNCOPE-848] Refactoring completed
Repository: syncope
Updated Branches:
refs/heads/master 67fe7075b -> 951a64a7a
[SYNCOPE-848] Refactoring completed
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/951a64a7
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/951a64a7
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/951a64a7
Branch: refs/heads/master
Commit: 951a64a7aa83c92ed619a3b306ddf92d0968a468
Parents: 67fe707
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Thu May 12 17:46:11 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Thu May 12 17:46:11 2016 +0200
----------------------------------------------------------------------
.../client/console/panels/SchemaTypePanel.java | 11 +-
.../client/console/panels/VirSchemaDetails.java | 111 ++++++++++++-------
.../client/console/rest/SchemaRestClient.java | 45 --------
.../META-INF/resources/css/syncopeConsole.css | 4 +-
.../console/panels/SchemasPanel.properties | 3 +-
.../console/panels/SchemasPanel_it.properties | 3 +-
.../panels/SchemasPanel_pt_BR.properties | 3 +-
.../console/panels/SchemasPanel_ru.properties | 29 ++---
.../client/console/panels/VirSchemaDetails.html | 2 +-
.../console/panels/VirSchemaDetails.properties | 2 +-
.../panels/VirSchemaDetails_it.properties | 2 +-
.../panels/VirSchemaDetails_pt_BR.properties | 2 +-
.../panels/VirSchemaDetails_ru.properties | 11 +-
.../syncope/common/lib/to/VirSchemaTO.java | 10 +-
.../api/dao/ExternalResourceDAO.java | 2 -
.../jpa/dao/JPAExternalResourceDAO.java | 5 -
.../persistence/jpa/outer/VirSchemaTest.java | 9 +-
.../java/data/SchemaDataBinderImpl.java | 25 ++++-
.../apache/syncope/fit/core/VirAttrITCase.java | 12 +-
.../syncope/fit/core/VirSchemaITCase.java | 8 +-
20 files changed, 154 insertions(+), 145 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
index 21a85b6..9bcff62 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
@@ -70,10 +70,12 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem
private static final long serialVersionUID = 3109256773218160485L;
{
- put(SchemaType.PLAIN, Arrays.asList(new String[] { "key", "type",
- "mandatoryCondition", "uniqueConstraint", "multivalue", "readonly" }));
- put(SchemaType.DERIVED, Arrays.asList(new String[] { "key", "expression" }));
- put(SchemaType.VIRTUAL, Arrays.asList(new String[] { "key", "provision", "extAttrName", "readonly" }));
+ put(SchemaType.PLAIN, Arrays.asList(new String[] {
+ "key", "type", "mandatoryCondition", "uniqueConstraint", "multivalue", "readonly" }));
+ put(SchemaType.DERIVED, Arrays.asList(new String[] {
+ "key", "expression" }));
+ put(SchemaType.VIRTUAL, Arrays.asList(new String[] {
+ "key", "resource", "anyType", "extAttrName", "readonly" }));
}
};
@@ -96,6 +98,7 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem
@Override
public WizardModalPanel<AbstractSchemaTO> build(
final String id, final int index, final AjaxWizard.Mode mode) {
+
final AbstractSchemaTO modelObject = newModelObject();
return new SchemaModalPanel(modal, modelObject, pageRef) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/java/org/apache/syncope/client/console/panels/VirSchemaDetails.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/VirSchemaDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/VirSchemaDetails.java
index d0124c5..b0a3412 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/VirSchemaDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/VirSchemaDetails.java
@@ -19,10 +19,16 @@
package org.apache.syncope.client.console.panels;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.rest.ConnectorRestClient;
import org.apache.syncope.client.console.rest.ResourceRestClient;
import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
@@ -30,11 +36,13 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownCho
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AbstractSchemaTO;
+import org.apache.syncope.common.lib.to.ConnIdObjectClassTO;
+import org.apache.syncope.common.lib.to.ConnInstanceTO;
import org.apache.syncope.common.lib.to.ProvisionTO;
import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.model.PropertyModel;
public class VirSchemaDetails extends AbstractSchemaDetailsPanel {
@@ -43,16 +51,21 @@ public class VirSchemaDetails extends AbstractSchemaDetailsPanel {
private final ResourceRestClient resourceRestClient = new ResourceRestClient();
- private Map<String, String> anys = new HashMap<>();
+ private final ConnectorRestClient connRestClient = new ConnectorRestClient();
- private final AjaxDropDownChoicePanel<String> provision;
+ private final Map<String, String> anyTypes = new HashMap<>();
+
+ private final AjaxDropDownChoicePanel<String> anyType;
+
+ private ResourceTO selectedResource;
public VirSchemaDetails(final String id,
final PageReference pageReference,
final AbstractSchemaTO schemaTO) {
+
super(id, pageReference, schemaTO);
- final AjaxCheckBoxPanel readonly = new AjaxCheckBoxPanel("readonly", getString("readonly"),
+ AjaxCheckBoxPanel readonly = new AjaxCheckBoxPanel("readonly", getString("readonly"),
new PropertyModel<Boolean>(schemaTO, "readonly"));
schemaForm.add(readonly);
@@ -60,26 +73,28 @@ public class VirSchemaDetails extends AbstractSchemaDetailsPanel {
"resource", getString("resource"), new PropertyModel<String>(schemaTO, "resource"));
resource.setChoices(CollectionUtils.collect(resourceRestClient.list(),
EntityTOUtils.<ResourceTO>keyTransformer(), new ArrayList<String>()));
-
resource.setOutputMarkupId(true);
resource.addRequiredLabel();
+ if (resource.getModelObject() != null) {
+ populateAnyTypes(resource.getModelObject());
+ }
schemaForm.add(resource);
- provision = new AjaxDropDownChoicePanel<>(
- "provision", getString("provision"), new PropertyModel<String>(schemaTO, "provision"));
-
- provision.setChoices(new ArrayList<>(anys.keySet()));
- provision.setChoiceRenderer(new AnyTypeRenderer());
- provision.setOutputMarkupId(true);
- provision.setOutputMarkupPlaceholderTag(true);
- provision.addRequiredLabel();
- provision.setVisible(false);
-
- schemaForm.add(provision);
+ anyType = new AjaxDropDownChoicePanel<>(
+ "anyType", getString("anyType"), new PropertyModel<String>(schemaTO, "anyType"));
+ anyType.setChoices(new ArrayList<>(anyTypes.keySet()));
+ anyType.setOutputMarkupId(true);
+ anyType.setOutputMarkupPlaceholderTag(true);
+ anyType.addRequiredLabel();
+ schemaForm.add(anyType);
final AjaxTextFieldPanel extAttrName = new AjaxTextFieldPanel(
"extAttrName", getString("extAttrName"), new PropertyModel<String>(schemaTO, "extAttrName"));
+ extAttrName.setOutputMarkupId(true);
extAttrName.addRequiredLabel();
+ if (selectedResource != null) {
+ extAttrName.setChoices(getExtAttrNames());
+ }
schemaForm.add(extAttrName);
add(schemaForm);
@@ -90,36 +105,56 @@ public class VirSchemaDetails extends AbstractSchemaDetailsPanel {
@Override
protected void onUpdate(final AjaxRequestTarget target) {
- anys.clear();
- if (resource != null & resource.getModelObject() != null) {
- for (ProvisionTO provisionTO : resourceRestClient.read(resource.getModelObject()).getProvisions()) {
- anys.put(provisionTO.getKey(), provisionTO.getAnyType());
- }
+ anyTypes.clear();
+ if (resource.getModelObject() != null) {
+ populateAnyTypes(resource.getModelObject());
}
- provision.setChoices(new ArrayList<>(anys.keySet()));
- provision.setModelObject(null);
- provision.setVisible(true);
- target.add(provision);
+ anyType.setChoices(new ArrayList<>(anyTypes.keySet()));
+ anyType.setModelObject(null);
+ target.add(anyType);
}
});
- }
- private class AnyTypeRenderer extends ChoiceRenderer<String> {
+ anyType.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
- private static final long serialVersionUID = 2840364232128308553L;
+ private static final long serialVersionUID = -1107858522700306810L;
- AnyTypeRenderer() {
- super();
- }
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ if (selectedResource != null && SyncopeConsoleSession.get().owns(StandardEntitlement.CONNECTOR_READ)) {
+ extAttrName.setChoices(getExtAttrNames());
+ target.add(extAttrName);
+ }
+ }
+ });
+ }
- @Override
- public Object getDisplayValue(final String object) {
- return anys.get(object);
+ private void populateAnyTypes(final String resourceKey) {
+ anyTypes.clear();
+ if (resourceKey != null && SyncopeConsoleSession.get().owns(StandardEntitlement.RESOURCE_READ)) {
+ selectedResource = resourceRestClient.read(resourceKey);
+ for (ProvisionTO provisionTO : selectedResource.getProvisions()) {
+ anyTypes.put(provisionTO.getAnyType(), provisionTO.getObjectClass());
+ }
}
+ }
- @Override
- public String getIdValue(final String object, final int index) {
- return String.valueOf(object != null ? object : 0L);
- }
+ private List<String> getExtAttrNames() {
+ ConnInstanceTO connInstanceTO = new ConnInstanceTO();
+ connInstanceTO.setKey(selectedResource.getConnector());
+ connInstanceTO.getConf().addAll(selectedResource.getConfOverride());
+
+ ConnIdObjectClassTO connIdObjectClass = IterableUtils.find(
+ connRestClient.buildObjectClassInfo(connInstanceTO, false), new Predicate<ConnIdObjectClassTO>() {
+
+ @Override
+ public boolean evaluate(final ConnIdObjectClassTO object) {
+ return object.getType().equals(anyTypes.get(anyType.getModelObject()));
+ }
+ });
+
+ return connIdObjectClass == null
+ ? Collections.<String>emptyList()
+ : connIdObjectClass.getAttributes();
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
index 355b974..a6ad2eb 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
@@ -122,63 +122,18 @@ public class SchemaRestClient extends BaseRestClient {
return getSchemaNames(SchemaType.VIRTUAL);
}
- public void createPlainSchema(final PlainSchemaTO schemaTO) {
- getService(SchemaService.class).create(SchemaType.PLAIN, schemaTO);
- }
-
- public PlainSchemaTO readPlainSchema(final String name) {
- PlainSchemaTO schema = null;
-
- try {
- schema = getService(SchemaService.class).read(SchemaType.PLAIN, name);
- } catch (SyncopeClientException e) {
- LOG.error("While reading a user schema", e);
- }
- return schema;
- }
-
- public void updatePlainSchema(final PlainSchemaTO schemaTO) {
- getService(SchemaService.class).update(SchemaType.PLAIN, schemaTO);
- }
-
public PlainSchemaTO deletePlainSchema(final String name) {
PlainSchemaTO response = getService(SchemaService.class).read(SchemaType.PLAIN, name);
getService(SchemaService.class).delete(SchemaType.PLAIN, name);
return response;
}
- public void createDerSchema(final DerSchemaTO schemaTO) {
- getService(SchemaService.class).create(SchemaType.DERIVED, schemaTO);
- }
-
- public DerSchemaTO readDerSchema(final String name) {
- DerSchemaTO derivedSchemaTO = null;
- try {
- derivedSchemaTO = getService(SchemaService.class).read(SchemaType.DERIVED, name);
- } catch (SyncopeClientException e) {
- LOG.error("While reading a derived user schema", e);
- }
- return derivedSchemaTO;
- }
-
- public void updateVirSchema(final VirSchemaTO schemaTO) {
- getService(SchemaService.class).update(SchemaType.VIRTUAL, schemaTO);
- }
-
public DerSchemaTO deleteDerSchema(final String name) {
DerSchemaTO schemaTO = getService(SchemaService.class).read(SchemaType.DERIVED, name);
getService(SchemaService.class).delete(SchemaType.DERIVED, name);
return schemaTO;
}
- public void createVirSchema(final VirSchemaTO schemaTO) {
- getService(SchemaService.class).create(SchemaType.VIRTUAL, schemaTO);
- }
-
- public void updateDerSchema(final DerSchemaTO schemaTO) {
- getService(SchemaService.class).update(SchemaType.DERIVED, schemaTO);
- }
-
public VirSchemaTO deleteVirSchema(final String name) {
VirSchemaTO schemaTO = getService(SchemaService.class).read(SchemaType.VIRTUAL, name);
getService(SchemaService.class).delete(SchemaType.VIRTUAL, name);
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
index 5ab7913..267b425 100644
--- a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
+++ b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
@@ -229,8 +229,8 @@ a.help span a {
}
.wizard-view {
- max-height: 500px;
- height: 500px;
+ max-height: 450px;
+ height: 450px;
overflow-y: auto;
overflow-x: hidden;
padding: 0px 5px 0px 5px;
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.properties
index 25e0f29..686675a 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.properties
@@ -25,5 +25,6 @@ type=Type
title=Schema
readonly=Read-only
expression=Expression
-provision=Provision
+resource=Resource
extAttrName=ExtAttrName
+anyType=Type
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_it.properties
index d859636..52622d0 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_it.properties
@@ -25,5 +25,6 @@ title=Schema
readonly=Read-only
uniqueConstraint=Univoco
expression=Express\u00e3o
-provision=Provision
+resource=Resource
extAttrName=ExtAttrName
+anyType=Tipo
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_pt_BR.properties
index 7fef998..ed0e5fb 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_pt_BR.properties
@@ -25,5 +25,6 @@ type=Tipo
title=Esquema
readonly=Apenas leitura
expression=Espressione
-provision=Provision
+resource=Resource
extAttrName=ExtAttrName
+anyType=Type
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_ru.properties
index bd92235..b18d2d2 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel_ru.properties
@@ -15,29 +15,30 @@
# specific language governing permissions and limitations
# under the License.
#
-# any.edit=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ${key}
+# any.edit=\u00d0\u0098\u00d0\u00b7\u00d0\u00bc\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u0082\u00d1\u008c \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082 ${key}
any.edit=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ${key}
-# any.new=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442
+# any.new=\u00d0\u00a1\u00d0\u00be\u00d0\u00b7\u00d0\u00b4\u00d0\u00b0\u00d1\u0082\u00d1\u008c \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082
any.new=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442
-# mandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439
+# mandatoryCondition=\u00d0\u009e\u00d0\u00b1\u00d1\u008f\u00d0\u00b7\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d1\u008b\u00d0\u00b9
mandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439
-# enumerationValues=\u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439
+# enumerationValues=\u00d0\u009f\u00d0\u00b5\u00d1\u0080\u00d0\u00b5\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d1\u008c \u00d0\u00b7\u00d0\u00bd\u00d0\u00b0\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b9
enumerationValues=\u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439
-# enumerationKeys=\u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439
+# enumerationKeys=\u00d0\u009f\u00d0\u00b5\u00d1\u0080\u00d0\u00b5\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d1\u008c \u00d0\u00bd\u00d0\u00b0\u00d0\u00b8\u00d0\u00bc\u00d0\u00b5\u00d0\u00bd\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b9
enumerationKeys=\u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439
-# uniqueConstraint=\u0423\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439
+# uniqueConstraint=\u00d0\u00a3\u00d0\u00bd\u00d0\u00b8\u00d0\u00ba\u00d0\u00b0\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d1\u008b\u00d0\u00b9
uniqueConstraint=\u0423\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439
-# multivalue=\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
+# multivalue=\u00d0\u009c\u00d0\u00bd\u00d0\u00be\u00d0\u00b6\u00d0\u00b5\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b5\u00d0\u00bd\u00d0\u00bd\u00d1\u008b\u00d0\u00b5 \u00d0\u00b7\u00d0\u00bd\u00d0\u00b0\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
multivalue=\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
-# type=\u0422\u0438\u043f
+# type=\u00d0\u00a2\u00d0\u00b8\u00d0\u00bf
type=\u0422\u0438\u043f
-# title=\u0410\u0442\u0440\u0438\u0431\u0443\u0442
+# title=\u00d0\u0090\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082
title=\u0410\u0442\u0440\u0438\u0431\u0443\u0442
-# readonly=\u0422\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u0435\u043d\u0438\u0435
+# readonly=\u00d0\u00a2\u00d0\u00be\u00d0\u00bb\u00d1\u008c\u00d0\u00ba\u00d0\u00be \u00d1\u0087\u00d1\u0082\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
readonly=\u0422\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u0435\u043d\u0438\u0435
-# expression=\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435
+# expression=\u00d0\u0092\u00d1\u008b\u00d1\u0080\u00d0\u00b0\u00d0\u00b6\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
expression=\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435
-# provision=\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435
-provision=\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435
-# extAttrName=\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442
+# provision=\u00d0\u009f\u00d1\u0080\u00d0\u00b5\u00d0\u00b4\u00d0\u00be\u00d1\u0081\u00d1\u0082\u00d0\u00b0\u00d0\u00b2\u00d0\u00bb\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+resource=Resource
+# extAttrName=\u00d0\u0092\u00d0\u00bd\u00d0\u00b5\u00d1\u0088\u00d0\u00bd\u00d0\u00b8\u00d0\u00b9 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082
extAttrName=\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442
+anyType=Type
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.html
index abdf05b..86d2ed6 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.html
@@ -31,7 +31,7 @@ under the License.
<span wicket:id="resource">[resource]</span>
</div>
<div class="form-group">
- <span wicket:id="provision">[provision]</span>
+ <span wicket:id="anyType">[anyType]</span>
</div>
<div class="form-group">
<span wicket:id="extAttrName">[extAttrName]</span>
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.properties
index d76fa24..a93c17a 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails.properties
@@ -20,5 +20,5 @@ attributes=Virtual attributes
title=Virtual Schema
readonly=Read-only
resource=Resource
-provision=Provision
+anyType=Type
extAttrName=External attribute
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_it.properties
index 1dc21b0..24de325 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_it.properties
@@ -20,5 +20,5 @@ attributes=Attributi virtuali
title=Schema Virtuale
readonly=Read-only
resource=Risorsa
-provision=Provision
+anyType=Tipo
extAttrName=Attributo esterno
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_pt_BR.properties
index e47e9e8..c757d89 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_pt_BR.properties
@@ -20,5 +20,5 @@ attributes=Atributos Virtuais
title=Esquema Virtual
readonly=Apenas Leitura
resource=Recurso
-provision=Provision
+anyType=Type
extAttrName=Atributo Externo
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_ru.properties
index 05ca185..87eb459 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/VirSchemaDetails_ru.properties
@@ -14,20 +14,11 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-#
-# required_alert=\u0412\u0441\u0435 \u043f\u043e\u043b\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.
required_alert=\u0412\u0441\u0435 \u043f\u043e\u043b\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.
-# edit_attribute=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442
edit_attribute=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442
-# attributes=\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b
attributes=\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b
-# title=\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430
title=\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430
-# readonly=\u0422\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u0435\u043d\u0438\u0435
readonly=\u0422\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u0435\u043d\u0438\u0435
-# resource=\u0420\u0435\u0441\u0443\u0440\u0441
resource=\u0420\u0435\u0441\u0443\u0440\u0441
-# provision=\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435
-provision=\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435
-# extAttrName=\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442
+anyType=Type
extAttrName=\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
index 2d0710a..1f10e6b 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
@@ -29,7 +29,7 @@ public class VirSchemaTO extends AbstractSchemaTO {
private String resource;
- private String provision;
+ private String anyType;
private String extAttrName;
@@ -49,12 +49,12 @@ public class VirSchemaTO extends AbstractSchemaTO {
this.resource = resource;
}
- public String getProvision() {
- return provision;
+ public String getAnyType() {
+ return anyType;
}
- public void setProvision(final String provision) {
- this.provision = provision;
+ public void setAnyType(final String anyType) {
+ this.anyType = anyType;
}
public String getExtAttrName() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/ExternalResourceDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/ExternalResourceDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/ExternalResourceDAO.java
index 94914a9..51dd04b 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/ExternalResourceDAO.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/ExternalResourceDAO.java
@@ -31,8 +31,6 @@ public interface ExternalResourceDAO extends DAO<ExternalResource> {
ExternalResource find(String key);
- Provision findProvision(String key);
-
List<Provision> findProvisionsByAuxClass(AnyTypeClass anyTypeClass);
List<ExternalResource> findByPolicy(Policy policy);
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
index 1c56720..9692782 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
@@ -91,11 +91,6 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource> implem
}
@Override
- public Provision findProvision(final String key) {
- return entityManager().find(JPAProvision.class, key);
- }
-
- @Override
public List<Provision> findProvisionsByAuxClass(final AnyTypeClass anyTypeClass) {
TypedQuery<Provision> query = entityManager().createQuery(
"SELECT e FROM " + JPAProvision.class.getSimpleName()
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/VirSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/VirSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/VirSchemaTest.java
index 334f4a8..7a5b12e 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/VirSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/VirSchemaTest.java
@@ -23,8 +23,8 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import java.util.UUID;
import org.apache.syncope.common.lib.types.IntMappingType;
+import org.apache.syncope.core.persistence.api.dao.AnyTypeDAO;
import org.apache.syncope.core.persistence.api.dao.ExternalResourceDAO;
import org.apache.syncope.core.persistence.api.dao.VirSchemaDAO;
import org.apache.syncope.core.persistence.api.entity.VirSchema;
@@ -44,9 +44,12 @@ public class VirSchemaTest extends AbstractTest {
@Autowired
private ExternalResourceDAO resourceDAO;
+ @Autowired
+ private AnyTypeDAO anyTypeDAO;
+
@Test
public void deal() {
- Provision provision = resourceDAO.findProvision("209ea85f-f964-49c7-a498-6c9c2baa3bd8");
+ Provision provision = resourceDAO.find("ws-target-resource-1").getProvision(anyTypeDAO.findUser());
assertNotNull(provision);
assertTrue(virSchemaDAO.findByProvision(provision).isEmpty());
@@ -64,7 +67,7 @@ public class VirSchemaTest extends AbstractTest {
assertTrue(virSchema.isReadonly());
assertEquals("EXT_ATTR", virSchema.getExtAttrName());
- provision = resourceDAO.findProvision("209ea85f-f964-49c7-a498-6c9c2baa3bd8");
+ provision = resourceDAO.find("ws-target-resource-1").getProvision(anyTypeDAO.findUser());
assertNotNull(provision);
assertFalse(virSchemaDAO.findByProvision(provision).isEmpty());
assertTrue(virSchemaDAO.findByProvision(provision).contains(virSchema));
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
index ac28f14..10e4f73 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
@@ -34,13 +34,16 @@ import org.apache.syncope.core.persistence.api.entity.VirSchema;
import org.apache.syncope.core.spring.BeanUtils;
import org.apache.syncope.core.provisioning.java.jexl.JexlUtils;
import org.apache.syncope.core.persistence.api.dao.AnyTypeClassDAO;
+import org.apache.syncope.core.persistence.api.dao.AnyTypeDAO;
import org.apache.syncope.core.persistence.api.dao.DerSchemaDAO;
import org.apache.syncope.core.persistence.api.dao.ExternalResourceDAO;
import org.apache.syncope.core.persistence.api.dao.VirSchemaDAO;
+import org.apache.syncope.core.persistence.api.entity.AnyType;
import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
import org.apache.syncope.core.persistence.api.entity.AnyUtils;
import org.apache.syncope.core.persistence.api.entity.AnyUtilsFactory;
import org.apache.syncope.core.persistence.api.entity.EntityFactory;
+import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
import org.apache.syncope.core.persistence.api.entity.resource.Provision;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -70,6 +73,9 @@ public class SchemaDataBinderImpl implements SchemaDataBinder {
private ExternalResourceDAO resourceDAO;
@Autowired
+ private AnyTypeDAO anyTypeDAO;
+
+ @Autowired
private EntityFactory entityFactory;
@Autowired
@@ -238,10 +244,23 @@ public class SchemaDataBinderImpl implements SchemaDataBinder {
schema.setAnyTypeClass(null);
}
- Provision provision = resourceDAO.findProvision(schemaTO.getProvision());
+ ExternalResource resource = resourceDAO.find(schemaTO.getResource());
+ if (resource == null) {
+ SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidSchemaDefinition);
+ sce.getElements().add("Resource " + schemaTO.getResource() + " not found");
+ throw sce;
+ }
+ AnyType anyType = anyTypeDAO.find(schemaTO.getAnyType());
+ if (anyType == null) {
+ SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidSchemaDefinition);
+ sce.getElements().add("AnyType " + schemaTO.getAnyType() + " not found");
+ throw sce;
+ }
+ Provision provision = resource.getProvision(anyType);
if (provision == null) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidSchemaDefinition);
- sce.getElements().add("Provision " + schemaTO.getProvision() + " not found");
+ sce.getElements().add("Provision for AnyType" + schemaTO.getAnyType()
+ + " not found in " + schemaTO.getResource());
throw sce;
}
schema.setProvision(provision);
@@ -265,7 +284,7 @@ public class SchemaDataBinderImpl implements SchemaDataBinder {
BeanUtils.copyProperties(schema, schemaTO, IGNORE_PROPERTIES);
schemaTO.setAnyTypeClass(schema.getAnyTypeClass() == null ? null : schema.getAnyTypeClass().getKey());
schemaTO.setResource(schema.getProvision().getResource().getKey());
- schemaTO.setProvision(schema.getProvision().getKey());
+ schemaTO.setAnyType(schema.getProvision().getAnyType().getKey());
return schemaTO;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/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 04fc00a..413d80d 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
@@ -109,7 +109,8 @@ public class VirAttrITCase extends AbstractITCase {
VirSchemaTO virSchema = new VirSchemaTO();
virSchema.setKey("syncope260" + getUUIDString());
virSchema.setExtAttrName("companyName");
- virSchema.setProvision(provision.getKey());
+ virSchema.setResource(RESOURCE_NAME_WS2);
+ virSchema.setAnyType(provision.getAnyType());
virSchema = createSchema(SchemaType.VIRTUAL, virSchema);
assertNotNull(virSchema);
@@ -286,7 +287,8 @@ public class VirAttrITCase extends AbstractITCase {
VirSchemaTO virSchema = new VirSchemaTO();
virSchema.setKey("syncope397" + getUUIDString());
virSchema.setExtAttrName("email");
- virSchema.setProvision(provision.getKey());
+ virSchema.setResource(RESOURCE_NAME_CSV);
+ virSchema.setAnyType(provision.getAnyType());
virSchema = createSchema(SchemaType.VIRTUAL, virSchema);
assertNotNull(virSchema);
@@ -467,7 +469,8 @@ public class VirAttrITCase extends AbstractITCase {
rvirtualdata = new VirSchemaTO();
rvirtualdata.setKey("rvirtualdata");
rvirtualdata.setExtAttrName("businessCategory");
- rvirtualdata.setProvision("20a75199-3f2e-4b9a-9510-c68dd7fc7b3d");
+ rvirtualdata.setResource(RESOURCE_NAME_LDAP);
+ rvirtualdata.setAnyType(AnyTypeKind.GROUP.name());
rvirtualdata = createSchema(SchemaType.VIRTUAL, rvirtualdata);
}
@@ -651,7 +654,8 @@ public class VirAttrITCase extends AbstractITCase {
VirSchemaTO virSchema = new VirSchemaTO();
virSchema.setKey("syncope691" + getUUIDString());
virSchema.setExtAttrName("mail");
- virSchema.setProvision(provision.getKey());
+ virSchema.setResource(ldap.getKey());
+ virSchema.setAnyType(provision.getAnyType());
virSchema = createSchema(SchemaType.VIRTUAL, virSchema);
assertNotNull(virSchema);
http://git-wip-us.apache.org/repos/asf/syncope/blob/951a64a7/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
index 84d378a..fbe264e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
@@ -62,11 +62,12 @@ public class VirSchemaITCase extends AbstractITCase {
VirSchemaTO schema = new VirSchemaTO();
schema.setKey("virtualTest" + getUUIDString());
schema.setExtAttrName("name");
- schema.setProvision(csv.getProvisions().get(0).getKey());
+ schema.setResource(RESOURCE_NAME_CSV);
+ schema.setAnyType(csv.getProvisions().get(0).getAnyType());
schema = createSchema(SchemaType.VIRTUAL, schema);
assertNotNull(schema);
- assertEquals(csv.getProvisions().get(0).getKey(), schema.getProvision());
+ assertEquals(csv.getProvisions().get(0).getAnyType(), schema.getAnyType());
csv = resourceService.read(RESOURCE_NAME_CSV);
assertNotNull(csv);
@@ -138,7 +139,8 @@ public class VirSchemaITCase extends AbstractITCase {
VirSchemaTO schema = new VirSchemaTO();
schema.setKey("http://schemas.examples.org/security/authorization/organizationUnit");
schema.setExtAttrName("name");
- schema.setProvision(ws1.getProvisions().get(0).getKey());
+ schema.setResource(RESOURCE_NAME_WS1);
+ schema.setAnyType(ws1.getProvisions().get(0).getAnyType());
try {
createSchema(SchemaType.VIRTUAL, schema);