You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2016/04/18 10:05:53 UTC
[1/7] syncope git commit: [SYNCOPE-156,
SYNCOPE-817] provides wizard to manage resources and connectors
Repository: syncope
Updated Branches:
refs/heads/master a25e923bc -> 1735c44c1
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
index 557b4f1..88ae5b2 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
@@ -70,7 +70,7 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:3:cell:panelClone:cloneLink");
- FormTester formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ FormTester formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:cancel");
@@ -87,38 +87,38 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink");
- wicketTester.assertComponent(tabPanel + "modal:form:content:form:view:status:resources:firstLevelContainer:"
- + "first:container:content:group:beans:0:fields:0", ListItem.class);
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:0:outer:form:content:form:view:status:"
+ + "resources:firstLevelContainer:first:container:content:group:beans:0:fields:0", ListItem.class);
- FormTester formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ FormTester formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
wicketTester.cleanupFeedbackMessages();
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:finish");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.assertComponent(tabPanel
- + "modal:form:content:customResultBody:resources:firstLevelContainer:first:container:content:"
- + "group:beans:0:fields:0:field", Label.class);
+ + "outerObjectsRepeater:0:outer:form:content:customResultBody:resources:"
+ + "firstLevelContainer:first:container:content:group:beans:0:fields:0:field", Label.class);
- wicketTester.clickLink(tabPanel + "modal:form:content:action:panelClose:closeLink");
+ wicketTester.clickLink(tabPanel + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
component = findComponentByProp("key", searchResultContainer
+ ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", 1L);
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
index e1c0697..eeeeaf9 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
@@ -47,12 +47,11 @@ public class AnyTypeClassesITCase extends AbstractTypesITCase {
wicketTester.assertComponent(
result.getPageRelativePath() + ":cells:6:cell:panelEdit:editLink", IndicatingAjaxLink.class);
-
- wicketTester.clickLink(
- result.getPageRelativePath() + ":cells:6:cell:panelEdit:editLink");
+
+ wicketTester.clickLink(result.getPageRelativePath() + ":cells:6:cell:panelEdit:editLink");
wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", BaseModal.class);
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", BaseModal.class);
}
@Test
@@ -63,14 +62,16 @@ public class AnyTypeClassesITCase extends AbstractTypesITCase {
wicketTester.clickLink("body:content:tabbedPanel:panel:container:content:add");
wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", Modal.class);
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", Modal.class);
- final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ final FormTester formTester
+ = wicketTester.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:anyTypeClassDetailsPanel:form:key:textField", anyTypeClassTest);
formTester.setValue(
"content:anyTypeClassDetailsPanel:form:container:derSchemas:paletteField:recorder", "mderiveddata");
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.clearFeedbackMessages();
@@ -102,11 +103,13 @@ public class AnyTypeClassesITCase extends AbstractTypesITCase {
DATATABLE_PATH
+ ":tablePanel:groupForm:checkgroup:dataTable:body:rows:1:cells:6:cell:panelEdit:editLink");
- final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ final FormTester formTester
+ = wicketTester.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue(
"content:anyTypeClassDetailsPanel:form:container:plainSchemas:paletteField:recorder", plainSchema);
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
index fc07ea5..40ffdf3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
@@ -53,8 +53,7 @@ public class AnyTypesITCase extends AbstractTypesITCase {
wicketTester.clickLink(
result.getPageRelativePath() + ":cells:4:cell:panelEdit:editLink");
- wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", BaseModal.class);
+ wicketTester.assertComponent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", BaseModal.class);
}
@Test
@@ -64,15 +63,15 @@ public class AnyTypesITCase extends AbstractTypesITCase {
wicketTester.clickLink("body:content:tabbedPanel:panel:container:content:add");
- wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", Modal.class);
- final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ final FormTester formTester = wicketTester.newFormTester(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:anyTypeDetailsPanel:container:form:key:textField", anyTypeTest);
- formTester.setValue(
- "content:anyTypeDetailsPanel:container:form:classes:paletteField:recorder", "csv");
+ formTester.setValue("content:anyTypeDetailsPanel:container:form:classes:paletteField:recorder", "csv");
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.clearFeedbackMessages();
@@ -102,12 +101,13 @@ public class AnyTypesITCase extends AbstractTypesITCase {
DATATABLE_PATH
+ ":tablePanel:groupForm:checkgroup:dataTable:body:rows:1:cells:4:cell:panelEdit:editLink");
- final FormTester formTester =
- wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ final FormTester formTester = wicketTester.newFormTester(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue(
"content:anyTypeDetailsPanel:container:form:classes:paletteField:recorder", name + ",minimal group");
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
index 3ecf4d3..fcce73f 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
@@ -79,31 +79,31 @@ public class BulkActionITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath()
+ ":cells:6:cell:panelManageResources:manageResourcesLink");
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", WebMarkupContainer.class);
component = findComponentByProp("resourceName",
- tabPanel + "alternativeDefaultModal:form:content:status:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", "resource-csv");
assertNotNull(component);
FormTester formTester = wicketTester.newFormTester(
- tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+ "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
assertNotNull(formTester);
formTester.select("checkgroup", 1);
- wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
Constants.ON_CLICK);
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "secondLevelContainer:second:container", WebMarkupContainer.class);
- assertNotNull(findComponentByProp("resourceName", tabPanel + "alternativeDefaultModal:"
+ assertNotNull(findComponentByProp("resourceName", tabPanel + "outerObjectsRepeater:1:outer:"
+ "form:content:status:secondLevelContainer:second:container:selectedObjects", "resource-csv"));
}
@@ -120,29 +120,29 @@ public class BulkActionITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:6:cell:panelEnable:enableLink");
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", WebMarkupContainer.class);
FormTester formTester = wicketTester.newFormTester(
- tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+ "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
assertNotNull(formTester);
formTester.select("checkgroup", 2);
- wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
Constants.ON_CLICK);
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "secondLevelContainer:second:container", WebMarkupContainer.class);
- wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:"
+ wicketTester.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:"
+ "status:secondLevelContainer:second:container:actions:panelSuspend:suspendLink",
Constants.ON_CLICK);
- wicketTester.assertLabel(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertLabel(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:3:cell", "SUCCESS");
// re-activate
@@ -155,29 +155,29 @@ public class BulkActionITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:6:cell:panelEnable:enableLink");
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", WebMarkupContainer.class);
formTester = wicketTester.newFormTester(
- tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+ "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
assertNotNull(formTester);
formTester.select("checkgroup", 2);
- wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
Constants.ON_CLICK);
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "secondLevelContainer:second:container", WebMarkupContainer.class);
- wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:"
+ wicketTester.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:"
+ "status:secondLevelContainer:second:container:actions:panelReactivate:reactivateLink",
Constants.ON_CLICK);
- wicketTester.assertLabel(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertLabel(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:3:cell", "SUCCESS");
}
@@ -193,35 +193,35 @@ public class BulkActionITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath()
+ ":cells:4:cell:panelManageResources:manageResourcesLink");
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", WebMarkupContainer.class);
- wicketTester.clickLink(tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:first:"
+ wicketTester.clickLink(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:"
+ "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:"
+ "toolbars:1:headers:2:header:orderByLink", true);
component = findComponentByProp("resourceName",
- tabPanel + "alternativeDefaultModal:form:content:status:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", "ws-target-resource-1");
assertNotNull(component);
FormTester formTester = wicketTester.newFormTester(
- tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+ "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
assertNotNull(formTester);
formTester.select("checkgroup", 7);
- wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
Constants.ON_CLICK);
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "secondLevelContainer:second:container", WebMarkupContainer.class);
- assertNotNull(findComponentByProp("resourceName", tabPanel + "alternativeDefaultModal:"
+ assertNotNull(findComponentByProp("resourceName", tabPanel + "outerObjectsRepeater:1:outer:"
+ "form:content:status:secondLevelContainer:second:container:selectedObjects", "ws-target-resource-1"));
}
@@ -237,35 +237,35 @@ public class BulkActionITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath()
+ ":cells:3:cell:panelManageResources:manageResourcesLink");
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", WebMarkupContainer.class);
- wicketTester.clickLink(tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:first:"
+ wicketTester.clickLink(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:"
+ "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:"
+ "toolbars:1:headers:2:header:orderByLink", true);
component = findComponentByProp("resourceName",
- tabPanel + "alternativeDefaultModal:form:content:status:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
+ "checkgroup:dataTable", "ws-target-resource-1");
assertNotNull(component);
FormTester formTester = wicketTester.newFormTester(
- tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
+ tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+ "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
assertNotNull(formTester);
formTester.select("checkgroup", 7);
- wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
Constants.ON_CLICK);
- wicketTester.assertComponent(tabPanel + "alternativeDefaultModal:form:content:status:"
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+ "secondLevelContainer:second:container", WebMarkupContainer.class);
- assertNotNull(findComponentByProp("resourceName", tabPanel + "alternativeDefaultModal:"
+ assertNotNull(findComponentByProp("resourceName", tabPanel + "outerObjectsRepeater:1:outer:"
+ "form:content:status:secondLevelContainer:second:container:selectedObjects", "ws-target-resource-1"));
}
@@ -276,7 +276,7 @@ public class BulkActionITCase extends AbstractConsoleITCase {
Component component = findComponentByProp("key", "body:resources", "resource-testdb");
assertNotNull(component);
wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
- wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:propagation");
+ wicketTester.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:propagation");
FormTester formTester = wicketTester.newFormTester(
"body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:container:"
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
index 8ddaaad..7627467 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
@@ -45,7 +45,7 @@ public class DisplayAttributesITCase extends AbstractConsoleITCase {
+ "toolbars:1:headers:3:header:label:panelChangeView:changeViewLink");
wicketTester.assertComponent(
- "body:content:body:tabbedPanel:panel:searchResult:displayAttributeModal", Modal.class);
+ "body:content:body:tabbedPanel:panel:searchResult:outerObjectsRepeater:2:outer", Modal.class);
}
@Test
@@ -57,15 +57,16 @@ public class DisplayAttributesITCase extends AbstractConsoleITCase {
+ "toolbars:1:headers:3:header:label:panelChangeView:changeViewLink");
wicketTester.assertComponent(
- "body:content:body:tabbedPanel:panel:searchResult:displayAttributeModal", Modal.class);
+ "body:content:body:tabbedPanel:panel:searchResult:outerObjectsRepeater:2:outer", Modal.class);
final FormTester formTester = wicketTester.newFormTester(
- "body:content:body:tabbedPanel:panel:searchResult:displayAttributeModal:form");
+ "body:content:body:tabbedPanel:panel:searchResult:outerObjectsRepeater:2:outer:form");
formTester.setValue("content:container:details:paletteField:recorder", "status");
wicketTester.clickLink(
- "body:content:body:tabbedPanel:panel:searchResult:displayAttributeModal:dialog:footer:inputs:0:submit");
+ "body:content:body:tabbedPanel:panel:searchResult:outerObjectsRepeater:2:outer:dialog:footer:"
+ + "inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.clearFeedbackMessages();
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
index 4a13b3d..9153cde 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
@@ -69,11 +69,12 @@ public class GroupsITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:4:cell:panelClone:cloneLink");
- wicketTester.assertComponent(tabPanel + "modal:form:content:form:view:name:textField", TextField.class);
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:0:outer:form:content:form:view:name:textField",
+ TextField.class);
- FormTester formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ FormTester formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
-
+
formTester.submit("buttons:cancel");
}
@@ -88,48 +89,49 @@ public class GroupsITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:4:cell:panelEdit:editLink");
- wicketTester.assertComponent(tabPanel + "modal:form:content:form:view:name:textField", TextField.class);
+ wicketTester.assertComponent(tabPanel + "outerObjectsRepeater:0:outer:form:content:form:view:name:textField",
+ TextField.class);
- FormTester formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ FormTester formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:finish");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.assertComponent(tabPanel
- + "modal:form:content:customResultBody:resources:firstLevelContainer:first:container:content:"
- + "group:beans:0:fields:0:field", Label.class);
+ + "outerObjectsRepeater:0:outer:form:content:customResultBody:resources:firstLevelContainer:first:"
+ + "container:content:group:beans:0:fields:0:field", Label.class);
- wicketTester.clickLink(tabPanel + "modal:form:content:action:panelClose:closeLink");
+ wicketTester.clickLink(tabPanel + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
component = findComponentByProp("name", searchResultContainer
+ ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "root");
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
index 4b079df..72ed660 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
@@ -36,17 +36,17 @@ public class NotificationsITCase extends AbstractConsoleITCase {
private void createNotification(final String sender, final String subject) {
wicketTester.clickLink("body:content:tabbedPanel:panel:container:content:add");
- wicketTester.assertComponent("body:content:tabbedPanel:panel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", Modal.class);
- FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ FormTester formTester = wicketTester.newFormTester(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
// -------------------------------
// generate event to populate recipientAttrName
// -------------------------------
formTester.setValue("content:form:view:recipientAttrType:dropDownChoiceField", "3");
- wicketTester.executeAjaxEvent(
- "body:content:tabbedPanel:panel:modal:form:content:form:view:recipientAttrType:dropDownChoiceField",
- Constants.ON_CHANGE);
+ wicketTester.executeAjaxEvent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form:content:"
+ + "form:view:recipientAttrType:dropDownChoiceField", Constants.ON_CHANGE);
// -------------------------------
formTester.select("content:form:view:recipientAttrType:dropDownChoiceField", 3);
@@ -61,13 +61,13 @@ public class NotificationsITCase extends AbstractConsoleITCase {
formTester.submit("content:form:buttons:next");
wicketTester.assertNoErrorMessage();
- formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
// -------------------------------
// generate event to populate eventsPanel
// -------------------------------
formTester.setValue("content:form:view:eventSelection:categoryContainer:category:dropDownChoiceField", "0");
- wicketTester.executeAjaxEvent("body:content:tabbedPanel:panel:modal:form:"
+ wicketTester.executeAjaxEvent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form:"
+ "content:form:view:eventSelection:categoryContainer:category:dropDownChoiceField",
Constants.ON_CHANGE);
// -------------------------------
@@ -76,7 +76,7 @@ public class NotificationsITCase extends AbstractConsoleITCase {
// select event template
// -------------------------------
formTester.setValue("content:form:view:eventSelection:eventsContainer:eventsPanel:successGroup", "check0");
- wicketTester.executeAjaxEvent("body:content:tabbedPanel:panel:modal:form:content:"
+ wicketTester.executeAjaxEvent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form:content:"
+ "form:view:eventSelection:eventsContainer:eventsPanel:successGroup",
Constants.ON_CLICK);
// -------------------------------
@@ -88,15 +88,15 @@ public class NotificationsITCase extends AbstractConsoleITCase {
formTester.submit("content:form:buttons:next");
wicketTester.assertNoErrorMessage();
- formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
wicketTester.cleanupFeedbackMessages();
formTester.submit("content:form:buttons:next");
wicketTester.assertNoErrorMessage();
wicketTester.assertNoInfoMessage();
- formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
- wicketTester.executeAjaxEvent("body:content:tabbedPanel:panel:modal:form:content:form:view:staticRecipients:"
- + "multiValueContainer:innerForm:content:panelPlus:add", Constants.ON_CLICK);
+ formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
+ wicketTester.executeAjaxEvent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form:content:form:"
+ + "view:staticRecipients:multiValueContainer:innerForm:content:panelPlus:add", Constants.ON_CLICK);
formTester.setValue("content:form:view:staticRecipients:multiValueContainer:innerForm:content:view:0:panel:"
+ "textField", "recipient@syncope.org");
formTester.setValue("content:form:view:selfAsRecipient:checkboxField", true);
@@ -135,7 +135,8 @@ public class NotificationsITCase extends AbstractConsoleITCase {
wicketTester.clickLink(
result.getPageRelativePath() + ":cells:7:cell:panelEdit:editLink");
- FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ FormTester formTester = wicketTester.newFormTester(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
wicketTester.assertInfoMessages("Operation executed successfully");
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
index aca1a43..c0ebf94 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
@@ -50,12 +50,13 @@ public class ParametersITCase extends AbstractConsoleITCase {
wicketTester.assertComponent("body:content:parametersPanel", WebMarkupContainer.class);
wicketTester.clickLink("body:content:parametersPanel:container:content:add");
- wicketTester.assertComponent("body:content:parametersPanel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:parametersPanel:outerObjectsRepeater:0:outer", Modal.class);
- FormTester formTester = wicketTester.newFormTester("body:content:parametersPanel:modal:form");
+ FormTester formTester
+ = wicketTester.newFormTester("body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:parametersCreateWizardPanel:form:buttons:next");
- formTester = wicketTester.newFormTester("body:content:parametersPanel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:parametersCreateWizardPanel:form:view:content:schema:textField", "testParam");
formTester.setValue("content:parametersCreateWizardPanel:form:view:content:attrs:0:panel:textField", "test");
@@ -92,12 +93,13 @@ public class ParametersITCase extends AbstractConsoleITCase {
wicketTester.assertComponent("body:content:parametersPanel", WebMarkupContainer.class);
wicketTester.clickLink("body:content:parametersPanel:container:content:add");
- wicketTester.assertComponent("body:content:parametersPanel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:parametersPanel:outerObjectsRepeater:0:outer", Modal.class);
- FormTester formTester = wicketTester.newFormTester("body:content:parametersPanel:modal:form");
+ FormTester formTester
+ = wicketTester.newFormTester("body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:parametersCreateWizardPanel:form:buttons:next");
- formTester = wicketTester.newFormTester("body:content:parametersPanel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:parametersPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:parametersCreateWizardPanel:form:view:content:schema:textField", "deleteParam");
formTester.setValue("content:parametersCreateWizardPanel:form:view:content:attrs:0:panel:textField", "test");
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java
index 2df31fa..08cbf32 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java
@@ -51,7 +51,7 @@ public class RelationshipTypeITCase extends AbstractTypesITCase {
result.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink");
wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", BaseModal.class);
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", BaseModal.class);
}
@Test
@@ -84,11 +84,12 @@ public class RelationshipTypeITCase extends AbstractTypesITCase {
+ ":tablePanel:groupForm:checkgroup:dataTable:body:rows:1:cells:3:cell:panelEdit:editLink");
final FormTester formTester =
- wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ wicketTester.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue(
"content:relationshipTypeDetails:container:form:description:textField", "new description");
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
index 5a1c851..da619e1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
@@ -35,18 +35,18 @@ public class RolesITCase extends AbstractConsoleITCase {
private void createRole(final String name) {
wicketTester.clickLink("body:content:rolesPanel:container:content:add");
- wicketTester.assertComponent("body:content:rolesPanel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:rolesPanel:outerObjectsRepeater:0:outer", Modal.class);
- FormTester formTester = wicketTester.newFormTester("body:content:rolesPanel:modal:form");
+ FormTester formTester = wicketTester.newFormTester("body:content:rolesPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:form:view:key:textField", name);
formTester.submit("content:form:buttons:next");
- formTester = wicketTester.newFormTester("body:content:rolesPanel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:rolesPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:form:view:entitlements:paletteField:recorder",
"WORKFLOW_DEF_READ,NOTIFICATION_UPDATE,RELATIONSHIPTYPE_READ,RELATIONSHIPTYPE_LIST");
formTester.submit("content:form:buttons:next");
- formTester = wicketTester.newFormTester("body:content:rolesPanel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:rolesPanel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
wicketTester.assertInfoMessages("Operation executed successfully");
@@ -85,16 +85,16 @@ public class RolesITCase extends AbstractConsoleITCase {
wicketTester.clickLink(
result.getPageRelativePath() + ":cells:4:cell:panelEdit:editLink");
- FormTester formTester = wicketTester.newFormTester("body:content:rolesPanel:modal:form");
+ FormTester formTester = wicketTester.newFormTester("body:content:rolesPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:form:view:key:textField", "updateRole");
formTester.submit("content:form:buttons:next");
- formTester = wicketTester.newFormTester("body:content:rolesPanel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:rolesPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:form:view:entitlements:paletteField:recorder",
"WORKFLOW_DEF_READ,NOTIFICATION_UPDATE");
formTester.submit("content:form:buttons:next");
- formTester = wicketTester.newFormTester("body:content:rolesPanel:modal:form");
+ formTester = wicketTester.newFormTester("body:content:rolesPanel:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");
wicketTester.assertInfoMessages("Operation executed successfully");
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
index 2175ad2..d6b8add 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
@@ -55,7 +55,7 @@ public class SchemasITCase extends AbstractTypesITCase {
wicketTester.assertComponent(
"body:content:tabbedPanel:"
- + "panel:accordionPanel:tabs:0:body:content:modal:"
+ + "panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:"
+ "form:content:kindForm:kind:dropDownChoiceField", DropDownChoice.class);
}
@@ -66,15 +66,16 @@ public class SchemasITCase extends AbstractTypesITCase {
"body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:modal", Modal.class);
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
+ Modal.class);
final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:modal:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", "zBoolean");
formTester.setValue("content:details:form:type:dropDownChoiceField", "3");
wicketTester.clickLink("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:modal:dialog:footer:inputs:0:submit");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
@@ -96,15 +97,16 @@ public class SchemasITCase extends AbstractTypesITCase {
wicketTester.assertComponent(
"body:content:tabbedPanel:"
- + "panel:accordionPanel:tabs:0:body:content:modal:"
+ + "panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:"
+ "form:content:kindForm:kind:dropDownChoiceField", DropDownChoice.class);
FormTester formTester = wicketTester.newFormTester(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:modal:form");
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:multivalue:checkboxField", "true");
wicketTester.clickLink("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:modal:dialog:footer:inputs:0:submit", true);
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
+ true);
wicketTester.assertInfoMessages("Operation executed successfully");
}
@@ -118,15 +120,16 @@ public class SchemasITCase extends AbstractTypesITCase {
"body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:modal", Modal.class);
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
+ Modal.class);
final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:modal:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", schemaName);
formTester.setValue("content:details:form:type:dropDownChoiceField", "0");
wicketTester.clickLink("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:modal:dialog:footer:inputs:0:submit");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");;
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
index a3bb92d..d6bc897 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
@@ -38,14 +38,15 @@ public class SecurityQuestionsITCase extends AbstractConsoleITCase {
wicketTester.clickLink("body:content:securityQuestionPanel:container:content:add");
wicketTester.assertComponent(
- "body:content:securityQuestionPanel:modal", Modal.class);
+ "body:content:securityQuestionPanel:outerObjectsRepeater:0:outer", Modal.class);
- FormTester formTester = wicketTester.newFormTester("body:content:securityQuestionPanel"
- + ":modal:form");
+ FormTester formTester
+ = wicketTester.newFormTester("body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:securityQuestionDetailsPanel:container:form:content:textField",
name);
- wicketTester.clickLink("body:content:securityQuestionPanel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.cleanupFeedbackMessages();
@@ -90,11 +91,13 @@ public class SecurityQuestionsITCase extends AbstractConsoleITCase {
wicketTester.clickLink(result.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink");
- FormTester formTester = wicketTester.newFormTester("body:content:securityQuestionPanel:modal:form");
+ FormTester formTester
+ = wicketTester.newFormTester("body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:securityQuestionDetailsPanel:container:form:content:textField",
"What's your favorite car?");
- wicketTester.clickLink("body:content:securityQuestionPanel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.cleanupFeedbackMessages();
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
index edfcf04..89a2e3e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
@@ -48,18 +48,26 @@ public class TopologyITCase extends AbstractConsoleITCase {
public void showTopologyToggleMenu() {
wicketTester.clickLink("body:topologyLI:topology");
wicketTester.executeAjaxEvent("body:resources:2:resources:0:res", Constants.ON_CLICK);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:delete", AjaxLink.class);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:edit", AjaxLink.class);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:propagation", AjaxLink.class);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:pull",
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:delete",
+ AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:edit",
+ AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:propagation",
+ AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:pull",
+ AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:push",
AjaxLink.class);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:push", AjaxLink.class);
wicketTester.executeAjaxEvent("body:syncope", Constants.ON_CLICK);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:tasks", AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:tasks",
+ AjaxLink.class);
wicketTester.executeAjaxEvent("body:conns:0:conns:3:conn", Constants.ON_CLICK);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:create", AjaxLink.class);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:delete", AjaxLink.class);
- wicketTester.assertComponent("body:toggle:togglePanelContainer:container:actions:edit", AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:create",
+ AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:delete",
+ AjaxLink.class);
+ wicketTester.assertComponent("body:toggle:container:content:togglePanelContainer:container:actions:edit",
+ AjaxLink.class);
}
@Test
@@ -69,20 +77,19 @@ public class TopologyITCase extends AbstractConsoleITCase {
Component component = findComponentByProp("key", "body:resources", "ws-target-resource-1");
assertNotNull(component);
wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
- wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:edit");
+ wicketTester.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:edit");
- wicketTester.clickLink(
- "body:toggle:outerObjectsRepeater:0:outer:form:content:tabbedPanel:tabs-container:tabs:1:link");
+ FormTester formTester = wicketTester.newFormTester("body:toggle:outerObjectsRepeater:0:outer:form");
+ formTester.submit("content:form:buttons:next");
- wicketTester.clickLink("body:toggle:outerObjectsRepeater:0:outer:form:content:tabbedPanel:panel:container:"
+ wicketTester.clickLink("body:toggle:outerObjectsRepeater:0:outer:form:content:form:view:provision:container:"
+ "content:group:beans:0:actions:panelMapping:mappingLink");
- FormTester formTester = wicketTester.newFormTester(
- "body:toggle:outerObjectsRepeater:0:outer:form:content:tabbedPanel:panel:container:"
- + "content:wizard:form");
+ formTester = wicketTester.newFormTester("body:toggle:outerObjectsRepeater:0:outer:form:content:form:view:"
+ + "provision:container:content:wizard:form");
formTester.submit("buttons:next");
- wicketTester.assertComponent("body:toggle:outerObjectsRepeater:0:outer:form:content:tabbedPanel:panel:"
+ wicketTester.assertComponent("body:toggle:outerObjectsRepeater:0:outer:form:content:form:view:provision:"
+ "container:content:wizard:form:view:mapping:mappingContainer:mappings:1", WebMarkupContainer.class);
}
@@ -93,13 +100,13 @@ public class TopologyITCase extends AbstractConsoleITCase {
Component component = findComponentByProp("key", "body:resources", "resource-testdb");
assertNotNull(component);
wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
- wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:pull");
+ wicketTester.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:pull");
wicketTester.clickLink("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:"
+ "first:container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:"
+ "body:rows:1:cells:10:cell:panelExecute:executeLink");
- wicketTester.clickLink(
- "body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:"
- + "container:content:startAt:togglePanelContainer:startAtForm:startAt");
+
+ wicketTester.clickLink("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:"
+ + "container:content:startAt:container:content:togglePanelContainer:startAtForm:startAt");
wicketTester.assertInfoMessages("Operation executed successfully");
}
@@ -110,7 +117,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
Component component = findComponentByProp("key", "body:resources", "resource-ldap");
assertNotNull(component);
wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
- wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:push");
+ wicketTester.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:push");
wicketTester.clickLink("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:"
+ "first:container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:"
+ "body:rows:1:cells:9:cell:panelEdit:editLink");
@@ -129,7 +136,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
public void createSchedTask() {
wicketTester.clickLink("body:topologyLI:topology");
wicketTester.executeAjaxEvent("body:syncope", Constants.ON_CLICK);
- wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:tasks");
+ wicketTester.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:tasks");
wicketTester.clickLink(
"body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:"
+ "container:content:add");
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
index 7420257..c58c61a 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
@@ -84,9 +84,11 @@ public class UsersITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:6:cell:panelClone:cloneLink");
- wicketTester.assertComponent(tabPanel + "modal:form:content:form:view:username:textField", TextField.class);
+ wicketTester.
+ assertComponent(tabPanel + "outerObjectsRepeater:0:outer:form:content:form:view:username:textField",
+ TextField.class);
- FormTester formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ FormTester formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:cancel");
@@ -103,48 +105,50 @@ public class UsersITCase extends AbstractConsoleITCase {
wicketTester.clickLink(component.getPageRelativePath() + ":cells:6:cell:panelEdit:editLink");
- wicketTester.assertComponent(tabPanel + "modal:form:content:form:view:username:textField", TextField.class);
+ wicketTester.
+ assertComponent(tabPanel + "outerObjectsRepeater:0:outer:form:content:form:view:username:textField",
+ TextField.class);
- FormTester formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ FormTester formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:next");
- formTester = wicketTester.newFormTester(tabPanel + "modal:form:content:form");
+ formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
assertNotNull(formTester);
formTester.submit("buttons:finish");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.assertComponent(tabPanel
- + "modal:form:content:customResultBody:resources:firstLevelContainer:first:container:content:"
- + "group:beans:0:fields:1:field", Label.class);
+ + "outerObjectsRepeater:0:outer:form:content:customResultBody:resources:firstLevelContainer:first:"
+ + "container:content:group:beans:0:fields:1:field", Label.class);
- wicketTester.clickLink(tabPanel + "modal:form:content:action:panelClose:closeLink");
+ wicketTester.clickLink(tabPanel + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
component = findComponentByProp("username", searchResultContainer
+ ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "puccini");
[7/7] syncope git commit: [SYNCOPE-156,
SYNCOPE-817] provides wizard to manage resources and connectors
Posted by fm...@apache.org.
[SYNCOPE-156, SYNCOPE-817] provides wizard to manage resources and connectors
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/1735c44c
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/1735c44c
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/1735c44c
Branch: refs/heads/master
Commit: 1735c44c19226d4f2351befa1efec60d9796d98a
Parents: a25e923
Author: fmartelli <fa...@gmail.com>
Authored: Mon Apr 18 10:05:28 2016 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Mon Apr 18 10:05:28 2016 +0200
----------------------------------------------------------------------
.../MailTemplateDirectoryPanel.java | 9 +-
.../NotificationDirectoryPanel.java | 7 +
.../console/panels/AbstractConnConfPanel.java | 102 ---
.../console/panels/AbstractResourceModal.java | 125 ----
.../console/panels/AnyDirectoryPanel.java | 6 +
.../console/panels/ConnCapabilitiesPanel.java | 47 --
.../console/panels/ConnectorConfPanel.java | 80 ---
.../console/panels/ConnectorDetailsPanel.java | 157 -----
.../client/console/panels/ConnectorModal.java | 194 ------
.../client/console/panels/DirectoryPanel.java | 32 +-
.../panels/ResourceConnCapabilitiesPanel.java | 71 --
.../console/panels/ResourceConnConfPanel.java | 87 ---
.../console/panels/ResourceDetailsPanel.java | 136 ----
.../console/panels/ResourceMappingPanel.java | 642 -------------------
.../client/console/panels/ResourceModal.java | 304 ---------
.../console/panels/ResourceSecurityPanel.java | 137 ----
.../console/panels/RoleDirectoryPanel.java | 3 +-
.../client/console/panels/TogglePanel.java | 42 +-
.../client/console/topology/Topology.java | 2 +-
.../console/topology/TopologyNodePanel.java | 5 +-
.../console/topology/TopologyTogglePanel.java | 60 +-
.../markup/html/bootstrap/dialog/BaseModal.java | 4 +-
.../html/list/ConnConfPropertyListView.java | 11 +
.../client/console/wizards/AjaxWizard.java | 6 +-
.../console/wizards/AjaxWizardBuilder.java | 50 +-
.../client/console/wizards/WizardMgtPanel.java | 96 ++-
.../client/console/wizards/any/AuxClasses.java | 3 +-
.../provision/ProvisionWizardBuilder.java | 253 --------
.../resources/AbstractConnConfPanel.java | 73 +++
.../AbstractResourceWizardBuilder.java | 82 +++
.../wizards/resources/CapabilitiesPanel.java | 43 ++
.../resources/ConnCapabilitiesPanel.java | 35 +
.../wizards/resources/ConnectorConfPanel.java | 117 ++++
.../resources/ConnectorDetailsPanel.java | 155 +++++
.../resources/ConnectorWizardBuilder.java | 145 +++++
.../resources/ProvisionWizardBuilder.java | 252 ++++++++
.../ResourceConnCapabilitiesPanel.java | 68 ++
.../resources/ResourceConnConfPanel.java | 123 ++++
.../wizards/resources/ResourceDetailsPanel.java | 130 ++++
.../wizards/resources/ResourceMappingPanel.java | 642 +++++++++++++++++++
.../resources/ResourceProvisionPanel.java | 118 ++++
.../resources/ResourceSecurityPanel.java | 137 ++++
.../resources/ResourceWizardBuilder.java | 144 +++++
.../META-INF/resources/css/syncopeConsole.css | 22 +-
.../console/panels/AbstractConnConfPanel.html | 33 -
.../console/panels/AbstractResourceModal.html | 23 -
.../console/panels/ConnCapabilitiesPanel.html | 23 -
.../console/panels/ConnectorDetailsPanel.html | 61 --
.../console/panels/ConnectorModal.properties | 45 --
.../console/panels/ConnectorModal_it.properties | 45 --
.../panels/ConnectorModal_pt_BR.properties | 45 --
.../console/panels/ConnectorModal_ru.properties | 73 ---
.../panels/ResourceConnCapabilitiesPanel.html | 29 -
.../ResourceConnCapabilitiesPanel.properties | 17 -
.../ResourceConnCapabilitiesPanel_it.properties | 17 -
...sourceConnCapabilitiesPanel_pt_BR.properties | 17 -
.../ResourceConnCapabilitiesPanel_ru.properties | 19 -
.../console/panels/ResourceDetailsPanel.html | 66 --
.../console/panels/ResourceMappingPanel.html | 86 ---
.../console/panels/ResourceModal.properties | 68 --
.../console/panels/ResourceModal_it.properties | 67 --
.../panels/ResourceModal_pt_BR.properties | 67 --
.../console/panels/ResourceModal_ru.properties | 115 ----
.../console/panels/ResourceSecurityPanel.html | 33 -
.../panels/ResourceSecurityPanel.properties | 19 -
.../panels/ResourceSecurityPanel_it.properties | 19 -
.../ResourceSecurityPanel_pt_BR.properties | 19 -
.../panels/ResourceSecurityPanel_ru.properties | 23 -
.../client/console/panels/TogglePanel.html | 9 +-
.../client/console/wizards/WizardMgtPanel.html | 7 +-
.../ProvisionWizardBuilder$AuxClasses.html | 23 -
...ProvisionWizardBuilder$AuxClasses.properties | 20 -
...visionWizardBuilder$AuxClasses_it.properties | 19 -
...ionWizardBuilder$AuxClasses_pt_BR.properties | 20 -
.../ProvisionWizardBuilder$ConnObjectLink.html | 30 -
...isionWizardBuilder$ConnObjectLink.properties | 20 -
...onWizardBuilder$ConnObjectLink_it.properties | 20 -
...izardBuilder$ConnObjectLink_pt_BR.properties | 20 -
.../ProvisionWizardBuilder$Mapping.html | 23 -
.../ProvisionWizardBuilder$Mapping.properties | 20 -
...ProvisionWizardBuilder$Mapping_it.properties | 19 -
...visionWizardBuilder$Mapping_pt_BR.properties | 20 -
.../ProvisionWizardBuilder$ObjectType.html | 31 -
...ProvisionWizardBuilder$ObjectType.properties | 24 -
...visionWizardBuilder$ObjectType_it.properties | 23 -
...ionWizardBuilder$ObjectType_pt_BR.properties | 23 -
.../resources/AbstractConnConfPanel.html | 36 ++
.../resources/AbstractConnConfPanel.properties | 18 +
.../AbstractConnConfPanel_it.properties | 18 +
.../AbstractConnConfPanel_pt_BR.properties | 18 +
.../AbstractConnConfPanel_ru.properties | 21 +
.../wizards/resources/CapabilitiesPanel.html | 23 +
.../resources/ConnCapabilitiesPanel.html | 23 +
.../resources/ConnCapabilitiesPanel.properties | 17 +
.../ConnCapabilitiesPanel_it.properties | 17 +
.../ConnCapabilitiesPanel_pt_BR.properties | 17 +
.../ConnCapabilitiesPanel_ru.properties | 19 +
.../resources/ConnectorDetailsPanel.html | 61 ++
.../resources/ConnectorDetailsPanel.properties | 26 +
.../ConnectorDetailsPanel_it.properties | 26 +
.../ConnectorDetailsPanel_pt_BR.properties | 26 +
.../ConnectorDetailsPanel_ru.properties | 37 ++
.../ProvisionWizardBuilder$AuxClasses.html | 23 +
...ProvisionWizardBuilder$AuxClasses.properties | 20 +
...visionWizardBuilder$AuxClasses_it.properties | 19 +
...ionWizardBuilder$AuxClasses_pt_BR.properties | 20 +
.../ProvisionWizardBuilder$ConnObjectLink.html | 30 +
...isionWizardBuilder$ConnObjectLink.properties | 20 +
...onWizardBuilder$ConnObjectLink_it.properties | 20 +
...izardBuilder$ConnObjectLink_pt_BR.properties | 20 +
.../ProvisionWizardBuilder$Mapping.html | 23 +
.../ProvisionWizardBuilder$Mapping.properties | 20 +
...ProvisionWizardBuilder$Mapping_it.properties | 19 +
...visionWizardBuilder$Mapping_pt_BR.properties | 20 +
.../ProvisionWizardBuilder$ObjectType.html | 31 +
...ProvisionWizardBuilder$ObjectType.properties | 24 +
...visionWizardBuilder$ObjectType_it.properties | 23 +
...ionWizardBuilder$ObjectType_pt_BR.properties | 23 +
.../ResourceConnCapabilitiesPanel.html | 29 +
.../ResourceConnCapabilitiesPanel.properties | 18 +
.../ResourceConnCapabilitiesPanel_it.properties | 18 +
...sourceConnCapabilitiesPanel_pt_BR.properties | 18 +
.../ResourceConnCapabilitiesPanel_ru.properties | 20 +
.../wizards/resources/ResourceDetailsPanel.html | 63 ++
.../resources/ResourceDetailsPanel.properties | 26 +
.../ResourceDetailsPanel_it.properties | 26 +
.../ResourceDetailsPanel_pt_BR.properties | 26 +
.../ResourceDetailsPanel_ru.properties | 35 +
.../wizards/resources/ResourceMappingPanel.html | 86 +++
.../resources/ResourceProvisionPanel.html | 23 +
.../resources/ResourceProvisionPanel.properties | 41 ++
.../ResourceProvisionPanel_it.properties | 41 ++
.../ResourceProvisionPanel_pt_BR.properties | 41 ++
.../ResourceProvisionPanel_ru.properties | 65 ++
.../resources/ResourceSecurityPanel.html | 33 +
.../resources/ResourceSecurityPanel.properties | 19 +
.../ResourceSecurityPanel_it.properties | 19 +
.../ResourceSecurityPanel_pt_BR.properties | 19 +
.../ResourceSecurityPanel_ru.properties | 23 +
.../fit/console/AbstractTypesITCase.java | 40 +-
.../syncope/fit/console/AnyObjectsITCase.java | 22 +-
.../fit/console/AnyTypeClassesITCase.java | 21 +-
.../syncope/fit/console/AnyTypesITCase.java | 22 +-
.../syncope/fit/console/BulkActionITCase.java | 66 +-
.../fit/console/DisplayAttributesITCase.java | 9 +-
.../syncope/fit/console/GroupsITCase.java | 32 +-
.../fit/console/NotificationsITCase.java | 27 +-
.../syncope/fit/console/ParametersITCase.java | 14 +-
.../fit/console/RelationshipTypeITCase.java | 7 +-
.../apache/syncope/fit/console/RolesITCase.java | 14 +-
.../syncope/fit/console/SchemasITCase.java | 23 +-
.../fit/console/SecurityQuestionsITCase.java | 15 +-
.../syncope/fit/console/TopologyITCase.java | 53 +-
.../apache/syncope/fit/console/UsersITCase.java | 32 +-
154 files changed, 4168 insertions(+), 4033 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
index d440141..86be57d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.notifications;
import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -34,6 +35,7 @@ import org.apache.syncope.client.console.panels.DirectoryPanel;
import org.apache.syncope.client.console.panels.ModalPanel;
import org.apache.syncope.client.console.rest.NotificationRestClient;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.syncope.client.console.wizards.AbstractModalPanelBuilder;
@@ -58,10 +60,15 @@ public class MailTemplateDirectoryPanel
private static final long serialVersionUID = -3789392431954221446L;
+ protected final BaseModal<Serializable> utilityModal = new BaseModal<>("outer");
+
public MailTemplateDirectoryPanel(final String id, final PageReference pageReference) {
super(id, pageReference, true);
disableCheckBoxes();
+ addOuterObject(utilityModal);
+ setWindowClosedReloadCallback(utilityModal);
+
modal.size(Modal.Size.Small);
modal.addSumbitButton();
setFooterVisibility(true);
@@ -132,7 +139,7 @@ public class MailTemplateDirectoryPanel
model.getObject().getKey(), MailTemplateFormat.TEXT);
content.setContent(
restClient.readTemplateFormat(model.getObject().getKey(), MailTemplateFormat.TEXT));
-
+
utilityModal.setFormModel(content);
utilityModal.header(new ResourceModel("mail.template.text", "TEXT Content"));
utilityModal.setContent(new MailTemplateContentModal(utilityModal, content, pageRef));
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
index f35f109..a7aab9d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationDirectoryPanel.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.notifications;
import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -34,6 +35,7 @@ import org.apache.syncope.client.console.panels.DirectoryPanel;
import org.apache.syncope.client.console.rest.NotificationRestClient;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn;
import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.CollectionPropertyColumn;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
@@ -57,10 +59,15 @@ public class NotificationDirectoryPanel
private static final long serialVersionUID = -3789392431954221446L;
+ protected final BaseModal<Serializable> utilityModal = new BaseModal<>("outer");
+
public NotificationDirectoryPanel(final String id, final PageReference pageReference) {
super(id, pageReference, true);
disableCheckBoxes();
+ addOuterObject(utilityModal);
+ setWindowClosedReloadCallback(utilityModal);
+
modal.size(Modal.Size.Large);
altDefaultModal.size(Modal.Size.Large);
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractConnConfPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractConnConfPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractConnConfPanel.java
deleted file mode 100644
index e726642..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractConnConfPanel.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Set;
-import org.apache.syncope.client.console.wicket.markup.html.list.ConnConfPropertyListView;
-import org.apache.syncope.common.lib.AbstractBaseBean;
-import org.apache.syncope.common.lib.types.ConnConfProperty;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-
-public abstract class AbstractConnConfPanel<T extends AbstractBaseBean> extends Panel {
-
- private static final long serialVersionUID = -2025535531121434050L;
-
- protected final WebMarkupContainer propertiesContainer;
-
- protected final AjaxButton check;
-
- protected final IModel<T> model;
-
- public AbstractConnConfPanel(final String id, final IModel<T> model) {
- super(id, model);
- this.model = model;
- setOutputMarkupId(true);
-
- propertiesContainer = new WebMarkupContainer("connectorPropertiesContainer");
- propertiesContainer.setOutputMarkupId(true);
- add(propertiesContainer);
-
- check = new IndicatingAjaxButton("check", new ResourceModel("check")) {
-
- private static final long serialVersionUID = -7978723352517770644L;
-
- @Override
- public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- check(target);
- }
- };
- propertiesContainer.add(check);
- }
-
- protected void setConfPropertyListView(final String modelExpression, final boolean withOverridable) {
- propertiesContainer.add(new ConnConfPropertyListView(
- "connectorProperties",
- new PropertyModel<List<ConnConfProperty>>(model.getObject(), modelExpression) {
-
- private static final long serialVersionUID = -7809699384012595307L;
-
- @Override
- public List<ConnConfProperty> getObject() {
- final List<ConnConfProperty> res = new ArrayList<>((Set<ConnConfProperty>) super.getObject());
-
- // re-order properties
- Collections.sort(res, new Comparator<ConnConfProperty>() {
-
- @Override
- public int compare(final ConnConfProperty left, final ConnConfProperty right) {
- if (left == null) {
- return -1;
- } else {
- return left.compareTo(right);
- }
- }
- });
-
- return res;
- }
- }, withOverridable).setOutputMarkupId(true));
- }
-
- protected abstract void check(final AjaxRequestTarget taget);
-
- protected abstract List<ConnConfProperty> getConnProperties(final T instance);
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractResourceModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractResourceModal.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractResourceModal.java
deleted file mode 100644
index 875f090..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractResourceModal.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.syncope.client.console.SyncopeConsoleSession;
-import org.apache.syncope.client.console.topology.TopologyNode;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.ModalEvent;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
-import org.apache.wicket.extensions.markup.html.tabs.ITab;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
-
-/**
- * Modal window with Resource form.
- *
- * @param <T>
- */
-public abstract class AbstractResourceModal<T extends Serializable> extends AbstractModalPanel<T> {
-
- private static final long serialVersionUID = 1734415311027284221L;
-
- protected final List<ITab> tabs;
-
- public AbstractResourceModal(final BaseModal<T> modal, final PageReference pageRef) {
- super(modal, pageRef);
-
- this.tabs = new ArrayList<>();
- add(new AjaxBootstrapTabbedPanel<>("tabbedPanel", tabs));
- }
-
- private class AjaxBootstrapTabbedPanel<T extends ITab>
- extends de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel<T> {
-
- private static final long serialVersionUID = 1L;
-
- AjaxBootstrapTabbedPanel(final String id, final List<T> tabs) {
- super(id, tabs);
- }
-
- @Override
- protected WebMarkupContainer newLink(final String linkId, final int index) {
- return new AjaxSubmitLink(linkId) {
-
- private static final long serialVersionUID = 530608535790823587L;
-
- @Override
- protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- setSelectedTab(index);
- if (target != null) {
- target.add(AjaxBootstrapTabbedPanel.this);
- }
- onAjaxUpdate(target);
- }
-
- @Override
- protected void onError(final AjaxRequestTarget target, final Form<?> form) {
- SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
- }
- };
- }
-
- }
-
- public static class CreateEvent extends ModalEvent {
-
- private final Serializable key;
-
- private final String displayName;
-
- private final Serializable parent;
-
- private final TopologyNode.Kind kind;
-
- public CreateEvent(
- final Serializable key,
- final String displayName,
- final TopologyNode.Kind kind,
- final Serializable parent,
- final AjaxRequestTarget target) {
- super(target);
- this.key = key;
- this.displayName = displayName;
- this.kind = kind;
- this.parent = parent;
- }
-
- public Serializable getKey() {
- return key;
- }
-
- public String getDisplayName() {
- return displayName;
- }
-
- public TopologyNode.Kind getKind() {
- return kind;
- }
-
- public Serializable getParent() {
- return parent;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index e8c1306..4c2d7bf 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -31,6 +31,7 @@ import org.apache.syncope.client.console.commons.status.ConnObjectWrapper;
import org.apache.syncope.client.console.commons.status.StatusBean;
import org.apache.syncope.client.console.rest.AbstractAnyRestClient;
import org.apache.syncope.client.console.rest.SchemaRestClient;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wizards.any.AnyHandler;
import org.apache.syncope.client.console.wizards.any.StatusPanel;
@@ -70,12 +71,17 @@ public abstract class AnyDirectoryPanel<T extends AnyTO>
*/
protected final String type;
+ protected final BaseModal<Serializable> utilityModal = new BaseModal<>("outer");
+
protected AnyDirectoryPanel(final String id, final Builder<T> builder) {
super(id, builder);
this.realm = builder.realm;
this.type = builder.type;
this.fiql = builder.fiql;
+ addOuterObject(utilityModal);
+ setWindowClosedReloadCallback(utilityModal);
+
modal.size(Modal.Size.Large);
altDefaultModal.size(Modal.Size.Large);
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.java
deleted file mode 100644
index 3fa735b..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.Arrays;
-import java.util.List;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
-import org.apache.syncope.common.lib.types.ConnectorCapability;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.util.ListModel;
-
-public class ConnCapabilitiesPanel extends Panel {
-
- private static final long serialVersionUID = -2025535531121434050L;
-
- public ConnCapabilitiesPanel(final String id, final PropertyModel<List<ConnectorCapability>> model) {
- super(id, model);
- setOutputMarkupId(true);
-
- AjaxPalettePanel<ConnectorCapability> capabilitiesPalette =
- new AjaxPalettePanel.Builder<ConnectorCapability>().
- setAllowMoveAll(true).
- build("capabilitiesPalette",
- model,
- new ListModel<>(Arrays.asList(ConnectorCapability.values())));
- capabilitiesPalette.hideLabel();
- capabilitiesPalette.setOutputMarkupId(true);
- add(capabilitiesPalette);
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorConfPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorConfPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorConfPanel.java
deleted file mode 100644
index a443cd6..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorConfPanel.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Transformer;
-import org.apache.syncope.common.lib.to.ConnBundleTO;
-import org.apache.syncope.common.lib.to.ConnInstanceTO;
-import org.apache.syncope.common.lib.types.ConnConfPropSchema;
-import org.apache.syncope.common.lib.types.ConnConfProperty;
-import org.apache.wicket.model.IModel;
-
-public abstract class ConnectorConfPanel extends AbstractConnConfPanel<ConnInstanceTO> {
-
- private static final long serialVersionUID = -2025535531121434050L;
-
- private final List<ConnBundleTO> bundles;
-
- public ConnectorConfPanel(final String id, final IModel<ConnInstanceTO> model, final List<ConnBundleTO> bundles) {
- super(id, model);
- this.bundles = bundles;
-
- List<ConnConfProperty> properties = getConnProperties(model.getObject());
- model.getObject().getConf().clear();
- model.getObject().getConf().addAll(properties);
-
- setConfPropertyListView("conf", true);
- }
-
- /**
- * Get available configuration properties.
- *
- * @param instance connector instance.
- * @return configuration properties.
- */
- @Override
- protected final List<ConnConfProperty> getConnProperties(final ConnInstanceTO instance) {
- return CollectionUtils.collect(
- ConnectorModal.getBundle(instance, bundles).getProperties(),
- new Transformer<ConnConfPropSchema, ConnConfProperty>() {
-
- @Override
- public ConnConfProperty transform(final ConnConfPropSchema key) {
- final ConnConfProperty property = new ConnConfProperty();
- property.setSchema(key);
-
- if (instance.getKey() != null
- && instance.getConfMap().containsKey(key.getName())
- && instance.getConfMap().get(key.getName()).getValues() != null) {
-
- property.getValues().addAll(instance.getConfMap().get(key.getName()).getValues());
- property.setOverridable(instance.getConfMap().get(key.getName()).isOverridable());
- }
-
- if (property.getValues().isEmpty() && !key.getDefaultValues().isEmpty()) {
- property.getValues().addAll(key.getDefaultValues());
- }
- return property;
- }
- }, new ArrayList<ConnConfProperty>());
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.java
deleted file mode 100644
index 39c56bd..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.Transformer;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxSpinnerFieldPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.common.lib.to.ConnBundleTO;
-import org.apache.syncope.common.lib.to.ConnInstanceTO;
-import org.apache.syncope.common.lib.to.ConnPoolConfTO;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.PropertyModel;
-
-public class ConnectorDetailsPanel extends Panel {
-
- private static final long serialVersionUID = -2435937897614232137L;
-
- public ConnectorDetailsPanel(
- final String id, final IModel<ConnInstanceTO> model, final List<ConnBundleTO> bundles) {
-
- super(id, model);
- setOutputMarkupId(true);
-
- AjaxTextFieldPanel displayName = new AjaxTextFieldPanel(
- "displayName", "displayName", new PropertyModel<String>(model.getObject(), "displayName"), false);
- displayName.setOutputMarkupId(true);
- displayName.addRequiredLabel();
- add(displayName);
-
- AjaxTextFieldPanel location = new AjaxTextFieldPanel(
- "location", "location", new PropertyModel<String>(model.getObject(), "location"), false);
- location.addRequiredLabel();
- location.setOutputMarkupId(true);
- location.setEnabled(false);
- add(location);
-
- final AjaxDropDownChoicePanel<String> bundleName = new AjaxDropDownChoicePanel<>(
- "bundleName",
- "bundleName",
- new PropertyModel<String>(model.getObject(), "bundleName"), false);
- ((DropDownChoice<String>) bundleName.getField()).setNullValid(true);
- bundleName.setChoices(CollectionUtils.collect(bundles, new Transformer<ConnBundleTO, String>() {
-
- @Override
- public String transform(final ConnBundleTO input) {
- return input.getBundleName();
- }
- }, new ArrayList<String>()));
- bundleName.addRequiredLabel();
- bundleName.setOutputMarkupId(true);
- bundleName.setEnabled(model.getObject().getKey() == null || model.getObject().getKey() == 0);
- bundleName.getField().setOutputMarkupId(true);
- add(bundleName);
-
- final AjaxDropDownChoicePanel<String> version = new AjaxDropDownChoicePanel<>(
- "version", "version", new PropertyModel<String>(model.getObject(), "version"), false);
- version.setChoices(getVersions(model.getObject(), bundles));
- version.addRequiredLabel();
- version.setEnabled(model.getObject().getBundleName() != null);
- version.setOutputMarkupId(true);
- version.getField().setOutputMarkupId(true);
- add(version);
-
- bundleName.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- ((DropDownChoice<String>) bundleName.getField()).setNullValid(false);
- version.setEnabled(true);
-
- List<String> versions = getVersions(model.getObject(), bundles);
- if (versions.size() == 1) {
- model.getObject().setVersion(versions.get(0));
- version.getField().setModelObject(versions.get(0));
- }
- version.setChoices(versions);
-
- target.add(version);
- }
- });
-
- if (model.getObject().getPoolConf() == null) {
- model.getObject().setPoolConf(new ConnPoolConfTO());
- }
-
- add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
- "connRequestTimeout", "connRequestTimeout", Integer.class,
- new PropertyModel<Integer>(model, "connRequestTimeout")));
-
- add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
- "poolMaxObjects", "poolMaxObjects", Integer.class,
- new PropertyModel<Integer>(model.getObject().getPoolConf(), "maxObjects")));
-
- add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
- "poolMinIdle", "poolMinIdle", Integer.class,
- new PropertyModel<Integer>(model.getObject().getPoolConf(), "minIdle")));
-
- add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
- "poolMaxIdle", "poolMaxIdle", Integer.class,
- new PropertyModel<Integer>(model.getObject().getPoolConf(), "maxIdle")));
-
- add(new AjaxSpinnerFieldPanel.Builder<Long>().min(0L).max(Long.MAX_VALUE).build(
- "poolMaxWait", "poolMaxWait", Long.class,
- new PropertyModel<Long>(model.getObject().getPoolConf(), "maxWait")));
-
- add(new AjaxSpinnerFieldPanel.Builder<Long>().min(0L).max(Long.MAX_VALUE).build(
- "poolMinEvictableIdleTime", "poolMinEvictableIdleTime", Long.class,
- new PropertyModel<Long>(model.getObject().getPoolConf(), "minEvictableIdleTimeMillis")));
- }
-
- private List<String> getVersions(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
- return new ArrayList<>(CollectionUtils.collect(
- CollectionUtils.select(bundles, new Predicate<ConnBundleTO>() {
-
- @Override
- public boolean evaluate(final ConnBundleTO object) {
- return object.getLocation().equals(connInstanceTO.getLocation())
- && object.getBundleName().equals(connInstanceTO.getBundleName());
- }
- }), new Transformer<ConnBundleTO, String>() {
-
- @Override
- public String transform(final ConnBundleTO input) {
- return input.getVersion();
- }
- }, new HashSet<String>()));
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
deleted file mode 100644
index 4ebfdc0..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.lang3.StringUtils;
-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.topology.TopologyNode;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import org.apache.syncope.common.lib.to.ConnBundleTO;
-import org.apache.syncope.common.lib.to.ConnInstanceTO;
-import org.apache.syncope.common.lib.types.ConnectorCapability;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-
-/**
- * Modal window with Connector form.
- */
-public class ConnectorModal extends AbstractResourceModal<Serializable> {
-
- private static final long serialVersionUID = -2025535531121434050L;
-
- private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
-
- private final List<ConnBundleTO> bundles;
-
- public ConnectorModal(
- final BaseModal<Serializable> modal,
- final PageReference pageRef,
- final IModel<ConnInstanceTO> model) {
-
- super(modal, pageRef);
-
- this.bundles = CollectionUtils.select(connectorRestClient.getAllBundles(), new Predicate<ConnBundleTO>() {
-
- @Override
- public boolean evaluate(final ConnBundleTO object) {
- return object.getLocation().equals(model.getObject().getLocation());
- }
- }, new ArrayList<ConnBundleTO>());
-
- //--------------------------------
- // Connector details
- //--------------------------------
- tabs.add(new AbstractTab(new ResourceModel("general")) {
-
- private static final long serialVersionUID = -5861786415855103549L;
-
- @Override
- public Panel getPanel(final String panelId) {
- return new ConnectorDetailsPanel(panelId, model, bundles);
- }
- });
- //--------------------------------
-
- //--------------------------------
- // Connector configuration
- //--------------------------------
- tabs.add(new AbstractTab(new ResourceModel("configuration")) {
-
- private static final long serialVersionUID = -5861786415855103549L;
-
- @Override
- public Panel getPanel(final String panelId) {
- return new ConnectorConfPanel(panelId, model, bundles) {
-
- private static final long serialVersionUID = -5886691077681158494L;
-
- @Override
- protected void check(final AjaxRequestTarget target) {
- if (connectorRestClient.check(model.getObject())) {
- info(getString(Constants.OPERATION_SUCCEEDED));
- } else {
- error(getString("error_connection"));
- }
- SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
- }
-
- @Override
- protected void onComponentTag(final ComponentTag tag) {
- tag.append("class", "scrollable-tab-content", " ");
- }
-
- };
- }
- });
- //--------------------------------
-
- //--------------------------------
- // Connector capabilities
- //--------------------------------
- tabs.add(new AbstractTab(new ResourceModel("capabilities")) {
-
- private static final long serialVersionUID = -5861786415855103549L;
-
- @Override
- public Panel getPanel(final String panelId) {
- return new ConnCapabilitiesPanel(
- panelId, new PropertyModel<List<ConnectorCapability>>(model.getObject(), "capabilities"));
- }
- });
- //--------------------------------
- }
-
- @Override
- public void onError(final AjaxRequestTarget target, final Form<?> form) {
- SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
- }
-
- @Override
- public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- final ConnInstanceTO connInstanceTO = (ConnInstanceTO) form.getModelObject();
-
- final ConnBundleTO bundleTO = ConnectorModal.getBundle(connInstanceTO, bundles);
-
- connInstanceTO.setConnectorName(bundleTO.getConnectorName());
- connInstanceTO.setBundleName(bundleTO.getBundleName());
- connInstanceTO.setVersion(bundleTO.getVersion());
-
- // Reset pool configuration if all fields are null
- if (connInstanceTO.getPoolConf() != null
- && connInstanceTO.getPoolConf().getMaxIdle() == null
- && connInstanceTO.getPoolConf().getMaxObjects() == null
- && connInstanceTO.getPoolConf().getMaxWait() == null
- && connInstanceTO.getPoolConf().getMinEvictableIdleTimeMillis() == null
- && connInstanceTO.getPoolConf().getMinIdle() == null) {
-
- connInstanceTO.setPoolConf(null);
- }
-
- try {
- if (connInstanceTO.getKey() == null || connInstanceTO.getKey() == 0) {
- final ConnInstanceTO actual = connectorRestClient.create(connInstanceTO);
- send(pageRef.getPage(), Broadcast.BREADTH, new CreateEvent(
- actual.getKey(),
- actual.getDisplayName(),
- TopologyNode.Kind.CONNECTOR,
- URI.create(actual.getLocation()).toASCIIString(),
- target));
- } else {
- connectorRestClient.update(connInstanceTO);
- }
- modal.close(target);
- info(getString(Constants.OPERATION_SUCCEEDED));
- } catch (Exception e) {
- LOG.error("Failure managing {}", connInstanceTO, e);
- error(StringUtils.isBlank(e.getMessage()) ? e.getClass().getName() : e.getMessage());
- }
- SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
- }
-
- protected static ConnBundleTO getBundle(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
- return IterableUtils.find(bundles, new Predicate<ConnBundleTO>() {
-
- @Override
- public boolean evaluate(final ConnBundleTO bundle) {
- return bundle.getBundleName().equals(connInstanceTO.getBundleName())
- && bundle.getVersion().equals(connInstanceTO.getVersion());
- }
- });
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
index b2b3b7f..bd2e3f1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
@@ -35,7 +35,6 @@ import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.event.Broadcast;
import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -96,6 +95,10 @@ public abstract class DirectoryPanel<
protected String itemKeyFieldName = "key";
+ protected final BaseModal<W> altDefaultModal = new BaseModal<>("outer");
+
+ protected final BaseModal<W> displayAttributeModal = new BaseModal<>("outer");
+
/**
* Create simple unfiltered search result panel.
* Use the available builder for powerfull configuration options.
@@ -128,6 +131,9 @@ public abstract class DirectoryPanel<
super(id, wizardInModal);
setOutputMarkupId(true);
+ addOuterObject(altDefaultModal);
+ addOuterObject(displayAttributeModal);
+
this.page = (BasePage) builder.getPageRef().getPage();
this.filtered = builder.filtered;
@@ -146,11 +152,9 @@ public abstract class DirectoryPanel<
setWindowClosedReloadCallback(modal);
setWindowClosedReloadCallback(altDefaultModal);
setWindowClosedReloadCallback(displayAttributeModal);
- setWindowClosedReloadCallback(utilityModal);
altDefaultModal.size(Modal.Size.Medium);
displayAttributeModal.size(Modal.Size.Medium);
- utilityModal.size(Modal.Size.Large);
}
protected abstract DP dataProvider();
@@ -261,22 +265,12 @@ public abstract class DirectoryPanel<
super.onEvent(event);
}
- protected void setWindowClosedReloadCallback(final BaseModal<?> modal) {
- modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
- private static final long serialVersionUID = 8804221891699487139L;
-
- @Override
- public void onClose(final AjaxRequestTarget target) {
- modal.show(false);
-
- final EventDataWrapper data = new EventDataWrapper();
- data.setTarget(target);
- data.setRows(rows);
-
- send(getParent(), Broadcast.BREADTH, data);
- }
- });
+ @Override
+ protected void customActionOnCloseCallback(final AjaxRequestTarget target) {
+ final EventDataWrapper data = new EventDataWrapper();
+ data.setTarget(target);
+ data.setRows(rows);
+ send(getParent(), Broadcast.BREADTH, data);
}
public static class EventDataWrapper {
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.java
deleted file mode 100644
index 0f73261..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.List;
-import java.util.Set;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.ConnectorCapability;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-
-public class ResourceConnCapabilitiesPanel extends Panel {
-
- private static final long serialVersionUID = -114632577031611754L;
-
- public ResourceConnCapabilitiesPanel(
- final String id, final IModel<ResourceTO> model, final Set<ConnectorCapability> connectorCapabilities) {
-
- super(id, model);
- setOutputMarkupId(true);
-
- if (!model.getObject().isOverrideCapabilities() && model.getObject().getCapabilitiesOverride().isEmpty()) {
- model.getObject().getCapabilitiesOverride().addAll(connectorCapabilities);
- }
-
- final ConnCapabilitiesPanel connCapabilitiesPanel = new ConnCapabilitiesPanel(
- "capabilitiesOverride",
- new PropertyModel<List<ConnectorCapability>>(model.getObject(), "capabilitiesOverride"));
- connCapabilitiesPanel.setEnabled(model.getObject().isOverrideCapabilities());
- add(connCapabilitiesPanel);
-
- final AjaxCheckBoxPanel overrideCapabilities = new AjaxCheckBoxPanel(
- "overrideCapabilities",
- new ResourceModel("overrideCapabilities", "overrideCapabilities").getObject(),
- new PropertyModel<Boolean>(model, "overrideCapabilities"));
- overrideCapabilities.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- connCapabilitiesPanel.setEnabled(overrideCapabilities.getField().getModelObject());
- target.add(ResourceConnCapabilitiesPanel.this);
- }
- });
- add(overrideCapabilities);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
deleted file mode 100644
index 50a9ff3..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceConnConfPanel.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.syncope.client.console.rest.ConnectorRestClient;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.ConnConfProperty;
-import org.apache.wicket.model.IModel;
-
-public abstract class ResourceConnConfPanel extends AbstractConnConfPanel<ResourceTO> {
-
- private static final long serialVersionUID = -7982691107029848579L;
-
- private final ConnectorRestClient restClient = new ConnectorRestClient();
-
- private final boolean createFlag;
-
- public ResourceConnConfPanel(final String id, final IModel<ResourceTO> model, final boolean createFlag) {
- super(id, model);
-
- this.createFlag = createFlag;
-
- final List<ConnConfProperty> confOverride = getConnProperties(model.getObject());
- model.getObject().getConfOverride().clear();
- model.getObject().getConfOverride().addAll(confOverride);
-
- setConfPropertyListView("confOverride", false);
-
- check.setEnabled(!confOverride.isEmpty());
- check.setVisible(!confOverride.isEmpty());
- }
-
- /**
- * Get overridable properties.
- *
- * @param resourceTO resource instance.
- * @return overridable properties.
- */
- @Override
- protected final List<ConnConfProperty> getConnProperties(final ResourceTO resourceTO) {
- List<ConnConfProperty> props = new ArrayList<>();
-
- if (resourceTO.getConnector() != null && resourceTO.getConnector() > 0) {
- for (ConnConfProperty property : restClient.read(resourceTO.getConnector()).getConf()) {
- if (property.isOverridable()) {
- props.add(property);
- }
- }
- }
- if (createFlag || resourceTO.getConfOverride().isEmpty()) {
- resourceTO.getConfOverride().clear();
- } else {
- Map<String, ConnConfProperty> valuedProps = new HashMap<>();
- for (ConnConfProperty prop : resourceTO.getConfOverride()) {
- valuedProps.put(prop.getSchema().getName(), prop);
- }
-
- for (int i = 0; i < props.size(); i++) {
- if (valuedProps.containsKey(props.get(i).getSchema().getName())) {
- props.set(i, valuedProps.get(props.get(i).getSchema().getName()));
- }
- }
- }
-
- return props;
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java
deleted file mode 100644
index 117888d..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceDetailsPanel.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import org.apache.syncope.client.console.SyncopeConsoleSession;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxSpinnerFieldPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.client.console.wizards.any.AnnotatedBeanPanel;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.TraceLevel;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.model.util.ListModel;
-
-public class ResourceDetailsPanel extends Panel {
-
- private static final long serialVersionUID = -7982691107029848579L;
-
- private final IModel<List<String>> propagationActionsClasses = new LoadableDetachableModel<List<String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected List<String> load() {
- return new ArrayList<>(SyncopeConsoleSession.get().getPlatformInfo().getPropagationActions());
- }
- };
-
- public ResourceDetailsPanel(
- final String id,
- final IModel<ResourceTO> model,
- final boolean createFlag) {
-
- super(id);
- setOutputMarkupId(true);
-
- final WebMarkupContainer container = new WebMarkupContainer("container");
- container.setOutputMarkupId(true);
- container.setRenderBodyOnly(true);
- add(container);
-
- container.add(new AjaxTextFieldPanel(
- "name",
- new ResourceModel("name", "name").
- getObject(),
- new PropertyModel<String>(model, "key"),
- false).addRequiredLabel().setEnabled(createFlag));
-
- container.add(new AjaxCheckBoxPanel(
- "enforceMandatoryCondition",
- new ResourceModel("enforceMandatoryCondition", "enforceMandatoryCondition").getObject(),
- new PropertyModel<Boolean>(model, "enforceMandatoryCondition"),
- false));
-
- container.add(new AjaxSpinnerFieldPanel.Builder<Integer>().build(
- "propagationPriority",
- "propagationPriority",
- Integer.class,
- new PropertyModel<Integer>(model, "propagationPriority")));
-
- container.add(new AjaxCheckBoxPanel("randomPwdIfNotProvided",
- new ResourceModel("randomPwdIfNotProvided", "randomPwdIfNotProvided").getObject(),
- new PropertyModel<Boolean>(model, "randomPwdIfNotProvided"),
- false));
-
- container.add(new AjaxPalettePanel.Builder<String>().
- setAllowMoveAll(true).setAllowOrder(true).
- build("propagationActionsClassNames",
- new PropertyModel<List<String>>(model, "propagationActionsClassNames"),
- new ListModel<>(propagationActionsClasses.getObject())).
- setOutputMarkupId(true));
-
- container.add(new AjaxDropDownChoicePanel<>(
- "createTraceLevel",
- new ResourceModel("createTraceLevel", "createTraceLevel").getObject(),
- new PropertyModel<TraceLevel>(model, "createTraceLevel"),
- false).
- setChoices(Arrays.asList(TraceLevel.values())));
-
- container.add(new AjaxDropDownChoicePanel<>(
- "updateTraceLevel",
- new ResourceModel("updateTraceLevel", "updateTraceLevel").getObject(),
- new PropertyModel<TraceLevel>(model, "updateTraceLevel"),
- false).
- setChoices(Arrays.asList(TraceLevel.values())));
-
- container.add(new AjaxDropDownChoicePanel<>(
- "deleteTraceLevel",
- new ResourceModel("deleteTraceLevel", "deleteTraceLevel").getObject(),
- new PropertyModel<TraceLevel>(model, "deleteTraceLevel"),
- false).
- setChoices(Arrays.asList(TraceLevel.values())));
-
- container.add(new AjaxDropDownChoicePanel<>(
- "pullTraceLevel",
- new ResourceModel("pullTraceLevel", "pullTraceLevel").getObject(),
- new PropertyModel<TraceLevel>(model, "pullTraceLevel"),
- false).
- setChoices(Arrays.asList(TraceLevel.values())));
-
- container.add(new AjaxTextFieldPanel(
- "connector",
- new ResourceModel("connector", "connector").getObject(),
- new Model<>(model.getObject().getConnectorDisplayName()),
- false).addRequiredLabel().setEnabled(false));
-
- add(new AnnotatedBeanPanel("systeminformation", model.getObject()).setRenderBodyOnly(true));
- }
-}
[6/7] syncope git commit: [SYNCOPE-156,
SYNCOPE-817] provides wizard to manage resources and connectors
Posted by fm...@apache.org.
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
deleted file mode 100644
index 30188f9..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
+++ /dev/null
@@ -1,642 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import de.agilecoders.wicket.core.markup.html.bootstrap.components.TooltipConfig;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.syncope.client.console.commons.ConnIdSpecialAttributeName;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.rest.AnyTypeClassRestClient;
-import org.apache.syncope.client.console.rest.AnyTypeRestClient;
-import org.apache.syncope.client.console.rest.ConnectorRestClient;
-import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.MappingPurposePanel;
-import org.apache.syncope.common.lib.to.AnyTypeClassTO;
-import org.apache.syncope.common.lib.to.AnyTypeTO;
-import org.apache.syncope.common.lib.to.ConnIdObjectClassTO;
-import org.apache.syncope.common.lib.to.ConnInstanceTO;
-import org.apache.syncope.common.lib.to.MappingItemTO;
-import org.apache.syncope.common.lib.to.MappingTO;
-import org.apache.syncope.common.lib.to.ProvisionTO;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.AnyTypeKind;
-import org.apache.syncope.common.lib.types.ConnConfProperty;
-import org.apache.syncope.common.lib.types.IntMappingType;
-import org.apache.syncope.common.lib.types.MappingPurpose;
-import org.apache.syncope.common.lib.types.StandardEntitlement;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-
-/**
- * Resource mapping panel.
- */
-public class ResourceMappingPanel extends Panel {
-
- private static final long serialVersionUID = -7982691107029848579L;
-
- /**
- * Mapping field style sheet.
- */
- private static final String DEF_FIELD_STYLE = "";
-
- /**
- * Any type rest client.
- */
- private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
-
- /**
- * Any type class rest client.
- */
- private final AnyTypeClassRestClient anyTypeClassRestClient = new AnyTypeClassRestClient();
-
- /**
- * ConnInstance rest client.
- */
- private final ConnectorRestClient connRestClient = new ConnectorRestClient();
-
- /**
- * Resource schema name.
- */
- private final List<String> schemaNames;
-
- private final Label passwordLabel;
-
- /**
- * Add mapping button.
- */
- private final AjaxButton addMappingBtn;
-
- /**
- * All mappings.
- */
- private final ListView<MappingItemTO> mappings;
-
- /**
- * External resource to be updated.
- */
- private final ResourceTO resourceTO;
-
- /**
- * External resource provisioning configuration instance to be updated.
- */
- private final ProvisionTO provisionTO;
-
- /**
- * Mapping container.
- */
- private final WebMarkupContainer mappingContainer;
-
- private MappingTO getMapping() {
- if (provisionTO.getMapping() == null) {
- provisionTO.setMapping(new MappingTO());
- }
-
- return provisionTO.getMapping();
- }
-
- /**
- * Attribute Mapping Panel.
- *
- * @param id panel id
- * @param resourceTO external resource to be updated.
- * @param provisionTO external resource provisioning configuration instance.
- */
- public ResourceMappingPanel(final String id, final ResourceTO resourceTO, final ProvisionTO provisionTO) {
- super(id);
- setOutputMarkupId(true);
-
- this.resourceTO = resourceTO;
- this.provisionTO = provisionTO == null ? new ProvisionTO() : provisionTO;
-
- this.mappingContainer = new WebMarkupContainer("mappingContainer");
- this.mappingContainer.setOutputMarkupId(true);
- add(this.mappingContainer);
-
- if (resourceTO.getConnector() != null && resourceTO.getConnector() > 0) {
- schemaNames = getSchemaNames(resourceTO.getConnector(), resourceTO.getConfOverride());
- setEnabled();
- } else {
- schemaNames = Collections.<String>emptyList();
- }
-
- mappingContainer.add(Constants.getJEXLPopover(this, TooltipConfig.Placement.bottom));
-
- passwordLabel = new Label("passwordLabel", new ResourceModel("password"));
- mappingContainer.add(passwordLabel);
-
- Collections.sort(getMapping().getItems(), new Comparator<MappingItemTO>() {
-
- @Override
- public int compare(final MappingItemTO left, final MappingItemTO right) {
- int compared;
- if (left == null && right == null) {
- compared = 0;
- } else if (left == null) {
- compared = 1;
- } else if (right == null) {
- compared = -1;
- } else if (left.getPurpose() == MappingPurpose.BOTH && right.getPurpose() != MappingPurpose.BOTH) {
- compared = -1;
- } else if (left.getPurpose() != MappingPurpose.BOTH && right.getPurpose() == MappingPurpose.BOTH) {
- compared = 1;
- } else if (left.getPurpose() == MappingPurpose.PROPAGATION
- && (right.getPurpose() == MappingPurpose.PULL
- || right.getPurpose() == MappingPurpose.NONE)) {
- compared = -1;
- } else if (left.getPurpose() == MappingPurpose.PULL
- && right.getPurpose() == MappingPurpose.PROPAGATION) {
- compared = 1;
- } else if (left.getPurpose() == MappingPurpose.PULL
- && right.getPurpose() == MappingPurpose.NONE) {
- compared = -1;
- } else if (left.getPurpose() == MappingPurpose.NONE
- && right.getPurpose() != MappingPurpose.NONE) {
- compared = 1;
- } else if (left.isConnObjectKey()) {
- compared = -1;
- } else if (right.isConnObjectKey()) {
- compared = 1;
- } else if (left.isPassword()) {
- compared = -1;
- } else if (right.isPassword()) {
- compared = 1;
- } else {
- compared = left.getIntAttrName().compareTo(right.getIntAttrName());
- }
- return compared;
- }
- });
-
- mappings = new ListView<MappingItemTO>("mappings", getMapping().getItems()) {
-
- private static final long serialVersionUID = 4949588177564901031L;
-
- @Override
- protected void populateItem(final ListItem<MappingItemTO> item) {
- final MappingItemTO mapItem = item.getModelObject();
- if (mapItem.getPurpose() == null) {
- mapItem.setPurpose(MappingPurpose.BOTH);
- }
-
- AnyTypeKind entity = null;
- if (provisionTO.getAnyType().equals(AnyTypeKind.GROUP.name())) {
- // support for clone
- entity = AnyTypeKind.GROUP;
- } else if (mapItem.getIntMappingType() != null) {
- entity = mapItem.getIntMappingType().getAnyTypeKind();
- }
-
- // it will happen just in case of clone to create a new mapping for group object
- if (mapItem.getIntMappingType() != null && mapItem.getIntMappingType().getAnyTypeKind() != entity) {
- mapItem.setIntMappingType(null);
- mapItem.setIntAttrName(null);
- }
-
- //--------------------------------
- // Entity
- // -------------------------------
- final AjaxDropDownChoicePanel<AnyTypeKind> entitiesPanel = new AjaxDropDownChoicePanel<>(
- "entities",
- new ResourceModel("entities", "entities").getObject(),
- new Model<>(entity));
-
- entitiesPanel.hideLabel();
- entitiesPanel.setChoices(provisionTO.getAnyType().equals(AnyTypeKind.GROUP.name())
- ? Collections.<AnyTypeKind>singletonList(AnyTypeKind.GROUP)
- : Arrays.asList(AnyTypeKind.values()));
-
- entitiesPanel.setStyleSheet(false, DEF_FIELD_STYLE);
- item.add(entitiesPanel);
- // -------------------------------
-
- //--------------------------------
- // Internal attribute type
- // -------------------------------
- final List<IntMappingType> attrTypes = new ArrayList<>(getAttributeTypes(entity));
- final AjaxDropDownChoicePanel<IntMappingType> intMappingTypes = new AjaxDropDownChoicePanel<>(
- "intMappingTypes",
- new ResourceModel("intMappingTypes", "intMappingTypes").getObject(),
- new PropertyModel<IntMappingType>(mapItem, "intMappingType"),
- false);
- intMappingTypes.setNullValid(true).setRequired(true).hideLabel();
- intMappingTypes.setChoices(attrTypes);
- item.add(intMappingTypes);
- // -------------------------------
-
- //--------------------------------
- // Internal attribute
- // -------------------------------
- final AjaxDropDownChoicePanel<String> intAttrNames = new AjaxDropDownChoicePanel<>(
- "intAttrNames",
- getString("intAttrNames"),
- new PropertyModel<String>(mapItem, "intAttrName"),
- false);
- intAttrNames.setChoices(Collections.<String>emptyList());
- intAttrNames.setNullValid(true).setRequired(true).hideLabel();
- item.add(intAttrNames);
- // -------------------------------
-
- //--------------------------------
- // External attribute
- // -------------------------------
- final AjaxTextFieldPanel extAttrNames = new AjaxTextFieldPanel(
- "extAttrName",
- new ResourceModel("extAttrNames", "extAttrNames").getObject(),
- new PropertyModel<String>(mapItem, "extAttrName"));
- extAttrNames.setChoices(schemaNames);
-
- boolean required = !mapItem.isPassword();
- extAttrNames.setRequired(required).hideLabel();
- extAttrNames.setEnabled(required);
- item.add(extAttrNames);
- // -------------------------------
-
- //--------------------------------
- // Mandatory
- // -------------------------------
- final AjaxTextFieldPanel mandatory = new AjaxTextFieldPanel(
- "mandatoryCondition",
- new ResourceModel("mandatoryCondition", "mandatoryCondition").getObject(),
- new PropertyModel<String>(mapItem, "mandatoryCondition"));
- mandatory.hideLabel();
- mandatory.setChoices(Arrays.asList(new String[] { "true", "false" }));
- item.add(mandatory);
- // -------------------------------
-
- //--------------------------------
- // Connector object key
- // -------------------------------
- final AjaxCheckBoxPanel connObjectKey = new AjaxCheckBoxPanel(
- "connObjectKey",
- new ResourceModel("connObjectKey", "connObjectKey").getObject(),
- new PropertyModel<Boolean>(mapItem, "connObjectKey"), false);
- connObjectKey.hideLabel();
- item.add(connObjectKey);
- // -------------------------------
-
- //--------------------------------
- // Password
- // -------------------------------
- final AjaxCheckBoxPanel password = new AjaxCheckBoxPanel(
- "password",
- new ResourceModel("password", "password").getObject(),
- new PropertyModel<Boolean>(mapItem, "password"), false);
- item.add(password.hideLabel());
- // -------------------------------
-
- //--------------------------------
- // Purpose
- // -------------------------------
- final WebMarkupContainer purpose = new WebMarkupContainer("purpose");
- purpose.setOutputMarkupId(Boolean.TRUE);
-
- final MappingPurposePanel panel = new MappingPurposePanel(
- "purposeActions", new PropertyModel<MappingPurpose>(mapItem, "purpose"), purpose);
-
- purpose.add(panel.setRenderBodyOnly(true));
- item.add(purpose);
- // -------------------------------
-
- //--------------------------------
- // Remove
- // -------------------------------
- final ActionLinksPanel.Builder<Serializable> actions = ActionLinksPanel.builder();
- actions.add(new ActionLink<Serializable>() {
-
- private static final long serialVersionUID = -3722207913631435501L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
- int index = -1;
- for (int i = 0; i < getMapping().getItems().size() && index == -1; i++) {
- if (mapItem.equals(getMapping().getItems().get(i))) {
- index = i;
- }
- }
-
- if (index != -1) {
- getMapping().getItems().remove(index);
- item.getParent().removeAll();
- target.add(ResourceMappingPanel.this);
- }
- }
- }, ActionLink.ActionType.DELETE, StandardEntitlement.RESOURCE_UPDATE);
- item.add(actions.build("toRemove"));
- // -------------------------------
-
- entitiesPanel.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- attrTypes.clear();
- attrTypes.addAll(getAttributeTypes(entitiesPanel.getModelObject()));
- intMappingTypes.setChoices(attrTypes);
-
- intAttrNames.setChoices(Collections.<String>emptyList());
-
- target.add(intMappingTypes);
- target.add(intAttrNames);
- }
- });
-
- intMappingTypes.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- setAttrNames(intMappingTypes.getModelObject(), intAttrNames);
- target.add(intAttrNames);
-
- setConnObjectKey(intMappingTypes.getModelObject(), connObjectKey, password);
- target.add(connObjectKey);
- }
- });
-
- intAttrNames.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- }
- });
-
- connObjectKey.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- if (connObjectKey.getModelObject()) {
- mapItem.setMandatoryCondition("true");
- mandatory.setEnabled(false);
- } else {
- mapItem.setMandatoryCondition("false");
- mandatory.setEnabled(true);
- }
- target.add(mandatory);
- }
- });
-
- password.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- extAttrNames.setEnabled(!mapItem.isConnObjectKey() && !password.getModelObject());
- extAttrNames.setModelObject(password.getModelObject()
- ? ConnIdSpecialAttributeName.PASSWORD : extAttrNames.getModelObject());
- extAttrNames.setRequired(!password.getModelObject());
- target.add(extAttrNames);
-
- setConnObjectKey(intMappingTypes.getModelObject(), connObjectKey, password);
- target.add(connObjectKey);
- }
- });
-
- setAttrNames(mapItem.getIntMappingType(), intAttrNames);
- setConnObjectKey(mapItem.getIntMappingType(), connObjectKey, password);
-
- if (!AnyTypeKind.USER.name().equals(provisionTO.getAnyType())) {
- password.setVisible(false);
-
- // Changes required by clone ....
- extAttrNames.setEnabled(!mapItem.isConnObjectKey());
- if (mapItem.isPassword()) {
- // re-enable if and only if cloned objec mapping item was a password
- intAttrNames.setEnabled(true);
- }
- mapItem.setPassword(false);
- }
- }
- };
-
- mappings.setReuseItems(true);
- mappingContainer.add(mappings);
-
- addMappingBtn = new IndicatingAjaxButton("addMappingBtn", new ResourceModel("add")) {
-
- private static final long serialVersionUID = -4804368561204623354L;
-
- @Override
- protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- getMapping().getItems().add(new MappingItemTO());
- target.add(ResourceMappingPanel.this);
- }
- };
- addMappingBtn.setDefaultFormProcessing(false);
- addMappingBtn.setEnabled(resourceTO.getConnector() != null && resourceTO.getConnector() > 0);
- mappingContainer.add(addMappingBtn);
- }
-
- @Override
- protected void onBeforeRender() {
- super.onBeforeRender();
- passwordLabel.setVisible(AnyTypeKind.USER.name().equals(this.provisionTO.getAnyType()));
- }
-
- private List<String> getSchemaNames(final Long connectorId, final Set<ConnConfProperty> conf) {
- final ConnInstanceTO connInstanceTO = new ConnInstanceTO();
- connInstanceTO.setKey(connectorId);
- connInstanceTO.getConf().addAll(conf);
-
- // SYNCOPE-156: use provided info to give schema names (and type!) by ObjectClass
- ConnIdObjectClassTO clazz = IterableUtils.find(
- connRestClient.buildObjectClassInfo(connInstanceTO, true), new Predicate<ConnIdObjectClassTO>() {
-
- @Override
- public boolean evaluate(final ConnIdObjectClassTO object) {
- return object.getType().equalsIgnoreCase(ResourceMappingPanel.this.provisionTO.getObjectClass());
- }
- });
-
- return clazz == null ? new ArrayList<String>()
- : IterableUtils.toList(IterableUtils.filteredIterable(clazz.getAttributes(), new Predicate<String>() {
-
- @Override
- public boolean evaluate(final String object) {
- return !(ConnIdSpecialAttributeName.NAME.equals(object)
- || ConnIdSpecialAttributeName.ENABLE.equals(object)
- || ConnIdSpecialAttributeName.PASSWORD.equals(object));
- }
- }));
- }
-
- private void setEnabled() {
- ConnInstanceTO connInstanceTO = new ConnInstanceTO();
- connInstanceTO.setKey(resourceTO.getConnector());
- connInstanceTO.getConf().addAll(resourceTO.getConfOverride());
-
- boolean enabled = provisionTO != null;
-
- this.mappingContainer.setEnabled(enabled);
- this.mappingContainer.setVisible(enabled);
-
- if (!enabled) {
- getMapping().getItems().clear();
- getMapping().setConnObjectLink(null);
- }
- }
-
- /**
- * Set attribute names for a drop down choice list.
- *
- * @param type attribute type.
- * @param toBeUpdated drop down choice to be updated.
- */
- private void setAttrNames(final IntMappingType type, final AjaxDropDownChoicePanel<String> toBeUpdated) {
- toBeUpdated.setRequired(true);
- toBeUpdated.setEnabled(true);
-
- if (type == null || type.getAnyTypeKind() == null) {
- toBeUpdated.setChoices(Collections.<String>emptyList());
- } else {
- AnyTypeTO anyTypeTO = anyTypeRestClient.read(provisionTO.getAnyType());
-
- List<AnyTypeClassTO> anyTypeClassTOs = new ArrayList<>();
- anyTypeClassTOs.addAll(anyTypeClassRestClient.list(anyTypeTO.getClasses()));
- for (String auxClass : provisionTO.getAuxClasses()) {
- anyTypeClassTOs.add(anyTypeClassRestClient.read(auxClass));
- }
-
- List<String> choices;
- switch (type) {
- case UserPlainSchema:
- case GroupPlainSchema:
- case AnyObjectPlainSchema:
- final Set<String> plains = new HashSet<>();
- for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
- plains.addAll(anyTypeClassTO.getPlainSchemas());
- }
- choices = new ArrayList<>(plains);
- break;
-
- case UserDerivedSchema:
- case GroupDerivedSchema:
- case AnyObjectDerivedSchema:
- final Set<String> deriveds = new HashSet<>();
- for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
- deriveds.addAll(anyTypeClassTO.getDerSchemas());
- }
- choices = new ArrayList<>(deriveds);
- break;
-
- case UserVirtualSchema:
- case GroupVirtualSchema:
- case AnyObjectVirtualSchema:
- final Set<String> virtuals = new HashSet<>();
- for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
- virtuals.addAll(anyTypeClassTO.getVirSchemas());
- }
- choices = new ArrayList<>(virtuals);
- break;
-
- case UserKey:
- case Password:
- case Username:
- case GroupKey:
- case GroupName:
- case AnyObjectKey:
- default:
- toBeUpdated.setRequired(false);
- toBeUpdated.setEnabled(false);
- choices = Collections.<String>emptyList();
- }
- Collections.sort(choices);
- toBeUpdated.setChoices(choices);
- }
- }
-
- /**
- * Enable/Disable connObjectKey checkbox.
- *
- * @param type attribute type.
- * @param connObjectKey connObjectKey checkbox.
- * @param password password checkbox.
- */
- private void setConnObjectKey(
- final IntMappingType type, final AjaxCheckBoxPanel connObjectKey, final AjaxCheckBoxPanel password) {
-
- if (type != null && type.getAnyTypeKind() != null) {
- switch (type) {
- case UserVirtualSchema:
- case GroupVirtualSchema:
- case AnyObjectVirtualSchema:
- // Virtual connObjectKey is not permitted
- case Password:
- // connObjectKey cannot be derived from password.
- connObjectKey.setReadOnly(true);
- connObjectKey.setModelObject(false);
- break;
-
- default:
- if (password.getModelObject()) {
- connObjectKey.setReadOnly(true);
- connObjectKey.setModelObject(false);
- } else {
- connObjectKey.setReadOnly(false);
- }
- }
- }
- }
-
- /**
- * Get all attribute types from a selected attribute type.
- *
- * @param kind entity.
- * @return all attribute types.
- */
- private List<IntMappingType> getAttributeTypes(final AnyTypeKind kind) {
- final List<IntMappingType> res = new ArrayList<>();
-
- if (kind != null) {
- res.addAll(IntMappingType.getAttributeTypes(kind));
- }
-
- return res;
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java
deleted file mode 100644
index 11c7468..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceModal.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import org.apache.commons.collections4.IterableUtils;
-import org.apache.commons.collections4.IteratorUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.lang3.SerializationUtils;
-import org.apache.commons.lang3.StringUtils;
-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.topology.TopologyNode;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wizards.AjaxWizard;
-import org.apache.syncope.client.console.wizards.provision.ProvisionWizardBuilder;
-import org.apache.syncope.common.lib.to.MappingItemTO;
-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.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.ResourceModel;
-
-/**
- * Modal window with Resource form.
- *
- * @param <T>
- */
-public class ResourceModal<T extends Serializable> extends AbstractResourceModal<T> {
-
- private static final long serialVersionUID = 1734415311027284221L;
-
- private final ResourceRestClient resourceRestClient = new ResourceRestClient();
-
- private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
-
- private final boolean createFlag;
-
- public ResourceModal(
- final BaseModal<T> modal,
- final PageReference pageRef,
- final IModel<ResourceTO> model,
- final boolean createFlag) {
-
- super(modal, pageRef);
- this.createFlag = createFlag;
-
- //--------------------------------
- // Resource details panel
- //--------------------------------
- tabs.add(new AbstractTab(new ResourceModel("general")) {
-
- private static final long serialVersionUID = -5861786415855103549L;
-
- @Override
- public Panel getPanel(final String panelId) {
- return new ResourceDetailsPanel(panelId, model, createFlag);
- }
- });
- //--------------------------------
-
- //--------------------------------
- // Resource provision panels
- //--------------------------------
- final ListViewPanel.Builder<ProvisionTO> builder = new ListViewPanel.Builder<ProvisionTO>(ProvisionTO.class,
- pageRef) {
-
- private static final long serialVersionUID = 4907732721283972943L;
-
- @Override
- protected ProvisionTO getActualItem(final ProvisionTO item, final List<ProvisionTO> list) {
- return item == null
- ? null
- : IteratorUtils.find(list.iterator(), new Predicate<ProvisionTO>() {
-
- @Override
- public boolean evaluate(final ProvisionTO in) {
- return ((item.getKey() == null && in.getKey() == null)
- || (in.getKey() != null && in.getKey().equals(item.getKey())))
- && ((item.getAnyType() == null && in.getAnyType() == null)
- || (in.getAnyType() != null && in.getAnyType().equals(item.getAnyType())));
- }
- });
- }
- };
-
- builder.setItems(model.getObject().getProvisions());
- builder.includes("anyType", "objectClass", "auxClasses");
- builder.setReuseItem(false);
-
- builder.
- addAction(new ActionLink<ProvisionTO>() {
-
- private static final long serialVersionUID = -3722207913631435504L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
- send(pageRef.getPage(), Broadcast.DEPTH,
- new AjaxWizard.NewItemActionEvent<>(provisionTO, 2, target));
- }
- }, ActionLink.ActionType.MAPPING, StandardEntitlement.RESOURCE_UPDATE).
- addAction(new ActionLink<ProvisionTO>() {
-
- private static final long serialVersionUID = -3722207913631435524L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
- provisionTO.setSyncToken(null);
- send(pageRef.getPage(), Broadcast.DEPTH, new ListViewPanel.ListViewReload(target));
- }
- }, ActionLink.ActionType.RESET_TIME, StandardEntitlement.RESOURCE_UPDATE).
- addAction(new ActionLink<ProvisionTO>() {
-
- private static final long serialVersionUID = -3722207913631435534L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
- final ProvisionTO clone = SerializationUtils.clone(provisionTO);
- clone.setKey(0L);
- clone.setAnyType(null);
- clone.setObjectClass(null);
- send(pageRef.getPage(), Broadcast.DEPTH, new AjaxWizard.NewItemActionEvent<>(clone, target));
- }
- }, ActionLink.ActionType.CLONE, StandardEntitlement.RESOURCE_CREATE).
- addAction(new ActionLink<ProvisionTO>() {
-
- private static final long serialVersionUID = -3722207913631435544L;
-
- @Override
- public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
- model.getObject().getProvisions().remove(provisionTO);
- send(pageRef.getPage(), Broadcast.DEPTH, new ListViewPanel.ListViewReload(target));
- }
- }, ActionLink.ActionType.DELETE, StandardEntitlement.RESOURCE_DELETE);
-
- builder.addNewItemPanelBuilder(new ProvisionWizardBuilder(model.getObject(), pageRef));
-
- tabs.add(new AbstractTab(new ResourceModel("provisions")) {
-
- private static final long serialVersionUID = -5861786415855103549L;
-
- @Override
- public Panel getPanel(final String panelId) {
- return builder.build(panelId);
- }
- });
- //--------------------------------
-
- //--------------------------------
- // Resource connector configuration panel
- //--------------------------------
- tabs.add(new AbstractTab(new ResourceModel("connectorProperties")) {
-
- private static final long serialVersionUID = -5861786415855103549L;
-
- @Override
- public Panel getPanel(final String panelId) {
- final ResourceConnConfPanel panel = new ResourceConnConfPanel(panelId, model, createFlag) {
-
- private static final long serialVersionUID = -1128269449868933504L;
-
- @Override
- protected void check(final AjaxRequestTarget target) {
- if (connectorRestClient.check(model.getObject())) {
- info(getString(Constants.OPERATION_SUCCEEDED));
- } else {
- error(getString("error_connection"));
- }
- SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
- }
-
- @Override
- protected void onComponentTag(final ComponentTag tag) {
- tag.append("class", "scrollable-tab-content", " ");
- }
- };
- MetaDataRoleAuthorizationStrategy.authorize(panel, ENABLE, StandardEntitlement.CONNECTOR_READ);
- return panel;
- }
- });
- //--------------------------------
-
- //--------------------------------
- // Resource connector capabilities panel
- //--------------------------------
- tabs.add(new AbstractTab(new ResourceModel("connectorCapabilities")) {
-
- private static final long serialVersionUID = -6815067322125799251L;
-
- @Override
- public Panel getPanel(final String panelId) {
- ResourceConnCapabilitiesPanel panel = new ResourceConnCapabilitiesPanel(
- panelId,
- model,
- connectorRestClient.read(model.getObject().getConnector()).getCapabilities());
- MetaDataRoleAuthorizationStrategy.authorize(panel, ENABLE, StandardEntitlement.CONNECTOR_READ);
- return panel;
- }
- });
- //--------------------------------
-
- //--------------------------------
- // Resource security panel
- //--------------------------------
- tabs.add(new AbstractTab(new ResourceModel("security")) {
-
- private static final long serialVersionUID = -5861786415855103549L;
-
- @Override
- public Panel getPanel(final String panelId) {
- return new ResourceSecurityPanel(panelId, model);
- }
- });
- //--------------------------------
- }
-
- @Override
- public void onError(final AjaxRequestTarget target, final Form<?> form) {
- SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
- }
-
- @Override
- public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- final ResourceTO resourceTO = (ResourceTO) form.getDefaultModelObject();
-
- boolean connObjectKeyError = false;
-
- final Collection<ProvisionTO> provisions = new ArrayList<>(resourceTO.getProvisions());
-
- for (ProvisionTO provision : provisions) {
- if (provision != null) {
- if (provision.getMapping() == null || provision.getMapping().getItems().isEmpty()) {
- resourceTO.getProvisions().remove(provision);
- } else {
- long uConnObjectKeyCount = IterableUtils.countMatches(
- provision.getMapping().getItems(), new Predicate<MappingItemTO>() {
-
- @Override
- public boolean evaluate(final MappingItemTO item) {
- return item.isConnObjectKey();
- }
- });
-
- connObjectKeyError = uConnObjectKeyCount != 1;
- }
- }
- }
-
- if (connObjectKeyError) {
- error(getString("connObjectKeyValidation"));
- } else {
- try {
- if (createFlag) {
- final ResourceTO actual = resourceRestClient.create(resourceTO);
- send(pageRef.getPage(), Broadcast.BREADTH, new CreateEvent(
- actual.getKey(),
- actual.getKey(),
- TopologyNode.Kind.RESOURCE,
- actual.getConnector(),
- target));
- } else {
- resourceRestClient.update(resourceTO);
- }
-
- info(getString(Constants.OPERATION_SUCCEEDED));
- modal.close(target);
- } catch (Exception e) {
- LOG.error("Failure managing {}", resourceTO, e);
- error(StringUtils.isBlank(e.getMessage()) ? e.getClass().getName() : e.getMessage());
- }
- }
- SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java
deleted file mode 100644
index 25e22ce..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceSecurityPanel.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.syncope.client.console.rest.PolicyRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.PolicyRenderer;
-import org.apache.syncope.common.lib.policy.AbstractPolicyTO;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.PolicyType;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.DropDownChoice;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-
-public class ResourceSecurityPanel extends Panel {
-
- private static final long serialVersionUID = -7982691107029848579L;
-
- private final PolicyRestClient policyRestClient = new PolicyRestClient();
-
- private final IModel<Map<Long, String>> passwordPolicies = new LoadableDetachableModel<Map<Long, String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected Map<Long, String> load() {
- Map<Long, String> res = new HashMap<>();
- for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.PASSWORD)) {
- res.put(policyTO.getKey(), policyTO.getDescription());
- }
- return res;
- }
- };
-
- private final IModel<Map<Long, String>> accountPolicies = new LoadableDetachableModel<Map<Long, String>>() {
-
- private static final long serialVersionUID = -2012833443695917883L;
-
- @Override
- protected Map<Long, String> load() {
- Map<Long, String> res = new HashMap<>();
- for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.ACCOUNT)) {
- res.put(policyTO.getKey(), policyTO.getDescription());
- }
- return res;
- }
- };
-
- private final IModel<Map<Long, String>> pullPolicies = new LoadableDetachableModel<Map<Long, String>>() {
-
- private static final long serialVersionUID = -2012833443695917883L;
-
- @Override
- protected Map<Long, String> load() {
- Map<Long, String> res = new HashMap<>();
- for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.PULL)) {
- res.put(policyTO.getKey(), policyTO.getDescription());
- }
- return res;
- }
- };
-
- public ResourceSecurityPanel(final String id, final IModel<ResourceTO> model) {
- super(id);
- setOutputMarkupId(true);
-
- final WebMarkupContainer container = new WebMarkupContainer("container");
- container.setOutputMarkupId(true);
- container.setRenderBodyOnly(true);
- add(container);
-
- // -------------------------------
- // Password policy selection
- // -------------------------------
- AjaxDropDownChoicePanel<Long> passwordPolicy = new AjaxDropDownChoicePanel<>(
- "passwordPolicy",
- new ResourceModel("passwordPolicy", "passwordPolicy").getObject(),
- new PropertyModel<Long>(model, "passwordPolicy"),
- false);
- passwordPolicy.setChoiceRenderer(new PolicyRenderer(passwordPolicies));
- passwordPolicy.setChoices(new ArrayList<>(passwordPolicies.getObject().keySet()));
- ((DropDownChoice<?>) passwordPolicy.getField()).setNullValid(true);
- container.add(passwordPolicy);
- // -------------------------------
-
- // -------------------------------
- // Account policy selection
- // -------------------------------
- AjaxDropDownChoicePanel<Long> accountPolicy = new AjaxDropDownChoicePanel<>(
- "accountPolicy",
- new ResourceModel("accountPolicy", "accountPolicy").getObject(),
- new PropertyModel<Long>(model, "accountPolicy"),
- false);
- accountPolicy.setChoiceRenderer(new PolicyRenderer(accountPolicies));
- accountPolicy.setChoices(new ArrayList<>(accountPolicies.getObject().keySet()));
- ((DropDownChoice<?>) accountPolicy.getField()).setNullValid(true);
- container.add(accountPolicy);
- // -------------------------------
-
- // -------------------------------
- // Pull policy selection
- // -------------------------------
- AjaxDropDownChoicePanel<Long> pullPolicy = new AjaxDropDownChoicePanel<>(
- "pullPolicy",
- new ResourceModel("pullPolicy", "pullPolicy").getObject(),
- new PropertyModel<Long>(model, "pullPolicy"),
- false);
- pullPolicy.setChoiceRenderer(new PolicyRenderer(pullPolicies));
- pullPolicy.setChoices(new ArrayList<>(pullPolicies.getObject().keySet()));
- ((DropDownChoice<?>) pullPolicy.getField()).setNullValid(true);
- container.add(pullPolicy);
- // -------------------------------
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
index cbb5809..755ed04 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RoleDirectoryPanel.java
@@ -75,7 +75,8 @@ public class RoleDirectoryPanel extends DirectoryPanel<RoleTO, RoleHandler, Role
protected List<IColumn<RoleTO, String>> getColumns() {
final List<IColumn<RoleTO, String>> columns = new ArrayList<>();
- columns.add(new PropertyColumn<RoleTO, String>(new ResourceModel("key"), "key", "key"));
+ columns.add(new PropertyColumn<RoleTO, String>(
+ new ResourceModel("key"), "key", "key"));
columns.add(new PropertyColumn<RoleTO, String>(
new ResourceModel("entitlements", "Entitlements"), null, "entitlements"));
columns.add(new PropertyColumn<RoleTO, String>(
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
index 8280e58..84a4745 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
@@ -19,20 +19,15 @@
package org.apache.syncope.client.console.panels;
import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.wizards.WizardMgtPanel;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.panel.Panel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,7 +36,7 @@ import org.slf4j.LoggerFactory;
*
* @param <T>
*/
-public abstract class TogglePanel<T extends Serializable> extends Panel {
+public abstract class TogglePanel<T extends Serializable> extends WizardMgtPanel<T> {
private static final long serialVersionUID = -2025535531121434056L;
@@ -59,15 +54,14 @@ public abstract class TogglePanel<T extends Serializable> extends Panel {
private final Label header;
- private List<Component> outerObjects = new ArrayList<>();
-
public TogglePanel(final String id) {
- super(id);
+ super(id, true);
setRenderBodyOnly(true);
setOutputMarkupId(true);
+ disableContainerAutoRefresh();
container = new WebMarkupContainer("togglePanelContainer");
- add(container.setMarkupId(id));
+ super.addInnerObject(container.setMarkupId(id));
header = new Label("label", StringUtils.EMPTY);
header.setOutputMarkupId(true);
@@ -96,31 +90,6 @@ public abstract class TogglePanel<T extends Serializable> extends Panel {
// do nothing
}
}));
-
- add(new ListView<Component>("outerObjectsRepeater", outerObjects) {
-
- private static final long serialVersionUID = -9180479401817023838L;
-
- @Override
- protected void populateItem(final ListItem<Component> item) {
- item.add(item.getModelObject());
- }
-
- });
-
- }
-
- /**
- * Add object outside the main container.
- * Use this method just to be not influenced by specific inner object css'.
- * Be sure to provide <tt>outer</tt> as id.
- *
- * @param childs components to be added.
- * @return the current panel instance.
- */
- public TogglePanel<T> addOuterObject(final Component... childs) {
- outerObjects.addAll(Arrays.asList(childs));
- return this;
}
/**
@@ -129,6 +98,7 @@ public abstract class TogglePanel<T extends Serializable> extends Panel {
* @param childs components to be added.
* @return the current panel instance.
*/
+ @Override
public TogglePanel<T> addInnerObject(final Component... childs) {
container.addOrReplace(childs);
return this;
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
index 8a7e64e..6f7210a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
@@ -32,7 +32,7 @@ import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.pages.BasePage;
-import org.apache.syncope.client.console.panels.AbstractResourceModal.CreateEvent;
+import org.apache.syncope.client.console.wizards.resources.AbstractResourceWizardBuilder.CreateEvent;
import org.apache.syncope.client.console.rest.BaseRestClient;
import org.apache.syncope.client.console.rest.ConnectorRestClient;
import org.apache.syncope.client.console.rest.ResourceRestClient;
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
index b83fae2..7e82c3e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
@@ -38,10 +38,7 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
}
- public TopologyNodePanel(
- final String id,
- final TopologyNode node) {
-
+ public TopologyNodePanel(final String id, final TopologyNode node) {
super(id);
final String resourceName = node.getDisplayName().length() > 14
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
index bb75836..0c83e9b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
@@ -25,8 +25,8 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.panels.ConnObjects;
-import org.apache.syncope.client.console.panels.ConnectorModal;
-import org.apache.syncope.client.console.panels.ResourceModal;
+import org.apache.syncope.client.console.wizards.resources.ConnectorWizardBuilder;
+import org.apache.syncope.client.console.wizards.resources.ResourceWizardBuilder;
import org.apache.syncope.client.console.panels.TogglePanel;
import org.apache.syncope.client.console.rest.ConnectorRestClient;
import org.apache.syncope.client.console.rest.ResourceRestClient;
@@ -36,6 +36,7 @@ import org.apache.syncope.client.console.tasks.SchedTasks;
import org.apache.syncope.client.console.tasks.PullTasks;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
+import org.apache.syncope.client.console.wizards.AjaxWizard;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.ConnInstanceTO;
import org.apache.syncope.common.lib.to.ResourceTO;
@@ -63,20 +64,15 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
private final WebMarkupContainer container;
- private final PageReference pageRef;
-
- protected final BaseModal<Serializable> resourceModal;
-
protected final BaseModal<Serializable> taskModal;
public TopologyTogglePanel(final String id, final PageReference pageRef) {
super(id);
this.pageRef = pageRef;
- resourceModal = new BaseModal<>("outer");
- resourceModal.addSumbitButton();
- resourceModal.size(Modal.Size.Large);
- addOuterObject(resourceModal);
+ modal.size(Modal.Size.Large);
+ setFooterVisibility(false);
+ setWindowClosedReloadCallback(modal);
taskModal = new BaseModal<>("outer");
taskModal.size(Modal.Size.Large);
@@ -155,16 +151,17 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
modelObject.setLocation(node.getKey().toString());
final IModel<ConnInstanceTO> model = new CompoundPropertyModel<>(modelObject);
- resourceModal.setFormModel(model);
+ modal.setFormModel(model);
- target.add(resourceModal.setContent(new ConnectorModal(resourceModal, pageRef, model)));
+ target.add(modal.setContent(new ConnectorWizardBuilder(modelObject, pageRef).
+ build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
- resourceModal.header(new Model<>(MessageFormat.format(getString("connector.new"), node.getKey())));
+ modal.header(new Model<>(MessageFormat.format(getString("connector.new"), node.getKey())));
MetaDataRoleAuthorizationStrategy.
- authorize(resourceModal.addSumbitButton(), ENABLE, StandardEntitlement.CONNECTOR_CREATE);
+ authorize(modal.getForm(), ENABLE, StandardEntitlement.CONNECTOR_CREATE);
- resourceModal.show(true);
+ modal.show(true);
}
};
fragment.add(create);
@@ -208,16 +205,17 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
modelObject.setConnectorDisplayName(node.getDisplayName());
final IModel<ResourceTO> model = new CompoundPropertyModel<>(modelObject);
- resourceModal.setFormModel(model);
+ modal.setFormModel(model);
- target.add(resourceModal.setContent(new ResourceModal<>(resourceModal, pageRef, model, true)));
+ target.add(modal.setContent(new ResourceWizardBuilder(modelObject, pageRef).
+ build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
- resourceModal.header(new Model<>(MessageFormat.format(getString("resource.new"), node.getKey())));
+ modal.header(new Model<>(MessageFormat.format(getString("resource.new"), node.getKey())));
MetaDataRoleAuthorizationStrategy.
- authorize(resourceModal.addSumbitButton(), ENABLE, StandardEntitlement.RESOURCE_CREATE);
+ authorize(modal.getForm(), ENABLE, StandardEntitlement.RESOURCE_CREATE);
- resourceModal.show(true);
+ modal.show(true);
}
};
MetaDataRoleAuthorizationStrategy.authorize(create, ENABLE, StandardEntitlement.RESOURCE_CREATE);
@@ -232,16 +230,17 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
final ConnInstanceTO modelObject = connectorRestClient.read(Long.class.cast(node.getKey()));
final IModel<ConnInstanceTO> model = new CompoundPropertyModel<>(modelObject);
- resourceModal.setFormModel(model);
+ modal.setFormModel(model);
- target.add(resourceModal.setContent(new ConnectorModal(resourceModal, pageRef, model)));
+ target.add(modal.setContent(new ConnectorWizardBuilder(modelObject, pageRef).
+ build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT)));
- resourceModal.header(new Model<>(MessageFormat.format(getString("connector.edit"), node.getKey())));
+ modal.header(new Model<>(MessageFormat.format(getString("connector.edit"), node.getKey())));
MetaDataRoleAuthorizationStrategy.
- authorize(resourceModal.addSumbitButton(), ENABLE, StandardEntitlement.CONNECTOR_UPDATE);
+ authorize(modal.getForm(), ENABLE, StandardEntitlement.CONNECTOR_UPDATE);
- resourceModal.show(true);
+ modal.show(true);
}
};
MetaDataRoleAuthorizationStrategy.authorize(edit, ENABLE, StandardEntitlement.CONNECTOR_UPDATE);
@@ -282,16 +281,17 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
ResourceTO modelObject = resourceRestClient.read(node.getKey().toString());
IModel<ResourceTO> model = new CompoundPropertyModel<>(modelObject);
- resourceModal.setFormModel(model);
+ modal.setFormModel(model);
- target.add(resourceModal.setContent(new ResourceModal<>(resourceModal, pageRef, model, false)));
+ target.add(modal.setContent(new ResourceWizardBuilder(modelObject, pageRef).
+ build(BaseModal.CONTENT_ID, AjaxWizard.Mode.EDIT)));
- resourceModal.header(new Model<>(MessageFormat.format(getString("resource.edit"), node.getKey())));
+ modal.header(new Model<>(MessageFormat.format(getString("resource.edit"), node.getKey())));
MetaDataRoleAuthorizationStrategy.
- authorize(resourceModal.addSumbitButton(), ENABLE, StandardEntitlement.RESOURCE_UPDATE);
+ authorize(modal.getForm(), ENABLE, StandardEntitlement.RESOURCE_UPDATE);
- resourceModal.show(true);
+ modal.show(true);
}
};
MetaDataRoleAuthorizationStrategy.authorize(edit, ENABLE, StandardEntitlement.RESOURCE_UPDATE);
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
index 5041f1c..e49b1cf 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
@@ -229,7 +229,9 @@ public class BaseModal<T extends Serializable> extends Modal<T> {
/**
* Generic modal event.
*/
- public static class ModalEvent {
+ public static class ModalEvent implements Serializable {
+
+ private static final long serialVersionUID = 2668922412196063559L;
/**
* Request target.
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
index 6710f73..1334bba 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/list/ConnConfPropertyListView.java
@@ -36,6 +36,8 @@ import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel
import org.apache.syncope.common.lib.types.ConnConfProperty;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.PasswordTextField;
@@ -184,4 +186,13 @@ public class ConnConfPropertyListView extends ListView<ConnConfProperty> {
}
};
}
+
+ @Override
+ public void renderHead(final IHeaderResponse response) {
+ super.renderHead(response);
+ if (getModelObject().isEmpty()) {
+ response.render(OnDomReadyHeaderItem.forScript(
+ String.format("$('#emptyPlaceholder').append(\"%s\")", getString("property.empty.list"))));
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizard.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizard.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizard.java
index a03ccf5..94874b2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizard.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizard.java
@@ -96,7 +96,7 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard implemen
protected abstract void onCancelInternal();
- protected abstract Serializable onApplyInternal();
+ protected abstract Serializable onApplyInternal(final AjaxRequestTarget target);
/**
* @see org.apache.wicket.extensions.wizard.Wizard#onCancel()
@@ -121,7 +121,7 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard implemen
public final void onFinish() {
final AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
try {
- final Serializable res = onApplyInternal();
+ final Serializable res = onApplyInternal(target);
send(AjaxWizard.this, Broadcast.BUBBLE, new NewItemFinishEvent<>(item, target).setResult(res));
} catch (Exception e) {
LOG.error("Wizard error on finish", e);
@@ -252,7 +252,7 @@ public abstract class AjaxWizard<T extends Serializable> extends Wizard implemen
@Override
public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
- onApplyInternal();
+ onApplyInternal(target);
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizardBuilder.java
index 3240a6b..050797d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/AjaxWizardBuilder.java
@@ -20,12 +20,16 @@ package org.apache.syncope.client.console.wizards;
import java.io.Serializable;
import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.event.Broadcast;
import org.apache.wicket.extensions.wizard.WizardModel;
public abstract class AjaxWizardBuilder<T extends Serializable> extends AbstractModalPanelBuilder<T> {
private static final long serialVersionUID = 5241745929825564456L;
+ protected AjaxWizard.Mode mode = AjaxWizard.Mode.CREATE;
+
/**
* Construct.
*
@@ -66,6 +70,8 @@ public abstract class AjaxWizardBuilder<T extends Serializable> extends Abstract
* @return wizard.
*/
public AjaxWizard<T> build(final String id, final AjaxWizard.Mode mode) {
+ this.mode = mode;
+
// ge the specified item if available
final T modelObject = newModelObject();
@@ -79,11 +85,51 @@ public abstract class AjaxWizardBuilder<T extends Serializable> extends Abstract
}
@Override
- protected Serializable onApplyInternal() {
- return AjaxWizardBuilder.this.onApplyInternal(modelObject);
+ protected Serializable onApplyInternal(final AjaxRequestTarget target) {
+ final Serializable res = AjaxWizardBuilder.this.onApplyInternal(modelObject);
+
+ Serializable payload;
+ switch (mode) {
+ case CREATE:
+ payload = getCreateCustomPayloadEvent(res, target);
+ break;
+ case EDIT:
+ payload = getEditCustomPayloadEvent(res, target);
+ break;
+ default:
+ payload = null;
+ }
+
+ if (payload != null) {
+ send(pageRef.getPage(), Broadcast.BUBBLE, payload);
+ }
+
+ return res;
}
};
}
protected abstract WizardModel buildModelSteps(final T modelObject, final WizardModel wizardModel);
+
+ /**
+ * Override to send custom events after create.
+ *
+ * @param afterObject after applied changes object.
+ * @param target
+ * @return payload to be sent.
+ */
+ protected Serializable getCreateCustomPayloadEvent(final Serializable afterObject, final AjaxRequestTarget target) {
+ return null;
+ }
+
+ /**
+ * Override to send custom events after edit.
+ *
+ * @param afterObject after applied changes object.
+ * @param target
+ * @return payload to be sent.
+ */
+ protected Serializable getEditCustomPayloadEvent(final Serializable afterObject, final AjaxRequestTarget target) {
+ return null;
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
index 49a1180..2a61de7 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
@@ -19,6 +19,9 @@
package org.apache.syncope.client.console.wizards;
import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.panels.ModalPanel;
@@ -30,11 +33,13 @@ import org.apache.wicket.MarkupContainer;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.event.Broadcast;
import org.apache.wicket.event.IEvent;
import org.apache.wicket.event.IEventSource;
+import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.CompoundPropertyModel;
@@ -56,6 +61,8 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
private final boolean wizardInModal;
+ private boolean containerAutoRefresh = true;
+
protected PageReference pageRef;
protected final AjaxLink<?> addAjaxLink;
@@ -68,7 +75,9 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
protected boolean showResultPage = false;
- protected final BaseModal<T> modal = new BaseModal<T>("modal") {
+ private final List<Component> outerObjects = new ArrayList<>();
+
+ protected final BaseModal<T> modal = new BaseModal<T>("outer") {
private static final long serialVersionUID = 389935548143327858L;
@@ -80,12 +89,6 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
};
- protected final BaseModal<T> altDefaultModal = new BaseModal<>("alternativeDefaultModal");
-
- protected final BaseModal<T> displayAttributeModal = new BaseModal<>("displayAttributeModal");
-
- protected final BaseModal<Serializable> utilityModal = new BaseModal<>("utilityModal");
-
protected WizardMgtPanel(final String id) {
this(id, false);
}
@@ -97,14 +100,11 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
this.actualId = wizardInModal ? BaseModal.CONTENT_ID : WIZARD_ID;
this.wizardInModal = wizardInModal;
- super.add(modal);
- super.add(altDefaultModal);
- super.add(displayAttributeModal);
- super.add(utilityModal);
+ outerObjects.add(modal);
container = new WebMarkupContainer("container");
container.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true);
- super.add(container);
+ add(container);
initialFragment = new Fragment("content", "default", this);
container.addOrReplace(initialFragment);
@@ -122,6 +122,17 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
addAjaxLink.setEnabled(false);
addAjaxLink.setVisible(false);
initialFragment.addOrReplace(addAjaxLink);
+
+ add(new ListView<Component>("outerObjectsRepeater", outerObjects) {
+
+ private static final long serialVersionUID = -9180479401817023838L;
+
+ @Override
+ protected void populateItem(final ListItem<Component> item) {
+ item.add(item.getModelObject());
+ }
+
+ });
}
@Override
@@ -195,11 +206,18 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
}
}
- target.add(container);
+ if (containerAutoRefresh) {
+ target.add(container);
+ }
}
super.onEvent(event);
}
+ protected final WizardMgtPanel<T> disableContainerAutoRefresh() {
+ containerAutoRefresh = false;
+ return this;
+ }
+
/*
* Override this method to specify your custom result body panel.
*/
@@ -211,13 +229,27 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
};
}
- @Override
- public Component add(final Behavior... behaviors) {
- return super.add(behaviors);
+ /**
+ * Add object inside the main container.
+ *
+ * @param childs components to be added.
+ * @return the current panel instance.
+ */
+ public MarkupContainer addInnerObject(final Component... childs) {
+ return initialFragment.add(childs);
}
- public final MarkupContainer addInnerObject(final Component childs) {
- return initialFragment.add(childs);
+ /**
+ * Add object outside the main container.
+ * Use this method just to be not influenced by specific inner object css'.
+ * Be sure to provide <tt>outer</tt> as id.
+ *
+ * @param childs components to be added.
+ * @return the current panel instance.
+ */
+ public final WizardMgtPanel<T> addOuterObject(final Component... childs) {
+ outerObjects.addAll(Arrays.asList(childs));
+ return this;
}
public <B extends AbstractModalPanelBuilder<T>> WizardMgtPanel<T> setPageRef(final PageReference pageRef) {
@@ -253,6 +285,32 @@ public abstract class WizardMgtPanel<T extends Serializable> extends Panel imple
}
/**
+ * Set window close callback for the given modal.
+ *
+ * @param modal target modal.
+ */
+ protected final void setWindowClosedReloadCallback(final BaseModal<?> modal) {
+ modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+
+ private static final long serialVersionUID = 8804221891699487139L;
+
+ @Override
+ public void onClose(final AjaxRequestTarget target) {
+ modal.show(false);
+ customActionOnCloseCallback(target);
+ }
+ });
+ }
+
+ /**
+ * Custom action to perform on close callback.
+ *
+ * @param target Ajax request target.
+ */
+ protected void customActionOnCloseCallback(final AjaxRequestTarget target) {
+ }
+
+ /**
* PanelInWizard abstract builder.
*
* @param <T> list item reference type.
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AuxClasses.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AuxClasses.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AuxClasses.java
index 3d67497..5115a99 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AuxClasses.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AuxClasses.java
@@ -126,8 +126,7 @@ public class AuxClasses extends WizardStep {
}
}).hideLabel().setOutputMarkupId(true));
- final ArrayList<String> dynamics = CollectionUtils.collect(dyngroups,
- new Transformer<Long, String>() {
+ final ArrayList<String> dynamics = CollectionUtils.collect(dyngroups, new Transformer<Long, String>() {
@Override
public String transform(final Long input) {
[3/7] syncope git commit: [SYNCOPE-156,
SYNCOPE-817] provides wizard to manage resources and connectors
Posted by fm...@apache.org.
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_it.properties
deleted file mode 100644
index 515975c..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_it.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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.
-general=Dettagli Risorsa
-provisions=Provisioning
-umapping=Mapping utenti
-connectorProperties=Propriet\u00e0\u00a0Connettore
-security=Sicurezza
-required_alert=Tutti i campi sono richiesti
-connector=Connettore
-existing_resources=Risorse esistenti
-action=Azione
-edit_attribute=Modifica risorsa
-title=Risorsa
-extAttrNames=Attributi esterni
-intMappingTypes=Tipo mapping interno
-entity=Entità
-groupSchema=Schema Gruppo
-connObjectKey=ConnObjectKey
-mandatoryCondition=Obbligatorio
-password=Password
-purpose=Scopo
-mappingUserSchema=Mapping User Schema
-mappingGroupSchema=Mapping Group Schema
-delete=Rimuovi
-intAttrNames=Attributi interni
-enforceMandatoryCondition=Abilita mandatory condition
-fieldName=Nome campo
-
-connObjectKeyValidation=Deve essere definito esattamente un ConnObjectKey
-propagationMode=Modalit\u00e0 di propagazione
-connObjectLink=ConnObjectLink
-enable=Abilita
-
-createTraceLevel=Livello di tracciamento delle creazioni
-updateTraceLevel=Livello di tracciamento degli aggiornamenti
-deleteTraceLevel=Livello di tracciamento delle cancellazioni
-pullTraceLevel=Livello di tracciamento delle pull
-propagationPriority=Priorit\u00e0 in propagazione
-
-success_connection=Connessione avvenuta con successo
-error_connection=Connessione non riuscita
-check=Verifica connessione
-propagationActionsClassNames=Azioni di Propagazione
-gmapping=Mapping gruppi
-new=Nuova risorsa
-randomPwdIfNotProvided=Genera password casuali se mancanti
-
-anyType=Oggetto
-objectClass=Classe
-__ACCOUNT__=ACCOUNT
-__GROUP__=GROUP
-connectorCapabilities=Capabilitiey Connettore
-auxClasses=Classi Ausiliarie
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_pt_BR.properties
deleted file mode 100644
index a73218f..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_pt_BR.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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.
-general=Detalhes de Recursos
-provisions=Provisioning
-umapping=Mapeamento de usu\u00e1rios
-connectorProperties=Propriedades do Conector
-security=Seguran\u00e7a
-required_alert=Todos os campos deste formul\u00e1rio s\u00e3o obrigat\u00f3rios
-connector=Conector
-existing_resources=Recursos Existentes
-action=A\u00e7\u00e3o
-edit_attribute=Alterar Recurso
-title=Recurso
-extAttrNames=Atributos Externos
-intMappingTypes=Tipos internos de mapeamentos
-entity=Entidade
-groupSchema=Esquema de Grupo
-connObjectKey=ConnObjectKey
-mandatoryCondition=Obrigat\u00f3rio
-password=Senha
-purpose=Prop\u00f3sito
-mappingUserSchema=Esquema de mapeamento de usu\u00e1rio
-mappingGroupSchema=Esquema de mapeamento de grupo
-delete=Excluir
-intAttrNames=Atributos internos
-enforceMandatoryCondition=Aplicar condi\u00e7\u00e3o obrigat\u00f3ria
-fieldName=Nome do Campo
-
-connObjectKeyValidation=Precisa ser exatamente um ConnObjectKey
-propagationMode=Modo de propaga\u00e7\u00e3o
-connObjectLink=ConnObjectLink
-enable=Habilitado
-
-createTraceLevel=Criar n\u00edvel de trace
-updateTraceLevel=Atualizar n\u00edvel de trace
-deleteTraceLevel=Excluir n\u00edvel de trace
-pullTraceLevel=N\u00edvel de trace de pull
-propagationPriority=Prioridade de propaga\u00e7\u00e3o
-
-success_connection=Conex\u00e3o com sucesso
-error_connection=Conex\u00e3o sem sucesso
-check=Verificar a conex\u00e3o
-propagationActionsClassNames=A\u00e7\u00f5es de Propaga\u00e7\u00e3o
-gmapping=Mapeamento de grupos
-new=Novo recurso
-randomPwdIfNotProvided=Gerar senhas aleat\u00f3rias quando n\u00e3o houver
-
-anyType=Objeto
-objectClass=Classe
-__ACCOUNT__=ACCOUNT
-__GROUP__=GROUP
-connectorCapabilities=Capacidades do Conector
-auxClasses=Classes Auxiliares
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_ru.properties
deleted file mode 100644
index 48b790f..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal_ru.properties
+++ /dev/null
@@ -1,115 +0,0 @@
-# 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.
-# general=Сведения о ресурсе
-general=\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0435
-# provisions=Предоставление ресурса
-provisions=\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0430
-# connectorProperties=Настройки коннектора
-connectorProperties=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u0430
-# security=Настройки безопасности
-security=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
-
-# umapping=Маппинг для учетных записей
-umapping=\u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0434\u043b\u044f \u0443\u0447\u0435\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439
-# required_alert=Все поля обязательны для заполнения
-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
-# connector=Коннектор
-connector=\u041a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440
-# existing_resources=Существующие ресурсы
-existing_resources=\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b
-# action=Действие
-action=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435
-# edit_attribute=Изменить ресурс
-edit_attribute=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441
-# title=Ресурс
-title=\u0420\u0435\u0441\u0443\u0440\u0441
-# extAttrNames=Внешние атрибуты
-extAttrNames=\u0412\u043d\u0435\u0448\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b
-# intMappingTypes=Тип внутреннего маппинга
-intMappingTypes=\u0422\u0438\u043f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430
-# entity=Объект
-entity=\u041e\u0431\u044a\u0435\u043a\u0442
-# groupSchema=Атрибут группы
-groupSchema=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u0433\u0440\u0443\u043f\u043f\u044b
-# connObjectKey=Ключевой атрибут ресурса
-connObjectKey=\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u0430
-# mandatoryCondition=Обязательный
-mandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439
-# password=Пароль
-password=\u041f\u0430\u0440\u043e\u043b\u044c
-# purpose=Назначение
-purpose=\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435
-# mappingUserSchema=Маппинг атрибутов учетной записи
-mappingUserSchema=\u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438
-# mappingGroupSchema=Маппинг атрибутов группы
-mappingGroupSchema=\u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0433\u0440\u0443\u043f\u043f\u044b
-# delete=Удалить
-delete=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
-# intAttrNames=Внутренние атрибуты
-intAttrNames=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b
-# enforceMandatoryCondition=Обязательный (принудительно)
-enforceMandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 (\u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e)
-# fieldName=Название поля
-fieldName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044f
-
-# connObjectKeyValidation=Ключевой объект может быть только один
-connObjectKeyValidation=\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d
-# propagationMode=Режим выполнения действий
-propagationMode=\u0420\u0435\u0436\u0438\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439
-# connObjectLink=Критерий совпадения
-connObjectLink=\u041a\u0440\u0438\u0442\u0435\u0440\u0438\u0439 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f
-# enable=Включить
-enable=\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c
-
-# createTraceLevel=Уровень логирования действий по Созданию объектов
-createTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432
-# updateTraceLevel=Уровень логирования действий по Обновлению объектов
-updateTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432
-# deleteTraceLevel=Уровень логирования действий по Удалению объектов
-deleteTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432
-# pullTraceLevel=Уровень логирования получения данных
-pullTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445
-# propagationPriority=Приоритет выполнения действий
-propagationPriority=\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439
-
-# success_connection=Подключение выполнено успешно
-success_connection=\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e
-# error_connection=Во время подключения произошла ошибка
-error_connection=\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430
-# check=Проверить подключение
-check=\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435
-# propagationActionsClassNames=Выполняемые действия
-propagationActionsClassNames=\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f
-# gmapping=Маппинг для групп
-gmapping=\u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f
-# new=Создать ресурс
-new=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441
-# randomPwdIfNotProvided=Сгенерировать случайный пароль, если он не задан
-randomPwdIfNotProvided=\u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c, \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u0437\u0430\u0434\u0430\u043d
-
-# anyType=Тип объекта
-anyType=\u0422\u0438\u043f \u043e\u0431\u044a\u0435\u043a\u0442\u0430
-# objectClass=Класс объекта
-objectClass=\u041a\u043b\u0430\u0441\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430
-# __ACCOUNT__=УЧЕТНАЯ ЗАПИСЬ
-__ACCOUNT__=\u0423\u0427\u0415\u0422\u041d\u0410\u042f \u0417\u0410\u041f\u0418\u0421\u042c
-# __GROUP__=ГРУППА
-__GROUP__=\u0413\u0420\u0423\u041f\u041f\u0410
-# connectorCapabilities=Действия коннектора
-connectorCapabilities=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u0430
-# auxClasses=Вспомогательные классы
-auxClasses=\u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.html
deleted file mode 100644
index 5177e26..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div wicket:id="container" class="summarize">
- <span wicket:id="accountPolicy">
- [panel for dynamic input type markup]
- </span>
- <span wicket:id="passwordPolicy">
- [panel for dynamic input type markup]
- </span>
- <span wicket:id="pullPolicy">
- [panel for dynamic input type markup]
- </span>
- </div>
- </wicket:panel>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.properties
deleted file mode 100644
index 0d2d9c4..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-passwordPolicy=Password Policy
-accountPolicy=Account Policy
-pullPolicy=Pull Policy
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_it.properties
deleted file mode 100644
index 0d2d9c4..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_it.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-passwordPolicy=Password Policy
-accountPolicy=Account Policy
-pullPolicy=Pull Policy
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_pt_BR.properties
deleted file mode 100644
index 48e925f..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_pt_BR.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-passwordPolicy=Pol\u00edtica de Senha
-accountPolicy=Pol\u00edtica de Conta
-pullPolicy=Pol\u00edtica de Pull
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_ru.properties
deleted file mode 100644
index 841ebd6..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceSecurityPanel_ru.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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.
-#
-# passwordPolicy = Политика паролей
-passwordPolicy = \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u0430\u0440\u043e\u043b\u0435\u0439
-# accountPolicy = Политика учетных записей
-accountPolicy = \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0443\u0447\u0435\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439
-# pullPolicy=Политика получения данных
-pullPolicy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html
index a8c6fab..eea4fe7 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html
@@ -85,7 +85,7 @@ under the License.
}
</style>
</wicket:head>
- <wicket:panel>
+ <wicket:extend>
<div wicket:id="togglePanelContainer" class="topology-menu inactive-topology-menu">
<div class="header">
<div class="label">
@@ -97,10 +97,5 @@ under the License.
</div>
<wicket:child/>
</div>
-
- <span wicket:id="outerObjectsRepeater">
- <div wicket:id="outer"/>
- </span>
-
- </wicket:panel>
+ </wicket:extend>
</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
index cdbfa80..5b82975 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
@@ -39,9 +39,8 @@ under the License.
</wicket:enclosure>
</wicket:fragment>
- <div wicket:id="modal"/>
- <div wicket:id="alternativeDefaultModal"/>
- <div wicket:id="displayAttributeModal"/>
- <div wicket:id="utilityModal"/>
+ <span wicket:id="outerObjectsRepeater">
+ <div wicket:id="outer"/>
+ </span>
</wicket:panel>
</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.html
deleted file mode 100644
index 9b03dd7..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <span wicket:id="auxClasses"/>
- </wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.properties
deleted file mode 100644
index 8223360..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-auxClasses.title=Auxiliary Classes
-auxClasses.summary=
-
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_it.properties
deleted file mode 100644
index 372ef2d..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_it.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-auxClasses.title=Classi Ausiliarie
-auxClasses.summary=
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_pt_BR.properties
deleted file mode 100644
index 0946b9d..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$AuxClasses_pt_BR.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-auxClasses.title=Classes Auxiliares
-auxClasses.summary=
-
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.html
deleted file mode 100644
index 643dc1c..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <span wicket:id="connObjectLinkContainer">
- <div class="form-group">
- <span wicket:id="connObjectLinkCheckbox">[connObjectLinkCheckbox]</span>
- </div>
- <div class="form-group">
- <span wicket:id="connObjectLink">[connObjectLink]</span>
- </div>
- </span>
- </wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.properties
deleted file mode 100644
index dad26b4..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-link.title=Connector object link (if required)
-link.summary=
-connObjectLinkCheckbox=Use ConnObjectLink
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_it.properties
deleted file mode 100644
index cf74d19..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_it.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-link.title=Connector object link (se necessario)
-link.summary=
-connObjectLinkCheckbox=Usa ConnObjectLink
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties
deleted file mode 100644
index 305b0b7..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-link.title=Connector object link (se necess\u00e1rio)
-link.summary=
-connObjectLinkCheckbox=Usar ConnObjectLink
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.html
deleted file mode 100644
index 11b1a52..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <span wicket:id="mapping" />
- </wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.properties
deleted file mode 100644
index 99d1add..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-mapping.title=Mapping
-mapping.summary=
-
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_it.properties
deleted file mode 100644
index fde5de0..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_it.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-mapping.title=Mapping
-mapping.summary=
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_pt_BR.properties
deleted file mode 100644
index 99d1add..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$Mapping_pt_BR.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-mapping.title=Mapping
-mapping.summary=
-
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.html
deleted file mode 100644
index 1b951d3..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div wicket:id="container">
- <div class="form-group">
- <span wicket:id="type"/>
- </div>
- <div class="form-group">
- <label>Object Class</label>
- <input type="text" placeholder="Object Class ..." class="form-control" wicket:id="class">
- </div>
- </div>
- </wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.properties
deleted file mode 100644
index b20d6ba..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# 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.
-
-type.title=Specify the type of the provisioning object
-type.summary=
-
-type=Type
-type.Required=Type is required
-class.Required=Object class is required
-
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_it.properties
deleted file mode 100644
index e29b214..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_it.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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.
-
-type.title=Specify the type of the provisioning object
-type.summary=
-
-type=Type
-type.Required=Type is required
-class.Required=Object class is required
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_pt_BR.properties
deleted file mode 100644
index e29b214..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder$ObjectType_pt_BR.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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.
-
-type.title=Specify the type of the provisioning object
-type.summary=
-
-type=Type
-type.Required=Type is required
-class.Required=Object class is required
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.html
new file mode 100644
index 0000000..94e4361
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.html
@@ -0,0 +1,36 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div id="emptyPlaceholder"/>
+ <span wicket:id="connectorPropertiesContainer">
+ <div class="pull-right">
+ <a style="position: fixed; top: 70px; right:60px;" wicket:id="check" href="#">
+ <i class="fa fa-heartbeat fa-2x"></i>
+ </a>
+ </div>
+
+ <div class="inner-scrollable-tab-content">
+ <div class="form-group" wicket:id="connectorProperties">
+ <span wicket:id="panel">[panel]</span>
+ </div>
+ </div>
+ </span>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.properties
new file mode 100644
index 0000000..abd1449
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.properties
@@ -0,0 +1,18 @@
+# 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.
+check=Check connection
+property.empty.list=No connector configuraton property available
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_it.properties
new file mode 100644
index 0000000..75979ae
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_it.properties
@@ -0,0 +1,18 @@
+# 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.
+check=Verifica connessione
+property.empty.list=Nessuna propriet\u00e0 di connettore disponibile
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_pt_BR.properties
new file mode 100644
index 0000000..221a3b9
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_pt_BR.properties
@@ -0,0 +1,18 @@
+# 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.
+check=Verificar a Conex\u00e3o
+property.empty.list=No connector configuraton property available
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_ru.properties
new file mode 100644
index 0000000..cb72f38
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel_ru.properties
@@ -0,0 +1,21 @@
+# 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.
+
+# check=\u00d0\u009f\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b5\u00d1\u0080\u00d0\u00b8\u00d1\u0082\u00d1\u008c \u00d0\u00bf\u00d0\u00be\u00d0\u00b4\u00d0\u00ba\u00d0\u00bb\u00d1\u008e\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+check=\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435
+# attribute.empty.list=\u00d0\u0092\u00d0\u00b8\u00d1\u0080\u00d1\u0082\u00d1\u0083\u00d0\u00b0\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d1\u008b\u00d0\u00b5 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082\u00d1\u008b \u00d0\u00be\u00d1\u0082\u00d1\u0081\u00d1\u0083\u00d1\u0082\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d1\u0083\u00d1\u008e\u00d1\u0082
+property.empty.list=\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.html
new file mode 100644
index 0000000..1b3ad2a
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.html
@@ -0,0 +1,23 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <span wicket:id="capabilities"/>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.html
new file mode 100644
index 0000000..1b3ad2a
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.html
@@ -0,0 +1,23 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <span wicket:id="capabilities"/>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.properties
new file mode 100644
index 0000000..2b83bdc
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.properties
@@ -0,0 +1,17 @@
+# 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.
+capabilities=Capabilities
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_it.properties
new file mode 100644
index 0000000..352c488
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_it.properties
@@ -0,0 +1,17 @@
+# 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.
+capabilities=Capability
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_pt_BR.properties
new file mode 100644
index 0000000..3566999
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_pt_BR.properties
@@ -0,0 +1,17 @@
+# 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.
+capabilities=Capacidades
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_ru.properties
new file mode 100644
index 0000000..75e02ae
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel_ru.properties
@@ -0,0 +1,19 @@
+# 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.
+
+# capabilities=\u00d0\u0094\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d1\u008f
+capabilities=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.html
new file mode 100644
index 0000000..87fc624
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.html
@@ -0,0 +1,61 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <head>
+ <title>Connector details panel</title>
+ </head>
+ <body>
+ <wicket:panel>
+ <div class="form-group">
+ <span wicket:id="displayName">[displayName]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="location">[location]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="bundleName">[bundleName]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="version">[version]</span>
+ </div>
+
+ <div class="form-group" style="padding: 30px 0px 0px 0px">
+ <table class="table">
+ <tbody>
+ <tr>
+ <td><span wicket:id="connRequestTimeout">[connRequestTimeout]</span></td>
+ <td><span wicket:id="poolMaxObjects">[poolMaxObjects]</span></td>
+ </tr>
+ <tr>
+ <td><span wicket:id="poolMinIdle">[poolMinIdle]</span></td>
+ <td><span wicket:id="poolMaxIdle">[poolMaxIdle]</span></td>
+ </tr>
+ <tr>
+ <td><span wicket:id="poolMaxWait">[poolMaxWait]</span></td>
+ <td><span wicket:id="poolMinEvictableIdleTime">[poolMinEvictableIdleTime]</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </wicket:panel>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.properties
new file mode 100644
index 0000000..6c11adc
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.properties
@@ -0,0 +1,26 @@
+# 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.
+displayName=Display name
+location=Location
+bundleName=Bundle
+version=Version
+connRequestTimeout=Request timeout (sec)
+poolMaxObjects=Max objects (idle+active)
+poolMinIdle=Min idle objects
+poolMaxIdle=Max idle objects
+poolMaxWait=Max waiting time (msec)
+poolMinEvictableIdleTime=Min eviction time (msec)
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_it.properties
new file mode 100644
index 0000000..ed69987
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_it.properties
@@ -0,0 +1,26 @@
+# 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.
+displayName=Nome visualizzato
+location=Posizione
+bundleName=Bundle
+version=Versione
+connRequestTimeout=Timeout richiesta (sec)
+poolMaxObjects=Max oggetti (attivi e non)
+poolMinIdle=Max oggetti attivi
+poolMaxIdle=Max oggetti inattivi
+poolMaxWait=Tempo max attesa
+poolMinEvictableIdleTime=Tempo min espulsione
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_pt_BR.properties
new file mode 100644
index 0000000..a2915b1
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_pt_BR.properties
@@ -0,0 +1,26 @@
+# 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.
+displayName=Mostrar Nome
+location=Localiza\u00e7\u00e3o
+bundleName=Bundle
+version=Vers\u00e3o
+connRequestTimeout=Timeout da Requisi\u00e7\u00e3o (seg)
+poolMaxObjects=Max objects (idle+active)
+poolMinIdle=Min idle objects
+poolMaxIdle=Max idle objects
+poolMaxWait=Max waiting time (msec)
+poolMinEvictableIdleTime=Min eviction time (msec)
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_ru.properties
new file mode 100644
index 0000000..b3d8221
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel_ru.properties
@@ -0,0 +1,37 @@
+# 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.
+
+# displayName=\u00d0\u009d\u00d0\u00b0\u00d0\u00b7\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+displayName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435
+# location=\u00d0\u00a0\u00d0\u00b0\u00d1\u0081\u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d0\u00be\u00d0\u00b6\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+location=\u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435
+# bundleName=\u00d0\u009d\u00d0\u00b0\u00d0\u00b7\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5 \u00d0\u00bf\u00d0\u00b0\u00d0\u00ba\u00d0\u00b5\u00d1\u0082\u00d0\u00b0
+bundleName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u0430
+# version=\u00d0\u0092\u00d0\u00b5\u00d1\u0080\u00d1\u0081\u00d0\u00b8\u00d1\u008f
+version=\u0412\u0435\u0440\u0441\u0438\u044f
+# connRequestTimeout=\u00d0\u00a2\u00d0\u00b0\u00d0\u00b9\u00d0\u00bc\u00d0\u00b0\u00d1\u0083\u00d1\u0082 \u00d0\u00b7\u00d0\u00b0\u00d0\u00bf\u00d1\u0080\u00d0\u00be\u00d1\u0081\u00d0\u00b0 (\u00d1\u0081\u00d0\u00b5\u00d0\u00ba)
+connRequestTimeout=\u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0441\u0435\u043a)
+# poolMaxObjects=\u00d0\u009c\u00d0\u00b0\u00d0\u00ba\u00d1\u0081\u00d0\u00b8\u00d0\u00bc\u00d1\u0083\u00d0\u00bc \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d0\u00b2 (\u00d0\u00b2 \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b8 + \u00d0\u00b0\u00d0\u00ba\u00d1\u0082\u00d0\u00b8\u00d0\u00b2\u00d0\u00bd\u00d1\u008b\u00d0\u00b5)
+poolMaxObjects=\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 + \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435)
+# poolMinIdle=\u00d0\u009c\u00d0\u00b8\u00d0\u00bd\u00d0\u00b8\u00d0\u00bc\u00d1\u0083\u00d0\u00bc \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d0\u00b2 \u00d0\u00b2 \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b8
+poolMinIdle=\u041c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438
+# poolMaxIdle=\u00d0\u009c\u00d0\u00b0\u00d0\u00ba\u00d1\u0081\u00d0\u00b8\u00d0\u00bc\u00d1\u0083\u00d0\u00bc \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d0\u00b2 \u00d0\u00b2 \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b8
+poolMaxIdle=\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438
+# poolMaxWait=\u00d0\u009c\u00d0\u00b0\u00d0\u00ba\u00d1\u0081\u00d0\u00b8\u00d0\u00bc\u00d0\u00b0\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d0\u00be\u00d0\u00b5 \u00d0\u00b2\u00d1\u0080\u00d0\u00b5\u00d0\u00bc\u00d1\u008f \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f (\u00d0\u00bc\u00d1\u0081)
+poolMaxWait=\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f (\u043c\u0441)
+# poolMinEvictableIdleTime=\u00d0\u009c\u00d0\u00b8\u00d0\u00bd\u00d0\u00b8\u00d0\u00bc\u00d0\u00b0\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d0\u00be\u00d0\u00b5 \u00d0\u00b2\u00d1\u0080\u00d0\u00b5\u00d0\u00bc\u00d1\u008f \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f (\u00d0\u00bc\u00d1\u0081)
+poolMinEvictableIdleTime=\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f (\u043c\u0441)
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.html
new file mode 100644
index 0000000..9b03dd7
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.html
@@ -0,0 +1,23 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <span wicket:id="auxClasses"/>
+ </wicket:panel>
+</html>
\ No newline at end of file
[5/7] syncope git commit: [SYNCOPE-156,
SYNCOPE-817] provides wizard to manage resources and connectors
Posted by fm...@apache.org.
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder.java
deleted file mode 100644
index c2f7653..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/provision/ProvisionWizardBuilder.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.console.wizards.provision;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.Transformer;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.commons.Constants;
-import org.apache.syncope.client.console.panels.ProvisionAuxClassesPanel;
-import org.apache.syncope.client.console.panels.ResourceMappingPanel;
-import org.apache.syncope.client.console.rest.AnyTypeRestClient;
-import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
-import org.apache.syncope.client.console.wizards.AjaxWizardBuilder;
-import org.apache.syncope.common.lib.EntityTOUtils;
-import org.apache.syncope.common.lib.to.AnyTypeTO;
-import org.apache.syncope.common.lib.to.ProvisionTO;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.types.AnyTypeKind;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.extensions.wizard.WizardModel;
-import org.apache.wicket.extensions.wizard.WizardStep;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.FormComponent;
-import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.model.StringResourceModel;
-
-public class ProvisionWizardBuilder extends AjaxWizardBuilder<ProvisionTO> implements Serializable {
-
- private static final long serialVersionUID = 3739399543837732640L;
-
- private final ResourceTO resourceTO;
-
- private final LoadableDetachableModel<List<String>> anyTypes = new LoadableDetachableModel<List<String>>() {
-
- private static final long serialVersionUID = 5275935387613157437L;
-
- @Override
- protected List<String> load() {
- final List<String> currentlyAdded = new ArrayList<>();
-
- CollectionUtils.collect(resourceTO.getProvisions(), new Transformer<ProvisionTO, String>() {
-
- @Override
- public String transform(final ProvisionTO provisionTO) {
- return provisionTO.getAnyType();
- }
- }, currentlyAdded);
-
- final List<String> res = new ArrayList<>();
-
- CollectionUtils.filter(CollectionUtils.collect(new AnyTypeRestClient().list(),
- EntityTOUtils.<String, AnyTypeTO>keyTransformer(), res),
- new Predicate<String>() {
-
- @Override
- public boolean evaluate(final String key) {
- return !currentlyAdded.contains(key);
- }
- });
-
- return res;
- }
- };
-
- /**
- * The object type specification step.
- */
- private final class ObjectType extends WizardStep {
-
- private static final long serialVersionUID = -1657800545799468278L;
-
- private static final String ACCOUNT = "__ACCOUNT__";
-
- private static final String GROUP = "__GROUP__";
-
- ObjectType(final ProvisionTO item) {
- super(new ResourceModel("type.title", StringUtils.EMPTY),
- new ResourceModel("type.summary", StringUtils.EMPTY), new Model<>(item));
-
- final WebMarkupContainer container = new WebMarkupContainer("container");
- container.setOutputMarkupId(true);
- add(container);
-
- final FieldPanel<String> type = new AjaxDropDownChoicePanel<>(
- "type", "type", new PropertyModel<String>(item, "anyType"), false).
- setChoices(anyTypes).
- setStyleSheet("form-control").
- setRequired(true);
- container.add(type);
-
- final FormComponent<String> clazz = new TextField<>(
- "class", new PropertyModel<String>(item, "objectClass")).setRequired(true);
- container.add(clazz);
-
- type.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- if (AnyTypeKind.USER.name().equals(type.getModelObject())) {
- clazz.setModelObject(ACCOUNT);
- target.add(container);
- } else if (AnyTypeKind.GROUP.name().equals(type.getModelObject())) {
- clazz.setModelObject(GROUP);
- target.add(container);
- }
- }
- });
- }
- }
-
- /**
- * AuxClasses definition step.
- */
- private final class AuxClasses extends WizardStep {
-
- private static final long serialVersionUID = 5315236191866427500L;
-
- AuxClasses(final ProvisionTO item) {
- setTitleModel(new ResourceModel("auxClasses.title"));
- setSummaryModel(new StringResourceModel("auxClasses.summary", this, new Model<>(item)));
-
- add(new ProvisionAuxClassesPanel("auxClasses", item));
- }
- }
-
- /**
- * Mapping definition step.
- */
- private final class Mapping extends WizardStep {
-
- private static final long serialVersionUID = 3454904947720856253L;
-
- Mapping(final ProvisionTO item) {
- setTitleModel(new ResourceModel("mapping.title"));
- setSummaryModel(new StringResourceModel("mapping.summary", this, new Model<>(item)));
-
- add(new ResourceMappingPanel("mapping", resourceTO, item));
- }
- }
-
- /**
- * AccountLink specification step.
- */
- private final class ConnObjectLink extends WizardStep {
-
- private static final long serialVersionUID = 2359955465172450478L;
-
- ConnObjectLink(final ProvisionTO item) {
- super(new ResourceModel("link.title", StringUtils.EMPTY),
- new ResourceModel("link.summary", StringUtils.EMPTY));
-
- final WebMarkupContainer connObjectLinkContainer = new WebMarkupContainer("connObjectLinkContainer");
- connObjectLinkContainer.setOutputMarkupId(true);
- add(connObjectLinkContainer);
-
- boolean connObjectLinkEnabled = false;
- if (StringUtils.isNotBlank(item.getMapping().getConnObjectLink())) {
- connObjectLinkEnabled = true;
- }
-
- final AjaxCheckBoxPanel connObjectLinkCheckbox = new AjaxCheckBoxPanel(
- "connObjectLinkCheckbox",
- new ResourceModel("connObjectLinkCheckbox", "connObjectLinkCheckbox").getObject(),
- new Model<>(connObjectLinkEnabled),
- false);
- connObjectLinkCheckbox.setEnabled(true);
-
- connObjectLinkContainer.add(connObjectLinkCheckbox);
-
- final AjaxTextFieldPanel connObjectLink = new AjaxTextFieldPanel(
- "connObjectLink",
- new ResourceModel("connObjectLink", "connObjectLink").getObject(),
- new PropertyModel<String>(item.getMapping(), "connObjectLink"),
- false);
- connObjectLink.setEnabled(connObjectLinkEnabled);
- connObjectLinkContainer.add(connObjectLink);
-
- connObjectLinkCheckbox.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
-
- private static final long serialVersionUID = -1107858522700306810L;
-
- @Override
- protected void onUpdate(final AjaxRequestTarget target) {
- if (connObjectLinkCheckbox.getModelObject()) {
- connObjectLink.setEnabled(Boolean.TRUE);
- connObjectLink.setModelObject("");
- } else {
- connObjectLink.setEnabled(Boolean.FALSE);
- connObjectLink.setModelObject("");
- }
-
- target.add(connObjectLink);
- }
- });
- }
- }
-
- /**
- * Construct.
- *
- * @param resurceTO external resource to be updated.
- * @param pageRef Caller page reference.
- */
- public ProvisionWizardBuilder(final ResourceTO resurceTO, final PageReference pageRef) {
- super(new ProvisionTO(), pageRef);
- this.resourceTO = resurceTO;
- }
-
- @Override
- protected WizardModel buildModelSteps(final ProvisionTO modelObject, final WizardModel wizardModel) {
- wizardModel.add(new ObjectType(modelObject));
- wizardModel.add(new AuxClasses(modelObject));
- wizardModel.add(new Mapping(modelObject));
- wizardModel.add(new ConnObjectLink(modelObject));
- return wizardModel;
- }
-
- @Override
- protected Serializable onApplyInternal(final ProvisionTO modelObject) {
- return modelObject;
- }
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.java
new file mode 100644
index 0000000..78d1066
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractConnConfPanel.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.List;
+import org.apache.syncope.client.console.wicket.markup.html.list.ConnConfPropertyListView;
+import org.apache.syncope.common.lib.AbstractBaseBean;
+import org.apache.syncope.common.lib.types.ConnConfProperty;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.ResourceModel;
+
+public abstract class AbstractConnConfPanel<T extends AbstractBaseBean> extends WizardStep {
+
+ private static final long serialVersionUID = -2025535531121434050L;
+
+ protected final WebMarkupContainer propertiesContainer;
+
+ protected final AjaxButton check;
+
+ protected final T modelObject;
+
+ public AbstractConnConfPanel(final T model) {
+ super();
+ this.modelObject = model;
+ setOutputMarkupId(true);
+
+ propertiesContainer = new WebMarkupContainer("connectorPropertiesContainer");
+ propertiesContainer.setOutputMarkupId(true);
+ add(propertiesContainer);
+
+ check = new IndicatingAjaxButton("check", new ResourceModel("check")) {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+ check(target);
+ }
+ };
+ propertiesContainer.add(check);
+ }
+
+ protected void setConfPropertyListView(final IModel<List<ConnConfProperty>> model, final boolean withOverridable) {
+ propertiesContainer.add(new ConnConfPropertyListView(
+ "connectorProperties", model, withOverridable).setOutputMarkupId(true));
+ }
+
+ protected abstract void check(final AjaxRequestTarget taget);
+
+ protected abstract List<ConnConfProperty> getConnProperties(final T instance);
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractResourceWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractResourceWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractResourceWizardBuilder.java
new file mode 100644
index 0000000..bdd6caf
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/AbstractResourceWizardBuilder.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.io.Serializable;
+import org.apache.syncope.client.console.topology.TopologyNode;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.ModalEvent;
+import org.apache.syncope.client.console.wizards.AjaxWizardBuilder;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+
+/**
+ * Modal window with Resource form.
+ *
+ * @param <T>
+ */
+public abstract class AbstractResourceWizardBuilder<T extends Serializable> extends AjaxWizardBuilder<Serializable> {
+
+ private static final long serialVersionUID = 1734415311027284221L;
+
+ public AbstractResourceWizardBuilder(final T modelObject, final PageReference pageRef) {
+ super(modelObject, pageRef);
+ }
+
+ public static class CreateEvent extends ModalEvent {
+
+ private static final long serialVersionUID = -4488921035707289039L;
+
+ private final Serializable key;
+
+ private final String displayName;
+
+ private final Serializable parent;
+
+ private final TopologyNode.Kind kind;
+
+ public CreateEvent(
+ final Serializable key,
+ final String displayName,
+ final TopologyNode.Kind kind,
+ final Serializable parent,
+ final AjaxRequestTarget target) {
+ super(target);
+ this.key = key;
+ this.displayName = displayName;
+ this.kind = kind;
+ this.parent = parent;
+ }
+
+ public Serializable getKey() {
+ return key;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public TopologyNode.Kind getKind() {
+ return kind;
+ }
+
+ public Serializable getParent() {
+ return parent;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.java
new file mode 100644
index 0000000..9dad020
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/CapabilitiesPanel.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.Arrays;
+import java.util.List;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
+import org.apache.syncope.common.lib.types.ConnectorCapability;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.util.ListModel;
+
+public class CapabilitiesPanel extends Panel {
+
+ private static final long serialVersionUID = -2025535531121434050L;
+
+ public CapabilitiesPanel(final PropertyModel<List<ConnectorCapability>> model) {
+ super("capabilities");
+ setOutputMarkupId(true);
+
+ AjaxPalettePanel<ConnectorCapability> capabilitiesPalette = new AjaxPalettePanel.Builder<ConnectorCapability>().
+ setAllowMoveAll(true).
+ build("capabilities", model, new ListModel<>(Arrays.asList(ConnectorCapability.values())));
+ capabilitiesPalette.setOutputMarkupId(true);
+ add(capabilitiesPalette);
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.java
new file mode 100644
index 0000000..d82fb95
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnCapabilitiesPanel.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.List;
+import org.apache.syncope.common.lib.types.ConnectorCapability;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.model.PropertyModel;
+
+public class ConnCapabilitiesPanel extends WizardStep {
+
+ private static final long serialVersionUID = -2025535531121434050L;
+
+ public ConnCapabilitiesPanel(final PropertyModel<List<ConnectorCapability>> model) {
+ super();
+ setOutputMarkupId(true);
+ add(new CapabilitiesPanel(model));
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java
new file mode 100644
index 0000000..722ddfa
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorConfPanel.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Transformer;
+import org.apache.syncope.common.lib.to.ConnBundleTO;
+import org.apache.syncope.common.lib.to.ConnInstanceTO;
+import org.apache.syncope.common.lib.types.ConnConfPropSchema;
+import org.apache.syncope.common.lib.types.ConnConfProperty;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.PropertyModel;
+
+public abstract class ConnectorConfPanel extends AbstractConnConfPanel<ConnInstanceTO> {
+
+ private static final long serialVersionUID = -2025535531121434050L;
+
+ private final List<ConnBundleTO> bundles;
+
+ public ConnectorConfPanel(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
+ super(connInstanceTO);
+ this.bundles = bundles;
+
+ LoadableDetachableModel<List<ConnConfProperty>> model = new LoadableDetachableModel<List<ConnConfProperty>>() {
+
+ private static final long serialVersionUID = -2965284931860212687L;
+
+ @Override
+ protected List<ConnConfProperty> load() {
+ List<ConnConfProperty> properties = getConnProperties(connInstanceTO);
+ connInstanceTO.getConf().clear();
+ connInstanceTO.getConf().addAll(properties);
+
+ return new PropertyModel<List<ConnConfProperty>>(modelObject, "conf") {
+
+ private static final long serialVersionUID = -7809699384012595307L;
+
+ @Override
+ public List<ConnConfProperty> getObject() {
+ final List<ConnConfProperty> res = new ArrayList<>((Set<ConnConfProperty>) super.getObject());
+
+ // re-order properties
+ Collections.sort(res, new Comparator<ConnConfProperty>() {
+
+ @Override
+ public int compare(final ConnConfProperty left, final ConnConfProperty right) {
+ if (left == null) {
+ return -1;
+ } else {
+ return left.compareTo(right);
+ }
+ }
+ });
+
+ return res;
+ }
+ }.getObject();
+ }
+ };
+
+ setConfPropertyListView(model, true);
+ }
+
+ /**
+ * Get available configuration properties.
+ *
+ * @param instance connector instance.
+ * @return configuration properties.
+ */
+ @Override
+ protected final List<ConnConfProperty> getConnProperties(final ConnInstanceTO instance) {
+ return CollectionUtils.collect(
+ ConnectorWizardBuilder.getBundle(instance, bundles).getProperties(),
+ new Transformer<ConnConfPropSchema, ConnConfProperty>() {
+
+ @Override
+ public ConnConfProperty transform(final ConnConfPropSchema key) {
+ final ConnConfProperty property = new ConnConfProperty();
+ property.setSchema(key);
+
+ if (instance.getKey() != null
+ && instance.getConfMap().containsKey(key.getName())
+ && instance.getConfMap().get(key.getName()).getValues() != null) {
+
+ property.getValues().addAll(instance.getConfMap().get(key.getName()).getValues());
+ property.setOverridable(instance.getConfMap().get(key.getName()).isOverridable());
+ }
+
+ if (property.getValues().isEmpty() && !key.getDefaultValues().isEmpty()) {
+ property.getValues().addAll(key.getDefaultValues());
+ }
+ return property;
+ }
+ }, new ArrayList<ConnConfProperty>());
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
new file mode 100644
index 0000000..28fda4a
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorDetailsPanel.java
@@ -0,0 +1,155 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.collections4.Transformer;
+import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxSpinnerFieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
+import org.apache.syncope.common.lib.to.ConnBundleTO;
+import org.apache.syncope.common.lib.to.ConnInstanceTO;
+import org.apache.syncope.common.lib.to.ConnPoolConfTO;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.model.PropertyModel;
+
+public class ConnectorDetailsPanel extends WizardStep {
+
+ private static final long serialVersionUID = -2435937897614232137L;
+
+ public ConnectorDetailsPanel(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
+
+ super();
+ setOutputMarkupId(true);
+
+ AjaxTextFieldPanel displayName = new AjaxTextFieldPanel(
+ "displayName", "displayName", new PropertyModel<String>(connInstanceTO, "displayName"), false);
+ displayName.setOutputMarkupId(true);
+ displayName.addRequiredLabel();
+ add(displayName);
+
+ AjaxTextFieldPanel location = new AjaxTextFieldPanel(
+ "location", "location", new PropertyModel<String>(connInstanceTO, "location"), false);
+ location.addRequiredLabel();
+ location.setOutputMarkupId(true);
+ location.setEnabled(false);
+ add(location);
+
+ final AjaxDropDownChoicePanel<String> bundleName = new AjaxDropDownChoicePanel<>(
+ "bundleName",
+ "bundleName",
+ new PropertyModel<String>(connInstanceTO, "bundleName"), false);
+ ((DropDownChoice<String>) bundleName.getField()).setNullValid(true);
+ bundleName.setChoices(CollectionUtils.collect(bundles, new Transformer<ConnBundleTO, String>() {
+
+ @Override
+ public String transform(final ConnBundleTO input) {
+ return input.getBundleName();
+ }
+ }, new ArrayList<String>()));
+ bundleName.addRequiredLabel();
+ bundleName.setOutputMarkupId(true);
+ bundleName.setEnabled(connInstanceTO.getKey() == null || connInstanceTO.getKey() == 0);
+ bundleName.getField().setOutputMarkupId(true);
+ add(bundleName);
+
+ final AjaxDropDownChoicePanel<String> version = new AjaxDropDownChoicePanel<>(
+ "version", "version", new PropertyModel<String>(connInstanceTO, "version"), false);
+ version.setChoices(getVersions(connInstanceTO, bundles));
+ version.addRequiredLabel();
+ version.setEnabled(connInstanceTO.getBundleName() != null);
+ version.setOutputMarkupId(true);
+ version.getField().setOutputMarkupId(true);
+ add(version);
+
+ bundleName.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ ((DropDownChoice<String>) bundleName.getField()).setNullValid(false);
+ version.setEnabled(true);
+
+ List<String> versions = getVersions(connInstanceTO, bundles);
+ if (versions.size() == 1) {
+ connInstanceTO.setVersion(versions.get(0));
+ version.getField().setModelObject(versions.get(0));
+ }
+ version.setChoices(versions);
+
+ target.add(version);
+ }
+ });
+
+ if (connInstanceTO.getPoolConf() == null) {
+ connInstanceTO.setPoolConf(new ConnPoolConfTO());
+ }
+
+ add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
+ "connRequestTimeout", "connRequestTimeout", Integer.class,
+ new PropertyModel<Integer>(connInstanceTO, "connRequestTimeout")));
+
+ add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
+ "poolMaxObjects", "poolMaxObjects", Integer.class,
+ new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxObjects")));
+
+ add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
+ "poolMinIdle", "poolMinIdle", Integer.class,
+ new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "minIdle")));
+
+ add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).max(Integer.MAX_VALUE).build(
+ "poolMaxIdle", "poolMaxIdle", Integer.class,
+ new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxIdle")));
+
+ add(new AjaxSpinnerFieldPanel.Builder<Long>().min(0L).max(Long.MAX_VALUE).build(
+ "poolMaxWait", "poolMaxWait", Long.class,
+ new PropertyModel<Long>(connInstanceTO.getPoolConf(), "maxWait")));
+
+ add(new AjaxSpinnerFieldPanel.Builder<Long>().min(0L).max(Long.MAX_VALUE).build(
+ "poolMinEvictableIdleTime", "poolMinEvictableIdleTime", Long.class,
+ new PropertyModel<Long>(connInstanceTO.getPoolConf(), "minEvictableIdleTimeMillis")));
+ }
+
+ private List<String> getVersions(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
+ return new ArrayList<>(CollectionUtils.collect(
+ CollectionUtils.select(bundles, new Predicate<ConnBundleTO>() {
+
+ @Override
+ public boolean evaluate(final ConnBundleTO object) {
+ return object.getLocation().equals(connInstanceTO.getLocation())
+ && object.getBundleName().equals(connInstanceTO.getBundleName());
+ }
+ }), new Transformer<ConnBundleTO, String>() {
+
+ @Override
+ public String transform(final ConnBundleTO input) {
+ return input.getVersion();
+ }
+ }, new HashSet<String>()));
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorWizardBuilder.java
new file mode 100644
index 0000000..4c41f6c
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ConnectorWizardBuilder.java
@@ -0,0 +1,145 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.io.Serializable;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+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.topology.TopologyNode;
+import org.apache.syncope.client.console.wizards.AjaxWizard;
+import org.apache.syncope.common.lib.to.ConnBundleTO;
+import org.apache.syncope.common.lib.to.ConnInstanceTO;
+import org.apache.syncope.common.lib.types.ConnectorCapability;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.wizard.WizardModel;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.model.PropertyModel;
+
+/**
+ * Modal window with Connector form.
+ */
+public class ConnectorWizardBuilder extends AbstractResourceWizardBuilder<ConnInstanceTO> {
+
+ private static final long serialVersionUID = -2025535531121434050L;
+
+ private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
+
+ private final List<ConnBundleTO> bundles;
+
+ public ConnectorWizardBuilder(final ConnInstanceTO defaultItem, final PageReference pageRef) {
+ super(defaultItem, pageRef);
+ this.bundles = CollectionUtils.select(connectorRestClient.getAllBundles(), new Predicate<ConnBundleTO>() {
+
+ @Override
+ public boolean evaluate(final ConnBundleTO object) {
+ return object.getLocation().equals(defaultItem.getLocation());
+ }
+ }, new ArrayList<ConnBundleTO>());
+ }
+
+ @Override
+ protected WizardModel buildModelSteps(final Serializable modelObject, final WizardModel wizardModel) {
+ final ConnInstanceTO connInstanceTO = ConnInstanceTO.class.cast(modelObject);
+ wizardModel.add(new ConnectorDetailsPanel(connInstanceTO, bundles));
+ wizardModel.add(new ConnectorConfPanel(connInstanceTO, bundles) {
+
+ private static final long serialVersionUID = -5886691077681158494L;
+
+ @Override
+ protected void check(final AjaxRequestTarget target) {
+ if (connectorRestClient.check(modelObject)) {
+ info(getString(Constants.OPERATION_SUCCEEDED));
+ } else {
+ error(getString("error_connection"));
+ }
+ SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
+ }
+
+ @Override
+ protected void onComponentTag(final ComponentTag tag) {
+ tag.append("class", "scrollable-tab-content", " ");
+ }
+
+ });
+ wizardModel.add(new ConnCapabilitiesPanel(
+ new PropertyModel<List<ConnectorCapability>>(connInstanceTO, "capabilities")));
+ return wizardModel;
+ }
+
+ @Override
+ protected Serializable onApplyInternal(final Serializable modelObject) {
+ final ConnInstanceTO connInstanceTO = ConnInstanceTO.class.cast(modelObject);
+ final ConnBundleTO bundleTO = ConnectorWizardBuilder.getBundle(connInstanceTO, bundles);
+
+ connInstanceTO.setConnectorName(bundleTO.getConnectorName());
+ connInstanceTO.setBundleName(bundleTO.getBundleName());
+ connInstanceTO.setVersion(bundleTO.getVersion());
+
+ // Reset pool configuration if all fields are null
+ if (connInstanceTO.getPoolConf() != null
+ && connInstanceTO.getPoolConf().getMaxIdle() == null
+ && connInstanceTO.getPoolConf().getMaxObjects() == null
+ && connInstanceTO.getPoolConf().getMaxWait() == null
+ && connInstanceTO.getPoolConf().getMinEvictableIdleTimeMillis() == null
+ && connInstanceTO.getPoolConf().getMinIdle() == null) {
+
+ connInstanceTO.setPoolConf(null);
+ }
+
+ final ConnInstanceTO res;
+ if (mode == AjaxWizard.Mode.CREATE) {
+ res = connectorRestClient.create(connInstanceTO);
+ } else {
+ connectorRestClient.update(connInstanceTO);
+ res = connInstanceTO;
+ }
+
+ return res;
+ }
+
+ @Override
+ protected Serializable getCreateCustomPayloadEvent(final Serializable afterObject, final AjaxRequestTarget target) {
+ final ConnInstanceTO actual = ConnInstanceTO.class.cast(afterObject);
+ return new CreateEvent(
+ actual.getKey(),
+ actual.getDisplayName(),
+ TopologyNode.Kind.CONNECTOR,
+ URI.create(actual.getLocation()).toASCIIString(),
+ target);
+ }
+
+ protected static ConnBundleTO getBundle(final ConnInstanceTO connInstanceTO, final List<ConnBundleTO> bundles) {
+ return IterableUtils.find(bundles, new Predicate<ConnBundleTO>() {
+
+ @Override
+ public boolean evaluate(final ConnBundleTO bundle) {
+ return bundle.getBundleName().equals(connInstanceTO.getBundleName())
+ && bundle.getVersion().equals(connInstanceTO.getVersion());
+ }
+ });
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java
new file mode 100644
index 0000000..87963db
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java
@@ -0,0 +1,252 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.collections4.Transformer;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.panels.ProvisionAuxClassesPanel;
+import org.apache.syncope.client.console.rest.AnyTypeRestClient;
+import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
+import org.apache.syncope.client.console.wizards.AjaxWizardBuilder;
+import org.apache.syncope.common.lib.EntityTOUtils;
+import org.apache.syncope.common.lib.to.AnyTypeTO;
+import org.apache.syncope.common.lib.to.ProvisionTO;
+import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.syncope.common.lib.types.AnyTypeKind;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.wizard.WizardModel;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
+import org.apache.wicket.model.StringResourceModel;
+
+public class ProvisionWizardBuilder extends AjaxWizardBuilder<ProvisionTO> implements Serializable {
+
+ private static final long serialVersionUID = 3739399543837732640L;
+
+ private final ResourceTO resourceTO;
+
+ private final LoadableDetachableModel<List<String>> anyTypes = new LoadableDetachableModel<List<String>>() {
+
+ private static final long serialVersionUID = 5275935387613157437L;
+
+ @Override
+ protected List<String> load() {
+ final List<String> currentlyAdded = new ArrayList<>();
+
+ CollectionUtils.collect(resourceTO.getProvisions(), new Transformer<ProvisionTO, String>() {
+
+ @Override
+ public String transform(final ProvisionTO provisionTO) {
+ return provisionTO.getAnyType();
+ }
+ }, currentlyAdded);
+
+ final List<String> res = new ArrayList<>();
+
+ CollectionUtils.filter(CollectionUtils.collect(new AnyTypeRestClient().list(),
+ EntityTOUtils.<String, AnyTypeTO>keyTransformer(), res),
+ new Predicate<String>() {
+
+ @Override
+ public boolean evaluate(final String key) {
+ return !currentlyAdded.contains(key);
+ }
+ });
+
+ return res;
+ }
+ };
+
+ /**
+ * The object type specification step.
+ */
+ private final class ObjectType extends WizardStep {
+
+ private static final long serialVersionUID = -1657800545799468278L;
+
+ private static final String ACCOUNT = "__ACCOUNT__";
+
+ private static final String GROUP = "__GROUP__";
+
+ ObjectType(final ProvisionTO item) {
+ super(new ResourceModel("type.title", StringUtils.EMPTY),
+ new ResourceModel("type.summary", StringUtils.EMPTY), new Model<>(item));
+
+ final WebMarkupContainer container = new WebMarkupContainer("container");
+ container.setOutputMarkupId(true);
+ add(container);
+
+ final FieldPanel<String> type = new AjaxDropDownChoicePanel<>(
+ "type", "type", new PropertyModel<String>(item, "anyType"), false).
+ setChoices(anyTypes).
+ setStyleSheet("form-control").
+ setRequired(true);
+ container.add(type);
+
+ final FormComponent<String> clazz = new TextField<>(
+ "class", new PropertyModel<String>(item, "objectClass")).setRequired(true);
+ container.add(clazz);
+
+ type.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ if (AnyTypeKind.USER.name().equals(type.getModelObject())) {
+ clazz.setModelObject(ACCOUNT);
+ target.add(container);
+ } else if (AnyTypeKind.GROUP.name().equals(type.getModelObject())) {
+ clazz.setModelObject(GROUP);
+ target.add(container);
+ }
+ }
+ });
+ }
+ }
+
+ /**
+ * AuxClasses definition step.
+ */
+ private final class AuxClasses extends WizardStep {
+
+ private static final long serialVersionUID = 5315236191866427500L;
+
+ AuxClasses(final ProvisionTO item) {
+ setTitleModel(new ResourceModel("auxClasses.title"));
+ setSummaryModel(new StringResourceModel("auxClasses.summary", this, new Model<>(item)));
+
+ add(new ProvisionAuxClassesPanel("auxClasses", item));
+ }
+ }
+
+ /**
+ * Mapping definition step.
+ */
+ private final class Mapping extends WizardStep {
+
+ private static final long serialVersionUID = 3454904947720856253L;
+
+ Mapping(final ProvisionTO item) {
+ setTitleModel(new ResourceModel("mapping.title"));
+ setSummaryModel(new StringResourceModel("mapping.summary", this, new Model<>(item)));
+
+ add(new ResourceMappingPanel("mapping", resourceTO, item));
+ }
+ }
+
+ /**
+ * AccountLink specification step.
+ */
+ private final class ConnObjectLink extends WizardStep {
+
+ private static final long serialVersionUID = 2359955465172450478L;
+
+ ConnObjectLink(final ProvisionTO item) {
+ super(new ResourceModel("link.title", StringUtils.EMPTY),
+ new ResourceModel("link.summary", StringUtils.EMPTY));
+
+ final WebMarkupContainer connObjectLinkContainer = new WebMarkupContainer("connObjectLinkContainer");
+ connObjectLinkContainer.setOutputMarkupId(true);
+ add(connObjectLinkContainer);
+
+ boolean connObjectLinkEnabled = false;
+ if (StringUtils.isNotBlank(item.getMapping().getConnObjectLink())) {
+ connObjectLinkEnabled = true;
+ }
+
+ final AjaxCheckBoxPanel connObjectLinkCheckbox = new AjaxCheckBoxPanel(
+ "connObjectLinkCheckbox",
+ new ResourceModel("connObjectLinkCheckbox", "connObjectLinkCheckbox").getObject(),
+ new Model<>(connObjectLinkEnabled),
+ false);
+ connObjectLinkCheckbox.setEnabled(true);
+
+ connObjectLinkContainer.add(connObjectLinkCheckbox);
+
+ final AjaxTextFieldPanel connObjectLink = new AjaxTextFieldPanel(
+ "connObjectLink",
+ new ResourceModel("connObjectLink", "connObjectLink").getObject(),
+ new PropertyModel<String>(item.getMapping(), "connObjectLink"),
+ false);
+ connObjectLink.setEnabled(connObjectLinkEnabled);
+ connObjectLinkContainer.add(connObjectLink);
+
+ connObjectLinkCheckbox.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ if (connObjectLinkCheckbox.getModelObject()) {
+ connObjectLink.setEnabled(Boolean.TRUE);
+ connObjectLink.setModelObject("");
+ } else {
+ connObjectLink.setEnabled(Boolean.FALSE);
+ connObjectLink.setModelObject("");
+ }
+
+ target.add(connObjectLink);
+ }
+ });
+ }
+ }
+
+ /**
+ * Construct.
+ *
+ * @param resurceTO external resource to be updated.
+ * @param pageRef Caller page reference.
+ */
+ public ProvisionWizardBuilder(final ResourceTO resurceTO, final PageReference pageRef) {
+ super(new ProvisionTO(), pageRef);
+ this.resourceTO = resurceTO;
+ }
+
+ @Override
+ protected WizardModel buildModelSteps(final ProvisionTO modelObject, final WizardModel wizardModel) {
+ wizardModel.add(new ObjectType(modelObject));
+ wizardModel.add(new AuxClasses(modelObject));
+ wizardModel.add(new Mapping(modelObject));
+ wizardModel.add(new ConnObjectLink(modelObject));
+ return wizardModel;
+ }
+
+ @Override
+ protected Serializable onApplyInternal(final ProvisionTO modelObject) {
+ return modelObject;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java
new file mode 100644
index 0000000..5f6073b
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.List;
+import java.util.Set;
+import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
+import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.syncope.common.lib.types.ConnectorCapability;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
+
+public class ResourceConnCapabilitiesPanel extends WizardStep {
+
+ private static final long serialVersionUID = -114632577031611754L;
+
+ public ResourceConnCapabilitiesPanel(
+ final ResourceTO resourceTO, final Set<ConnectorCapability> connectorCapabilities) {
+ super();
+ setOutputMarkupId(true);
+
+ if (!resourceTO.isOverrideCapabilities() && resourceTO.getCapabilitiesOverride().isEmpty()) {
+ resourceTO.getCapabilitiesOverride().addAll(connectorCapabilities);
+ }
+
+ final CapabilitiesPanel connCapabilitiesPanel = new CapabilitiesPanel(
+ new PropertyModel<List<ConnectorCapability>>(resourceTO, "capabilitiesOverride"));
+ connCapabilitiesPanel.setEnabled(resourceTO.isOverrideCapabilities());
+ add(connCapabilitiesPanel);
+
+ final AjaxCheckBoxPanel overrideCapabilities = new AjaxCheckBoxPanel(
+ "overrideCapabilities",
+ new ResourceModel("overrideCapabilities", "overrideCapabilities").getObject(),
+ new PropertyModel<Boolean>(resourceTO, "overrideCapabilities"));
+ overrideCapabilities.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ connCapabilitiesPanel.setEnabled(overrideCapabilities.getField().getModelObject());
+ target.add(ResourceConnCapabilitiesPanel.this);
+ }
+ });
+ add(overrideCapabilities);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java
new file mode 100644
index 0000000..b8be9a6
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceConnConfPanel.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.syncope.client.console.rest.ConnectorRestClient;
+import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.syncope.common.lib.types.ConnConfProperty;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.PropertyModel;
+
+public abstract class ResourceConnConfPanel extends AbstractConnConfPanel<ResourceTO> {
+
+ private static final long serialVersionUID = -7982691107029848579L;
+
+ private final ConnectorRestClient restClient = new ConnectorRestClient();
+
+ private final boolean createFlag;
+
+ public ResourceConnConfPanel(final ResourceTO resourceTO, final boolean createFlag) {
+ super(resourceTO);
+ this.createFlag = createFlag;
+
+ LoadableDetachableModel<List<ConnConfProperty>> model = new LoadableDetachableModel<List<ConnConfProperty>>() {
+
+ private static final long serialVersionUID = -2965284931860212687L;
+
+ @Override
+ protected List<ConnConfProperty> load() {
+ final List<ConnConfProperty> confOverride = getConnProperties(resourceTO);
+ resourceTO.getConfOverride().clear();
+ resourceTO.getConfOverride().addAll(confOverride);
+
+ return new PropertyModel<List<ConnConfProperty>>(modelObject, "confOverride") {
+
+ private static final long serialVersionUID = -7809699384012595307L;
+
+ @Override
+ public List<ConnConfProperty> getObject() {
+ final List<ConnConfProperty> res = new ArrayList<>((Set<ConnConfProperty>) super.getObject());
+
+ // re-order properties
+ Collections.sort(res, new Comparator<ConnConfProperty>() {
+
+ @Override
+ public int compare(final ConnConfProperty left, final ConnConfProperty right) {
+ if (left == null) {
+ return -1;
+ } else {
+ return left.compareTo(right);
+ }
+ }
+ });
+
+ return res;
+ }
+ }.getObject();
+ }
+ };
+
+ setConfPropertyListView(model, true);
+
+ check.setEnabled(!model.getObject().isEmpty());
+ check.setVisible(!model.getObject().isEmpty());
+ }
+
+ /**
+ * Get overridable properties.
+ *
+ * @param resourceTO resource instance.
+ * @return overridable properties.
+ */
+ @Override
+ protected final List<ConnConfProperty> getConnProperties(final ResourceTO resourceTO) {
+ List<ConnConfProperty> props = new ArrayList<>();
+
+ if (resourceTO.getConnector() != null && resourceTO.getConnector() > 0) {
+ for (ConnConfProperty property : restClient.read(resourceTO.getConnector()).getConf()) {
+ if (property.isOverridable()) {
+ props.add(property);
+ }
+ }
+ }
+ if (createFlag || resourceTO.getConfOverride().isEmpty()) {
+ resourceTO.getConfOverride().clear();
+ } else {
+ Map<String, ConnConfProperty> valuedProps = new HashMap<>();
+ for (ConnConfProperty prop : resourceTO.getConfOverride()) {
+ valuedProps.put(prop.getSchema().getName(), prop);
+ }
+
+ for (int i = 0; i < props.size(); i++) {
+ if (valuedProps.containsKey(props.get(i).getSchema().getName())) {
+ props.set(i, valuedProps.get(props.get(i).getSchema().getName()));
+ }
+ }
+ }
+
+ return props;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java
new file mode 100644
index 0000000..7435a30
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import org.apache.syncope.client.console.SyncopeConsoleSession;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxSpinnerFieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
+import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.syncope.common.lib.types.TraceLevel;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
+import org.apache.wicket.model.util.ListModel;
+
+public class ResourceDetailsPanel extends WizardStep {
+
+ private static final long serialVersionUID = -7982691107029848579L;
+
+ private final IModel<List<String>> propagationActionsClasses = new LoadableDetachableModel<List<String>>() {
+
+ private static final long serialVersionUID = 5275935387613157437L;
+
+ @Override
+ protected List<String> load() {
+ return new ArrayList<>(SyncopeConsoleSession.get().getPlatformInfo().getPropagationActions());
+ }
+ };
+
+ public ResourceDetailsPanel(final ResourceTO resourceTO, final boolean createFlag) {
+
+ super();
+ setOutputMarkupId(true);
+
+ final WebMarkupContainer container = new WebMarkupContainer("container");
+ container.setOutputMarkupId(true);
+ container.setRenderBodyOnly(true);
+ add(container);
+
+ container.add(new AjaxTextFieldPanel(
+ "name",
+ new ResourceModel("name", "name").
+ getObject(),
+ new PropertyModel<String>(resourceTO, "key"),
+ false).addRequiredLabel().setEnabled(createFlag));
+
+ container.add(new AjaxCheckBoxPanel(
+ "enforceMandatoryCondition",
+ new ResourceModel("enforceMandatoryCondition", "enforceMandatoryCondition").getObject(),
+ new PropertyModel<Boolean>(resourceTO, "enforceMandatoryCondition"),
+ false));
+
+ container.add(new AjaxSpinnerFieldPanel.Builder<Integer>().build(
+ "propagationPriority",
+ "propagationPriority",
+ Integer.class,
+ new PropertyModel<Integer>(resourceTO, "propagationPriority")));
+
+ container.add(new AjaxCheckBoxPanel("randomPwdIfNotProvided",
+ new ResourceModel("randomPwdIfNotProvided", "randomPwdIfNotProvided").getObject(),
+ new PropertyModel<Boolean>(resourceTO, "randomPwdIfNotProvided"),
+ false));
+
+ container.add(new AjaxPalettePanel.Builder<String>().
+ setAllowMoveAll(true).setAllowOrder(true).
+ build("propagationActionsClassNames",
+ new PropertyModel<List<String>>(resourceTO, "propagationActionsClassNames"),
+ new ListModel<>(propagationActionsClasses.getObject())).
+ setOutputMarkupId(true));
+
+ container.add(new AjaxDropDownChoicePanel<>(
+ "createTraceLevel",
+ new ResourceModel("createTraceLevel", "createTraceLevel").getObject(),
+ new PropertyModel<TraceLevel>(resourceTO, "createTraceLevel"),
+ false).
+ setChoices(Arrays.asList(TraceLevel.values())));
+
+ container.add(new AjaxDropDownChoicePanel<>(
+ "updateTraceLevel",
+ new ResourceModel("updateTraceLevel", "updateTraceLevel").getObject(),
+ new PropertyModel<TraceLevel>(resourceTO, "updateTraceLevel"),
+ false).
+ setChoices(Arrays.asList(TraceLevel.values())));
+
+ container.add(new AjaxDropDownChoicePanel<>(
+ "deleteTraceLevel",
+ new ResourceModel("deleteTraceLevel", "deleteTraceLevel").getObject(),
+ new PropertyModel<TraceLevel>(resourceTO, "deleteTraceLevel"),
+ false).
+ setChoices(Arrays.asList(TraceLevel.values())));
+
+ container.add(new AjaxDropDownChoicePanel<>(
+ "pullTraceLevel",
+ new ResourceModel("pullTraceLevel", "pullTraceLevel").getObject(),
+ new PropertyModel<TraceLevel>(resourceTO, "pullTraceLevel"),
+ false).
+ setChoices(Arrays.asList(TraceLevel.values())));
+
+ container.add(new AjaxTextFieldPanel(
+ "connector",
+ new ResourceModel("connector", "connector").getObject(),
+ new Model<>(resourceTO.getConnectorDisplayName()),
+ false).addRequiredLabel().setEnabled(false));
+ }
+}
[4/7] syncope git commit: [SYNCOPE-156,
SYNCOPE-817] provides wizard to manage resources and connectors
Posted by fm...@apache.org.
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
new file mode 100644
index 0000000..281b0b7
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
@@ -0,0 +1,642 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import de.agilecoders.wicket.core.markup.html.bootstrap.components.TooltipConfig;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.syncope.client.console.commons.ConnIdSpecialAttributeName;
+import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.rest.AnyTypeClassRestClient;
+import org.apache.syncope.client.console.rest.AnyTypeRestClient;
+import org.apache.syncope.client.console.rest.ConnectorRestClient;
+import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.MappingPurposePanel;
+import org.apache.syncope.common.lib.to.AnyTypeClassTO;
+import org.apache.syncope.common.lib.to.AnyTypeTO;
+import org.apache.syncope.common.lib.to.ConnIdObjectClassTO;
+import org.apache.syncope.common.lib.to.ConnInstanceTO;
+import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.syncope.common.lib.to.MappingTO;
+import org.apache.syncope.common.lib.to.ProvisionTO;
+import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.syncope.common.lib.types.AnyTypeKind;
+import org.apache.syncope.common.lib.types.ConnConfProperty;
+import org.apache.syncope.common.lib.types.IntMappingType;
+import org.apache.syncope.common.lib.types.MappingPurpose;
+import org.apache.syncope.common.lib.types.StandardEntitlement;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
+
+/**
+ * Resource mapping panel.
+ */
+public class ResourceMappingPanel extends Panel {
+
+ private static final long serialVersionUID = -7982691107029848579L;
+
+ /**
+ * Mapping field style sheet.
+ */
+ private static final String DEF_FIELD_STYLE = "";
+
+ /**
+ * Any type rest client.
+ */
+ private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
+
+ /**
+ * Any type class rest client.
+ */
+ private final AnyTypeClassRestClient anyTypeClassRestClient = new AnyTypeClassRestClient();
+
+ /**
+ * ConnInstance rest client.
+ */
+ private final ConnectorRestClient connRestClient = new ConnectorRestClient();
+
+ /**
+ * Resource schema name.
+ */
+ private final List<String> schemaNames;
+
+ private final Label passwordLabel;
+
+ /**
+ * Add mapping button.
+ */
+ private final AjaxButton addMappingBtn;
+
+ /**
+ * All mappings.
+ */
+ private final ListView<MappingItemTO> mappings;
+
+ /**
+ * External resource to be updated.
+ */
+ private final ResourceTO resourceTO;
+
+ /**
+ * External resource provisioning configuration instance to be updated.
+ */
+ private final ProvisionTO provisionTO;
+
+ /**
+ * Mapping container.
+ */
+ private final WebMarkupContainer mappingContainer;
+
+ private MappingTO getMapping() {
+ if (provisionTO.getMapping() == null) {
+ provisionTO.setMapping(new MappingTO());
+ }
+
+ return provisionTO.getMapping();
+ }
+
+ /**
+ * Attribute Mapping Panel.
+ *
+ * @param id panel id
+ * @param resourceTO external resource to be updated.
+ * @param provisionTO external resource provisioning configuration instance.
+ */
+ public ResourceMappingPanel(final String id, final ResourceTO resourceTO, final ProvisionTO provisionTO) {
+ super(id);
+ setOutputMarkupId(true);
+
+ this.resourceTO = resourceTO;
+ this.provisionTO = provisionTO == null ? new ProvisionTO() : provisionTO;
+
+ this.mappingContainer = new WebMarkupContainer("mappingContainer");
+ this.mappingContainer.setOutputMarkupId(true);
+ add(this.mappingContainer);
+
+ if (resourceTO.getConnector() != null && resourceTO.getConnector() > 0) {
+ schemaNames = getSchemaNames(resourceTO.getConnector(), resourceTO.getConfOverride());
+ setEnabled();
+ } else {
+ schemaNames = Collections.<String>emptyList();
+ }
+
+ mappingContainer.add(Constants.getJEXLPopover(this, TooltipConfig.Placement.bottom));
+
+ passwordLabel = new Label("passwordLabel", new ResourceModel("password"));
+ mappingContainer.add(passwordLabel);
+
+ Collections.sort(getMapping().getItems(), new Comparator<MappingItemTO>() {
+
+ @Override
+ public int compare(final MappingItemTO left, final MappingItemTO right) {
+ int compared;
+ if (left == null && right == null) {
+ compared = 0;
+ } else if (left == null) {
+ compared = 1;
+ } else if (right == null) {
+ compared = -1;
+ } else if (left.getPurpose() == MappingPurpose.BOTH && right.getPurpose() != MappingPurpose.BOTH) {
+ compared = -1;
+ } else if (left.getPurpose() != MappingPurpose.BOTH && right.getPurpose() == MappingPurpose.BOTH) {
+ compared = 1;
+ } else if (left.getPurpose() == MappingPurpose.PROPAGATION
+ && (right.getPurpose() == MappingPurpose.PULL
+ || right.getPurpose() == MappingPurpose.NONE)) {
+ compared = -1;
+ } else if (left.getPurpose() == MappingPurpose.PULL
+ && right.getPurpose() == MappingPurpose.PROPAGATION) {
+ compared = 1;
+ } else if (left.getPurpose() == MappingPurpose.PULL
+ && right.getPurpose() == MappingPurpose.NONE) {
+ compared = -1;
+ } else if (left.getPurpose() == MappingPurpose.NONE
+ && right.getPurpose() != MappingPurpose.NONE) {
+ compared = 1;
+ } else if (left.isConnObjectKey()) {
+ compared = -1;
+ } else if (right.isConnObjectKey()) {
+ compared = 1;
+ } else if (left.isPassword()) {
+ compared = -1;
+ } else if (right.isPassword()) {
+ compared = 1;
+ } else {
+ compared = left.getIntAttrName().compareTo(right.getIntAttrName());
+ }
+ return compared;
+ }
+ });
+
+ mappings = new ListView<MappingItemTO>("mappings", getMapping().getItems()) {
+
+ private static final long serialVersionUID = 4949588177564901031L;
+
+ @Override
+ protected void populateItem(final ListItem<MappingItemTO> item) {
+ final MappingItemTO mapItem = item.getModelObject();
+ if (mapItem.getPurpose() == null) {
+ mapItem.setPurpose(MappingPurpose.BOTH);
+ }
+
+ AnyTypeKind entity = null;
+ if (provisionTO.getAnyType().equals(AnyTypeKind.GROUP.name())) {
+ // support for clone
+ entity = AnyTypeKind.GROUP;
+ } else if (mapItem.getIntMappingType() != null) {
+ entity = mapItem.getIntMappingType().getAnyTypeKind();
+ }
+
+ // it will happen just in case of clone to create a new mapping for group object
+ if (mapItem.getIntMappingType() != null && mapItem.getIntMappingType().getAnyTypeKind() != entity) {
+ mapItem.setIntMappingType(null);
+ mapItem.setIntAttrName(null);
+ }
+
+ //--------------------------------
+ // Entity
+ // -------------------------------
+ final AjaxDropDownChoicePanel<AnyTypeKind> entitiesPanel = new AjaxDropDownChoicePanel<>(
+ "entities",
+ new ResourceModel("entities", "entities").getObject(),
+ new Model<>(entity));
+
+ entitiesPanel.hideLabel();
+ entitiesPanel.setChoices(provisionTO.getAnyType().equals(AnyTypeKind.GROUP.name())
+ ? Collections.<AnyTypeKind>singletonList(AnyTypeKind.GROUP)
+ : Arrays.asList(AnyTypeKind.values()));
+
+ entitiesPanel.setStyleSheet(false, DEF_FIELD_STYLE);
+ item.add(entitiesPanel);
+ // -------------------------------
+
+ //--------------------------------
+ // Internal attribute type
+ // -------------------------------
+ final List<IntMappingType> attrTypes = new ArrayList<>(getAttributeTypes(entity));
+ final AjaxDropDownChoicePanel<IntMappingType> intMappingTypes = new AjaxDropDownChoicePanel<>(
+ "intMappingTypes",
+ new ResourceModel("intMappingTypes", "intMappingTypes").getObject(),
+ new PropertyModel<IntMappingType>(mapItem, "intMappingType"),
+ false);
+ intMappingTypes.setNullValid(true).setRequired(true).hideLabel();
+ intMappingTypes.setChoices(attrTypes);
+ item.add(intMappingTypes);
+ // -------------------------------
+
+ //--------------------------------
+ // Internal attribute
+ // -------------------------------
+ final AjaxDropDownChoicePanel<String> intAttrNames = new AjaxDropDownChoicePanel<>(
+ "intAttrNames",
+ getString("intAttrNames"),
+ new PropertyModel<String>(mapItem, "intAttrName"),
+ false);
+ intAttrNames.setChoices(Collections.<String>emptyList());
+ intAttrNames.setNullValid(true).setRequired(true).hideLabel();
+ item.add(intAttrNames);
+ // -------------------------------
+
+ //--------------------------------
+ // External attribute
+ // -------------------------------
+ final AjaxTextFieldPanel extAttrNames = new AjaxTextFieldPanel(
+ "extAttrName",
+ new ResourceModel("extAttrNames", "extAttrNames").getObject(),
+ new PropertyModel<String>(mapItem, "extAttrName"));
+ extAttrNames.setChoices(schemaNames);
+
+ boolean required = !mapItem.isPassword();
+ extAttrNames.setRequired(required).hideLabel();
+ extAttrNames.setEnabled(required);
+ item.add(extAttrNames);
+ // -------------------------------
+
+ //--------------------------------
+ // Mandatory
+ // -------------------------------
+ final AjaxTextFieldPanel mandatory = new AjaxTextFieldPanel(
+ "mandatoryCondition",
+ new ResourceModel("mandatoryCondition", "mandatoryCondition").getObject(),
+ new PropertyModel<String>(mapItem, "mandatoryCondition"));
+ mandatory.hideLabel();
+ mandatory.setChoices(Arrays.asList(new String[] { "true", "false" }));
+ item.add(mandatory);
+ // -------------------------------
+
+ //--------------------------------
+ // Connector object key
+ // -------------------------------
+ final AjaxCheckBoxPanel connObjectKey = new AjaxCheckBoxPanel(
+ "connObjectKey",
+ new ResourceModel("connObjectKey", "connObjectKey").getObject(),
+ new PropertyModel<Boolean>(mapItem, "connObjectKey"), false);
+ connObjectKey.hideLabel();
+ item.add(connObjectKey);
+ // -------------------------------
+
+ //--------------------------------
+ // Password
+ // -------------------------------
+ final AjaxCheckBoxPanel password = new AjaxCheckBoxPanel(
+ "password",
+ new ResourceModel("password", "password").getObject(),
+ new PropertyModel<Boolean>(mapItem, "password"), false);
+ item.add(password.hideLabel());
+ // -------------------------------
+
+ //--------------------------------
+ // Purpose
+ // -------------------------------
+ final WebMarkupContainer purpose = new WebMarkupContainer("purpose");
+ purpose.setOutputMarkupId(Boolean.TRUE);
+
+ final MappingPurposePanel panel = new MappingPurposePanel(
+ "purposeActions", new PropertyModel<MappingPurpose>(mapItem, "purpose"), purpose);
+
+ purpose.add(panel.setRenderBodyOnly(true));
+ item.add(purpose);
+ // -------------------------------
+
+ //--------------------------------
+ // Remove
+ // -------------------------------
+ final ActionLinksPanel.Builder<Serializable> actions = ActionLinksPanel.builder();
+ actions.add(new ActionLink<Serializable>() {
+
+ private static final long serialVersionUID = -3722207913631435501L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final Serializable ignore) {
+ int index = -1;
+ for (int i = 0; i < getMapping().getItems().size() && index == -1; i++) {
+ if (mapItem.equals(getMapping().getItems().get(i))) {
+ index = i;
+ }
+ }
+
+ if (index != -1) {
+ getMapping().getItems().remove(index);
+ item.getParent().removeAll();
+ target.add(ResourceMappingPanel.this);
+ }
+ }
+ }, ActionLink.ActionType.DELETE, StandardEntitlement.RESOURCE_UPDATE);
+ item.add(actions.build("toRemove"));
+ // -------------------------------
+
+ entitiesPanel.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ attrTypes.clear();
+ attrTypes.addAll(getAttributeTypes(entitiesPanel.getModelObject()));
+ intMappingTypes.setChoices(attrTypes);
+
+ intAttrNames.setChoices(Collections.<String>emptyList());
+
+ target.add(intMappingTypes);
+ target.add(intAttrNames);
+ }
+ });
+
+ intMappingTypes.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ setAttrNames(intMappingTypes.getModelObject(), intAttrNames);
+ target.add(intAttrNames);
+
+ setConnObjectKey(intMappingTypes.getModelObject(), connObjectKey, password);
+ target.add(connObjectKey);
+ }
+ });
+
+ intAttrNames.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ }
+ });
+
+ connObjectKey.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ if (connObjectKey.getModelObject()) {
+ mapItem.setMandatoryCondition("true");
+ mandatory.setEnabled(false);
+ } else {
+ mapItem.setMandatoryCondition("false");
+ mandatory.setEnabled(true);
+ }
+ target.add(mandatory);
+ }
+ });
+
+ password.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID = -1107858522700306810L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ extAttrNames.setEnabled(!mapItem.isConnObjectKey() && !password.getModelObject());
+ extAttrNames.setModelObject(password.getModelObject()
+ ? ConnIdSpecialAttributeName.PASSWORD : extAttrNames.getModelObject());
+ extAttrNames.setRequired(!password.getModelObject());
+ target.add(extAttrNames);
+
+ setConnObjectKey(intMappingTypes.getModelObject(), connObjectKey, password);
+ target.add(connObjectKey);
+ }
+ });
+
+ setAttrNames(mapItem.getIntMappingType(), intAttrNames);
+ setConnObjectKey(mapItem.getIntMappingType(), connObjectKey, password);
+
+ if (!AnyTypeKind.USER.name().equals(provisionTO.getAnyType())) {
+ password.setVisible(false);
+
+ // Changes required by clone ....
+ extAttrNames.setEnabled(!mapItem.isConnObjectKey());
+ if (mapItem.isPassword()) {
+ // re-enable if and only if cloned objec mapping item was a password
+ intAttrNames.setEnabled(true);
+ }
+ mapItem.setPassword(false);
+ }
+ }
+ };
+
+ mappings.setReuseItems(true);
+ mappingContainer.add(mappings);
+
+ addMappingBtn = new IndicatingAjaxButton("addMappingBtn", new ResourceModel("add")) {
+
+ private static final long serialVersionUID = -4804368561204623354L;
+
+ @Override
+ protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+ getMapping().getItems().add(new MappingItemTO());
+ target.add(ResourceMappingPanel.this);
+ }
+ };
+ addMappingBtn.setDefaultFormProcessing(false);
+ addMappingBtn.setEnabled(resourceTO.getConnector() != null && resourceTO.getConnector() > 0);
+ mappingContainer.add(addMappingBtn);
+ }
+
+ @Override
+ protected void onBeforeRender() {
+ super.onBeforeRender();
+ passwordLabel.setVisible(AnyTypeKind.USER.name().equals(this.provisionTO.getAnyType()));
+ }
+
+ private List<String> getSchemaNames(final Long connectorId, final Set<ConnConfProperty> conf) {
+ final ConnInstanceTO connInstanceTO = new ConnInstanceTO();
+ connInstanceTO.setKey(connectorId);
+ connInstanceTO.getConf().addAll(conf);
+
+ // SYNCOPE-156: use provided info to give schema names (and type!) by ObjectClass
+ ConnIdObjectClassTO clazz = IterableUtils.find(
+ connRestClient.buildObjectClassInfo(connInstanceTO, true), new Predicate<ConnIdObjectClassTO>() {
+
+ @Override
+ public boolean evaluate(final ConnIdObjectClassTO object) {
+ return object.getType().equalsIgnoreCase(ResourceMappingPanel.this.provisionTO.getObjectClass());
+ }
+ });
+
+ return clazz == null ? new ArrayList<String>()
+ : IterableUtils.toList(IterableUtils.filteredIterable(clazz.getAttributes(), new Predicate<String>() {
+
+ @Override
+ public boolean evaluate(final String object) {
+ return !(ConnIdSpecialAttributeName.NAME.equals(object)
+ || ConnIdSpecialAttributeName.ENABLE.equals(object)
+ || ConnIdSpecialAttributeName.PASSWORD.equals(object));
+ }
+ }));
+ }
+
+ private void setEnabled() {
+ ConnInstanceTO connInstanceTO = new ConnInstanceTO();
+ connInstanceTO.setKey(resourceTO.getConnector());
+ connInstanceTO.getConf().addAll(resourceTO.getConfOverride());
+
+ boolean enabled = provisionTO != null;
+
+ this.mappingContainer.setEnabled(enabled);
+ this.mappingContainer.setVisible(enabled);
+
+ if (!enabled) {
+ getMapping().getItems().clear();
+ getMapping().setConnObjectLink(null);
+ }
+ }
+
+ /**
+ * Set attribute names for a drop down choice list.
+ *
+ * @param type attribute type.
+ * @param toBeUpdated drop down choice to be updated.
+ */
+ private void setAttrNames(final IntMappingType type, final AjaxDropDownChoicePanel<String> toBeUpdated) {
+ toBeUpdated.setRequired(true);
+ toBeUpdated.setEnabled(true);
+
+ if (type == null || type.getAnyTypeKind() == null) {
+ toBeUpdated.setChoices(Collections.<String>emptyList());
+ } else {
+ AnyTypeTO anyTypeTO = anyTypeRestClient.read(provisionTO.getAnyType());
+
+ List<AnyTypeClassTO> anyTypeClassTOs = new ArrayList<>();
+ anyTypeClassTOs.addAll(anyTypeClassRestClient.list(anyTypeTO.getClasses()));
+ for (String auxClass : provisionTO.getAuxClasses()) {
+ anyTypeClassTOs.add(anyTypeClassRestClient.read(auxClass));
+ }
+
+ List<String> choices;
+ switch (type) {
+ case UserPlainSchema:
+ case GroupPlainSchema:
+ case AnyObjectPlainSchema:
+ final Set<String> plains = new HashSet<>();
+ for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
+ plains.addAll(anyTypeClassTO.getPlainSchemas());
+ }
+ choices = new ArrayList<>(plains);
+ break;
+
+ case UserDerivedSchema:
+ case GroupDerivedSchema:
+ case AnyObjectDerivedSchema:
+ final Set<String> deriveds = new HashSet<>();
+ for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
+ deriveds.addAll(anyTypeClassTO.getDerSchemas());
+ }
+ choices = new ArrayList<>(deriveds);
+ break;
+
+ case UserVirtualSchema:
+ case GroupVirtualSchema:
+ case AnyObjectVirtualSchema:
+ final Set<String> virtuals = new HashSet<>();
+ for (AnyTypeClassTO anyTypeClassTO : anyTypeClassTOs) {
+ virtuals.addAll(anyTypeClassTO.getVirSchemas());
+ }
+ choices = new ArrayList<>(virtuals);
+ break;
+
+ case UserKey:
+ case Password:
+ case Username:
+ case GroupKey:
+ case GroupName:
+ case AnyObjectKey:
+ default:
+ toBeUpdated.setRequired(false);
+ toBeUpdated.setEnabled(false);
+ choices = Collections.<String>emptyList();
+ }
+ Collections.sort(choices);
+ toBeUpdated.setChoices(choices);
+ }
+ }
+
+ /**
+ * Enable/Disable connObjectKey checkbox.
+ *
+ * @param type attribute type.
+ * @param connObjectKey connObjectKey checkbox.
+ * @param password password checkbox.
+ */
+ private void setConnObjectKey(
+ final IntMappingType type, final AjaxCheckBoxPanel connObjectKey, final AjaxCheckBoxPanel password) {
+
+ if (type != null && type.getAnyTypeKind() != null) {
+ switch (type) {
+ case UserVirtualSchema:
+ case GroupVirtualSchema:
+ case AnyObjectVirtualSchema:
+ // Virtual connObjectKey is not permitted
+ case Password:
+ // connObjectKey cannot be derived from password.
+ connObjectKey.setReadOnly(true);
+ connObjectKey.setModelObject(false);
+ break;
+
+ default:
+ if (password.getModelObject()) {
+ connObjectKey.setReadOnly(true);
+ connObjectKey.setModelObject(false);
+ } else {
+ connObjectKey.setReadOnly(false);
+ }
+ }
+ }
+ }
+
+ /**
+ * Get all attribute types from a selected attribute type.
+ *
+ * @param kind entity.
+ * @return all attribute types.
+ */
+ private List<IntMappingType> getAttributeTypes(final AnyTypeKind kind) {
+ final List<IntMappingType> res = new ArrayList<>();
+
+ if (kind != null) {
+ res.addAll(IntMappingType.getAttributeTypes(kind));
+ }
+
+ return res;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
new file mode 100644
index 0000000..67aaf9b
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.java
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.List;
+import org.apache.commons.collections4.IteratorUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.lang3.SerializationUtils;
+import org.apache.syncope.client.console.panels.ListViewPanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
+import org.apache.syncope.client.console.wizards.AjaxWizard;
+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.event.Broadcast;
+import org.apache.wicket.extensions.wizard.WizardStep;
+
+public class ResourceProvisionPanel extends WizardStep {
+
+ private static final long serialVersionUID = -7982691107029848579L;
+
+ public ResourceProvisionPanel(final ResourceTO resourceTO, final PageReference pageRef) {
+ super();
+ setOutputMarkupId(true);
+
+ final ListViewPanel.Builder<ProvisionTO> builder = new ListViewPanel.Builder<ProvisionTO>(
+ ProvisionTO.class, pageRef) {
+
+ private static final long serialVersionUID = 4907732721283972943L;
+
+ @Override
+ protected ProvisionTO getActualItem(final ProvisionTO item, final List<ProvisionTO> list) {
+ return item == null
+ ? null
+ : IteratorUtils.find(list.iterator(), new Predicate<ProvisionTO>() {
+
+ @Override
+ public boolean evaluate(final ProvisionTO in) {
+ return ((item.getKey() == null && in.getKey() == null)
+ || (in.getKey() != null && in.getKey().equals(item.getKey())))
+ && ((item.getAnyType() == null && in.getAnyType() == null)
+ || (in.getAnyType() != null && in.getAnyType().equals(item.getAnyType())));
+ }
+ });
+ }
+ };
+
+ builder.setItems(resourceTO.getProvisions());
+ builder.includes("anyType", "objectClass", "auxClasses");
+ builder.setReuseItem(false);
+
+ builder.
+ addAction(new ActionLink<ProvisionTO>() {
+
+ private static final long serialVersionUID = -3722207913631435504L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
+ send(pageRef.getPage(), Broadcast.DEPTH,
+ new AjaxWizard.NewItemActionEvent<>(provisionTO, 2, target));
+ }
+ }, ActionLink.ActionType.MAPPING, StandardEntitlement.RESOURCE_UPDATE).
+ addAction(new ActionLink<ProvisionTO>() {
+
+ private static final long serialVersionUID = -3722207913631435524L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
+ provisionTO.setSyncToken(null);
+ send(pageRef.getPage(), Broadcast.DEPTH, new ListViewPanel.ListViewReload(target));
+ }
+ }, ActionLink.ActionType.RESET_TIME, StandardEntitlement.RESOURCE_UPDATE).
+ addAction(new ActionLink<ProvisionTO>() {
+
+ private static final long serialVersionUID = -3722207913631435534L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
+ final ProvisionTO clone = SerializationUtils.clone(provisionTO);
+ clone.setKey(0L);
+ clone.setAnyType(null);
+ clone.setObjectClass(null);
+ send(pageRef.getPage(), Broadcast.DEPTH, new AjaxWizard.NewItemActionEvent<>(clone, target));
+ }
+ }, ActionLink.ActionType.CLONE, StandardEntitlement.RESOURCE_CREATE).
+ addAction(new ActionLink<ProvisionTO>() {
+
+ private static final long serialVersionUID = -3722207913631435544L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
+ resourceTO.getProvisions().remove(provisionTO);
+ send(pageRef.getPage(), Broadcast.DEPTH, new ListViewPanel.ListViewReload(target));
+ }
+ }, ActionLink.ActionType.DELETE, StandardEntitlement.RESOURCE_DELETE);
+
+ builder.addNewItemPanelBuilder(new ProvisionWizardBuilder(resourceTO, pageRef));
+ add(builder.build("provision"));
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java
new file mode 100644
index 0000000..1661893
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.java
@@ -0,0 +1,137 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.syncope.client.console.rest.PolicyRestClient;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.PolicyRenderer;
+import org.apache.syncope.common.lib.policy.AbstractPolicyTO;
+import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.syncope.common.lib.types.PolicyType;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.model.ResourceModel;
+
+public class ResourceSecurityPanel extends WizardStep {
+
+ private static final long serialVersionUID = -7982691107029848579L;
+
+ private final PolicyRestClient policyRestClient = new PolicyRestClient();
+
+ private final IModel<Map<Long, String>> passwordPolicies = new LoadableDetachableModel<Map<Long, String>>() {
+
+ private static final long serialVersionUID = 5275935387613157437L;
+
+ @Override
+ protected Map<Long, String> load() {
+ Map<Long, String> res = new HashMap<>();
+ for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.PASSWORD)) {
+ res.put(policyTO.getKey(), policyTO.getDescription());
+ }
+ return res;
+ }
+ };
+
+ private final IModel<Map<Long, String>> accountPolicies = new LoadableDetachableModel<Map<Long, String>>() {
+
+ private static final long serialVersionUID = -2012833443695917883L;
+
+ @Override
+ protected Map<Long, String> load() {
+ Map<Long, String> res = new HashMap<>();
+ for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.ACCOUNT)) {
+ res.put(policyTO.getKey(), policyTO.getDescription());
+ }
+ return res;
+ }
+ };
+
+ private final IModel<Map<Long, String>> pullPolicies = new LoadableDetachableModel<Map<Long, String>>() {
+
+ private static final long serialVersionUID = -2012833443695917883L;
+
+ @Override
+ protected Map<Long, String> load() {
+ Map<Long, String> res = new HashMap<>();
+ for (AbstractPolicyTO policyTO : policyRestClient.getPolicies(PolicyType.PULL)) {
+ res.put(policyTO.getKey(), policyTO.getDescription());
+ }
+ return res;
+ }
+ };
+
+ public ResourceSecurityPanel(final ResourceTO resourceTO) {
+ super();
+ setOutputMarkupId(true);
+
+ final WebMarkupContainer container = new WebMarkupContainer("container");
+ container.setOutputMarkupId(true);
+ container.setRenderBodyOnly(true);
+ add(container);
+
+ // -------------------------------
+ // Password policy selection
+ // -------------------------------
+ AjaxDropDownChoicePanel<Long> passwordPolicy = new AjaxDropDownChoicePanel<>(
+ "passwordPolicy",
+ new ResourceModel("passwordPolicy", "passwordPolicy").getObject(),
+ new PropertyModel<Long>(resourceTO, "passwordPolicy"),
+ false);
+ passwordPolicy.setChoiceRenderer(new PolicyRenderer(passwordPolicies));
+ passwordPolicy.setChoices(new ArrayList<>(passwordPolicies.getObject().keySet()));
+ ((DropDownChoice<?>) passwordPolicy.getField()).setNullValid(true);
+ container.add(passwordPolicy);
+ // -------------------------------
+
+ // -------------------------------
+ // Account policy selection
+ // -------------------------------
+ AjaxDropDownChoicePanel<Long> accountPolicy = new AjaxDropDownChoicePanel<>(
+ "accountPolicy",
+ new ResourceModel("accountPolicy", "accountPolicy").getObject(),
+ new PropertyModel<Long>(resourceTO, "accountPolicy"),
+ false);
+ accountPolicy.setChoiceRenderer(new PolicyRenderer(accountPolicies));
+ accountPolicy.setChoices(new ArrayList<>(accountPolicies.getObject().keySet()));
+ ((DropDownChoice<?>) accountPolicy.getField()).setNullValid(true);
+ container.add(accountPolicy);
+ // -------------------------------
+
+ // -------------------------------
+ // Pull policy selection
+ // -------------------------------
+ AjaxDropDownChoicePanel<Long> pullPolicy = new AjaxDropDownChoicePanel<>(
+ "pullPolicy",
+ new ResourceModel("pullPolicy", "pullPolicy").getObject(),
+ new PropertyModel<Long>(resourceTO, "pullPolicy"),
+ false);
+ pullPolicy.setChoiceRenderer(new PolicyRenderer(pullPolicies));
+ pullPolicy.setChoices(new ArrayList<>(pullPolicies.getObject().keySet()));
+ ((DropDownChoice<?>) pullPolicy.getField()).setNullValid(true);
+ container.add(pullPolicy);
+ // -------------------------------
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceWizardBuilder.java
new file mode 100644
index 0000000..e46201f
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceWizardBuilder.java
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.wizards.resources;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+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.topology.TopologyNode;
+import org.apache.syncope.client.console.wizards.AjaxWizard;
+import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.syncope.common.lib.to.ProvisionTO;
+import org.apache.syncope.common.lib.to.ResourceTO;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.wizard.WizardModel;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.model.StringResourceModel;
+
+/**
+ * Resource wizard builder.
+ */
+public class ResourceWizardBuilder extends AbstractResourceWizardBuilder<ResourceTO> {
+
+ private static final long serialVersionUID = 1734415311027284221L;
+
+ private final ResourceRestClient resourceRestClient = new ResourceRestClient();
+
+ private final ConnectorRestClient connectorRestClient = new ConnectorRestClient();
+
+ private boolean createFlag;
+
+ public ResourceWizardBuilder(final ResourceTO resourceTO, final PageReference pageRef) {
+ super(resourceTO, pageRef);
+ }
+
+ @Override
+ public AjaxWizard<Serializable> build(final AjaxWizard.Mode mode) {
+ this.createFlag = mode == AjaxWizard.Mode.CREATE;
+ return super.build(mode);
+ }
+
+ @Override
+ protected WizardModel buildModelSteps(final Serializable modelObject, final WizardModel wizardModel) {
+ final ResourceTO resourceTO = ResourceTO.class.cast(modelObject);
+ wizardModel.add(new ResourceDetailsPanel(resourceTO, createFlag));
+ wizardModel.add(new ResourceProvisionPanel(resourceTO, pageRef));
+ wizardModel.add(new ResourceConnConfPanel(resourceTO, createFlag) {
+
+ private static final long serialVersionUID = -1128269449868933504L;
+
+ @Override
+ protected void check(final AjaxRequestTarget target) {
+ if (connectorRestClient.check(modelObject)) {
+ info(getString(Constants.OPERATION_SUCCEEDED));
+ } else {
+ error(getString("error_connection"));
+ }
+ SyncopeConsoleSession.get().getNotificationPanel().refresh(target);
+ }
+
+ @Override
+ protected void onComponentTag(final ComponentTag tag) {
+ tag.append("class", "scrollable-tab-content", " ");
+ }
+
+ });
+ wizardModel.add(new ResourceConnCapabilitiesPanel(
+ resourceTO, connectorRestClient.read(resourceTO.getConnector()).getCapabilities()));
+
+ wizardModel.add(new ResourceSecurityPanel(resourceTO));
+ return wizardModel;
+ }
+
+ @Override
+ protected ResourceTO onApplyInternal(final Serializable modelObject) {
+ final ResourceTO resourceTO = ResourceTO.class.cast(modelObject);
+ boolean connObjectKeyError = false;
+
+ final Collection<ProvisionTO> provisions = new ArrayList<>(resourceTO.getProvisions());
+
+ for (ProvisionTO provision : provisions) {
+ if (provision != null) {
+ if (provision.getMapping() == null || provision.getMapping().getItems().isEmpty()) {
+ resourceTO.getProvisions().remove(provision);
+ } else {
+ long uConnObjectKeyCount = IterableUtils.countMatches(
+ provision.getMapping().getItems(), new Predicate<MappingItemTO>() {
+
+ @Override
+ public boolean evaluate(final MappingItemTO item) {
+ return item.isConnObjectKey();
+ }
+ });
+
+ connObjectKeyError = uConnObjectKeyCount != 1;
+ }
+ }
+ }
+
+ final ResourceTO res;
+ if (connObjectKeyError) {
+ throw new RuntimeException(new StringResourceModel("connObjectKeyValidation").getString());
+ } else if (createFlag) {
+ res = resourceRestClient.create(resourceTO);
+ } else {
+ resourceRestClient.update(resourceTO);
+ res = resourceTO;
+ }
+ return res;
+ }
+
+ @Override
+ protected Serializable getCreateCustomPayloadEvent(final Serializable afterObject, final AjaxRequestTarget target) {
+ final ResourceTO actual = ResourceTO.class.cast(afterObject);
+ return new CreateEvent(
+ actual.getKey(),
+ actual.getKey(),
+ TopologyNode.Kind.RESOURCE,
+ actual.getConnector(),
+ target);
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/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 05183af..fb8431a 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
@@ -163,7 +163,14 @@ div.wicket-modal div.w_content_3 {
.scrollable-tab-content {
overflow-y: auto;
- max-height: 400px;
+ max-height: 480px;
+}
+
+.inner-scrollable-tab-content {
+ height: 440px;
+ margin-top: 40px;
+ overflow-x: hidden;
+ overflow-y: auto;
}
a.help {
@@ -229,6 +236,19 @@ a.help span a {
padding: 0px 5px 0px 5px;
}
+div.wizard-view div.wizard-view{
+ max-height: 380px;
+ height: 380px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ padding: 50px 20px 50px 20px;
+}
+
+.wizard-view .wizard-form{
+ max-height: 450px;
+ height: 450px;
+}
+
.modal-body .tab-content .wizard-view {
max-height: 330px !important;
height: 330px !important;
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractConnConfPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractConnConfPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractConnConfPanel.html
deleted file mode 100644
index 974c9aa..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractConnConfPanel.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <span wicket:id="connectorPropertiesContainer">
- <div class="form-group" wicket:id="connectorProperties">
- <span wicket:id="panel">[panel]</span>
- </div>
-
- <div>
- <a style="position: fixed; top: 70px; right:60px;" wicket:id="check" href="#">
- <i class="fa fa-heartbeat fa-2x"></i>
- </a>
- </div>
- </span>
- </wicket:panel>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractResourceModal.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractResourceModal.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractResourceModal.html
deleted file mode 100644
index bd4cd4b..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractResourceModal.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:extend>
- <div wicket:id="tabbedPanel"></div>
- </wicket:extend>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.html
deleted file mode 100644
index ed50fa5..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnCapabilitiesPanel.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <span wicket:id="capabilitiesPalette"/>
- </wicket:panel>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.html
deleted file mode 100644
index 87fc624..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorDetailsPanel.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <head>
- <title>Connector details panel</title>
- </head>
- <body>
- <wicket:panel>
- <div class="form-group">
- <span wicket:id="displayName">[displayName]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="location">[location]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="bundleName">[bundleName]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="version">[version]</span>
- </div>
-
- <div class="form-group" style="padding: 30px 0px 0px 0px">
- <table class="table">
- <tbody>
- <tr>
- <td><span wicket:id="connRequestTimeout">[connRequestTimeout]</span></td>
- <td><span wicket:id="poolMaxObjects">[poolMaxObjects]</span></td>
- </tr>
- <tr>
- <td><span wicket:id="poolMinIdle">[poolMinIdle]</span></td>
- <td><span wicket:id="poolMaxIdle">[poolMaxIdle]</span></td>
- </tr>
- <tr>
- <td><span wicket:id="poolMaxWait">[poolMaxWait]</span></td>
- <td><span wicket:id="poolMinEvictableIdleTime">[poolMinEvictableIdleTime]</span></td>
- </tr>
- </tbody>
- </table>
- </div>
- </wicket:panel>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal.properties
deleted file mode 100644
index 91dae7b..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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.
-general=General
-configuration=Configuration
-capabilities=Capabilities
-
-displayName=Display name
-bundleName=Bundle
-version=Version
-connRequestTimeout=Request timeout (sec)
-action=Action
-edit=Edit
-edit_attribute=Edit attribute
-serviceName=Service name
-endpoint=Endpoint
-title=Connector
-overridable=Overridable
-property=Property
-value=Value
-
-success_connection=Successful connection
-error_connection=Connection failure
-check=Check connection
-location=Location
-poolMaxObjects=Max objects (idle+active)
-poolMinIdle=Min idle objects
-poolMaxIdle=Max idle objects
-poolMaxWait=Max waiting time (msec)
-poolMinEvictableIdleTime=Min eviction time (msec)
-new=New
-connectorName=Connector Bundle
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_it.properties
deleted file mode 100644
index b012649..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_it.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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.
-general=Generale
-configuration=Configurazione
-capabilities=Capability
-
-bundleName=Bundle
-version=Versione
-connRequestTimeout=Timeout richiesta (sec)
-action=Azione
-edit=Edit
-edit_attribute=Edit attribute
-serviceName=Nome servizio
-endpoint=Endpoint
-title=Connettore
-displayName=Nome visualizzato
-overridable=Sovrascrivibile
-property=Propriet\u00e0
-value=Valore
-
-success_connection=Connessione avvenuta con successo
-error_connection=Connessione non riuscita
-check=Verifica connessione
-location=Posizione
-poolMaxObjects=Max oggetti (attivi e non)
-poolMinIdle=Max oggetti attivi
-poolMaxIdle=Max oggetti inattivi
-poolMaxWait=Tempo max attesa
-poolMinEvictableIdleTime=Tempo min espulsione
-new=Nuovo
-connectorName=Connector Bundle
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_pt_BR.properties
deleted file mode 100644
index a209703..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_pt_BR.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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.
-general=Geral
-configuration=Configura\u00e7\u00e3o
-capabilities=Capacidades
-
-displayName=Mostrar Nome
-bundleName=Bundle
-version=Vers\u00e3o
-connRequestTimeout=Timeout da Requisi\u00e7\u00e3o (seg)
-action=A\u00e7\u00e3o
-edit=Alterar
-edit_attribute=Alterar Atributo
-serviceName=Nome de Servi\u00e7o
-endpoint=Endpoint
-title=Conector
-overridable=Alter\u00e1vel
-property=Propriedade
-value=Valor
-
-success_connection=Sucesso na Conex\u00e3o
-error_connection=Falha na Conex\u00e3o
-check=Verificar a Conex\u00e3o
-location=Localiza\u00e7\u00e3o
-poolMaxObjects=Max objects (idle+active)
-poolMinIdle=Min idle objects
-poolMaxIdle=Max idle objects
-poolMaxWait=Max waiting time (msec)
-poolMinEvictableIdleTime=Min eviction time (msec)
-new=Novo
-connectorName=Connector Bundle
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_ru.properties
deleted file mode 100644
index 8b27977..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ConnectorModal_ru.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-# 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.
-#
-# general=Основное
-general=\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435
-# configuration=Конфигурация
-configuration=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f
-# capabilities=Действия
-capabilities=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f
-
-# displayName=Название
-displayName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435
-# bundleName=Название пакета
-bundleName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u0430
-# version=Версия
-version=\u0412\u0435\u0440\u0441\u0438\u044f
-# connRequestTimeout=Таймаут запроса (сек)
-connRequestTimeout=\u0422\u0430\u0439\u043c\u0430\u0443\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0441\u0435\u043a)
-# action=Действие
-action=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435
-# edit=Изменить
-edit=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c
-# edit_attribute=Изменить атрибут
-edit_attribute=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442
-# serviceName=Наименование сервиса
-serviceName=\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430
-# endpoint=Конечная точка подключения
-endpoint=\u041a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f
-# title=Коннектор
-title=\u041a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440
-# overridable=Переопределяемый
-overridable=\u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439
-# property=Параметр
-property=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440
-# value=Значение
-value=\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435
-
-# success_connection=Подключение выполнено успешно
-success_connection=\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e
-# error_connection=Во время подключения произошла ошибка
-error_connection=\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430
-# check=Проверить подключение
-check=\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435
-# location=Расположение
-location=\u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435
-# poolMaxObjects=Максимум объектов (в ожидании + активные)
-poolMaxObjects=\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 + \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435)
-# poolMinIdle=Минимум объектов в ожидании
-poolMinIdle=\u041c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438
-# poolMaxIdle=Максимум объектов в ожидании
-poolMaxIdle=\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438
-# poolMaxWait=Максимальное время ожидания (мс)
-poolMaxWait=\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f (\u043c\u0441)
-# poolMinEvictableIdleTime=Минимальное время ожидания (мс)
-poolMinEvictableIdleTime=\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f (\u043c\u0441)
-# new=Создать
-new=\u0421\u043e\u0437\u0434\u0430\u0442\u044c
-# connectorName=Название пакета
-connectorName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u0430
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.html
deleted file mode 100644
index a37390e..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div class="form-group">
- <span wicket:id="overrideCapabilities">[overrideCapabilities]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="capabilitiesOverride">[capabilitiesOverride]</span>
- </div>
- </wicket:panel>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.properties
deleted file mode 100644
index 7e36b0c..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-overrideCapabilities=Override Capabilities?
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_it.properties
deleted file mode 100644
index 7e36b0c..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_it.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-overrideCapabilities=Override Capabilities?
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_pt_BR.properties
deleted file mode 100644
index 7e36b0c..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_pt_BR.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-overrideCapabilities=Override Capabilities?
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_ru.properties
deleted file mode 100644
index c23bd33..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceConnCapabilitiesPanel_ru.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-#
-# overrideCapabilities=Переопределить действия?
-overrideCapabilities=\u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f?
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceDetailsPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceDetailsPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceDetailsPanel.html
deleted file mode 100644
index caefa9a..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceDetailsPanel.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
-
- <div wicket:id="container" class="summarize">
- <div class="form-group">
- <span wicket:id="name">[name]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="connector">[connector]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="enforceMandatoryCondition">[enforceMandatoryCondition]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="propagationPriority">[propagationPriority]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="randomPwdIfNotProvided">[randomPwdIfNotProvided]</span>
- </div>
-
- <div class="form-group form-palette">
- <span wicket:id="propagationActionsClassNames">[propagationActionsClassNames]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="createTraceLevel">[createTraceLevel]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="updateTraceLevel">[updateTraceLevel]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="deleteTraceLevel">[deleteTraceLevel]</span>
- </div>
-
- <div class="form-group">
- <span wicket:id="pullTraceLevel">[pullTraceLevel]</span>
- </div>
- </div>
-
- <span wicket:id="systeminformation">[System Information]</span>
- </wicket:panel>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html
deleted file mode 100644
index 2b717e2..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!--
-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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div class="table-responsive no-padding">
- <table id="mappings"
- class="table table-hover"
- style="font-size: 1em;margin-top:2px;"
- wicket:id="mappingContainer">
- <tbody>
- <tr>
- <th><wicket:message key="entity"/></th>
- <th><wicket:message key="intMappingTypes"/></th>
- <th><wicket:message key="intAttrNames"/></th>
- <th><wicket:message key="extAttrNames"/></th>
- <th>
- <wicket:message key="mandatoryCondition"/>
- <span id="popover" wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign"></span>
- </th>
- <th><wicket:message key="connObjectKey"/></th>
- <th><label wicket:id="passwordLabel"/></th>
- <th><wicket:message key="purpose"/></th>
- <th><i class="fa fa-trash"></i></th>
- </tr>
- <tr wicket:id="mappings">
- <td>
- <span wicket:id="entities">[entities]</span>
- </td>
- <td>
- <span wicket:id="intMappingTypes">[intMappingTypes]</span>
- </td>
- <td>
- <span wicket:id="intAttrNames">[intAttrNames]</span>
- </td>
- <td>
- <span wicket:id="extAttrName">[extAttrName]</span>
- </td>
- <td>
- <span wicket:id="mandatoryCondition">[mandatoryCondition]</span>
- </td>
- <td>
- <span wicket:id="connObjectKey">[connObjectKey]</span>
- </td>
- <td>
- <span wicket:id="password">[password]</span>
- </td>
- <td>
- <div wicket:id="purpose" style="margin: 10px 0px 10px 0px">
- <span wicket:id="purposeActions">[purpose]</span>
- </div>
- </td>
- <td>
- <div style="margin: 10px 0px 10px 0px">
- <span wicket:id="toRemove"/>
- </div>
- </td>
- </tr>
- </tbody>
-
- <tfoot>
- <tr>
- <td colspan="9" style="padding: 5px; text-align: right">
- <input type="submit" class="btn btn-primary" wicket:id="addMappingBtn" />
- </td>
- </tr>
- </tfoot>
- </table>
- </div>
- </wicket:panel>
-</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal.properties
deleted file mode 100644
index 9a91557..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceModal.properties
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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.
-general=Resource details
-provisions=Provisioning
-connectorProperties=Connector Properties
-security=Security
-
-umapping=User mapping
-required_alert=All form fields are required
-connector=Connector
-existing_resources=Existing resources
-action=Action
-edit_attribute=Edit resource
-title=Resource
-extAttrNames=External attributes
-intMappingTypes=Internal mapping types
-entity=Entity
-groupSchema=Group Schema
-connObjectKey=ConnObjectKey
-mandatoryCondition=Mandatory
-password=Password
-purpose=Purpose
-mappingUserSchema=Mapping User Schema
-mappingGroupSchema=Mapping Group Schema
-delete=Delete
-intAttrNames=Internal attributes
-enforceMandatoryCondition=Enforce mandatory condition
-fieldName=Field name
-
-connObjectKeyValidation=There must be exactly one ConnObjectKey
-propagationMode=Propagation mode
-connObjectLink=ConnObjectLink
-enable=Enable
-
-createTraceLevel=Create trace level
-updateTraceLevel=Update trace level
-deleteTraceLevel=Delete trace level
-pullTraceLevel=Pull trace level
-propagationPriority=Propagation priority
-
-success_connection=Successful connection
-error_connection=Connection failure
-check=Check connection
-propagationActionsClassNames=Propagation Actions
-gmapping=Group mapping
-new=New resource
-randomPwdIfNotProvided=Generate random passwords when missing
-
-anyType=Object Type
-objectClass= Object Class
-__ACCOUNT__=ACCOUNT
-__GROUP__=GROUP
-connectorCapabilities=Connector Capabilities
-auxClasses=Auxiliary Classes
[2/7] syncope git commit: [SYNCOPE-156,
SYNCOPE-817] provides wizard to manage resources and connectors
Posted by fm...@apache.org.
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.properties
new file mode 100644
index 0000000..8223360
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses.properties
@@ -0,0 +1,20 @@
+# 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.
+
+auxClasses.title=Auxiliary Classes
+auxClasses.summary=
+
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_it.properties
new file mode 100644
index 0000000..372ef2d
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_it.properties
@@ -0,0 +1,19 @@
+# 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.
+
+auxClasses.title=Classi Ausiliarie
+auxClasses.summary=
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_pt_BR.properties
new file mode 100644
index 0000000..0946b9d
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$AuxClasses_pt_BR.properties
@@ -0,0 +1,20 @@
+# 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.
+
+auxClasses.title=Classes Auxiliares
+auxClasses.summary=
+
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.html
new file mode 100644
index 0000000..643dc1c
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.html
@@ -0,0 +1,30 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <span wicket:id="connObjectLinkContainer">
+ <div class="form-group">
+ <span wicket:id="connObjectLinkCheckbox">[connObjectLinkCheckbox]</span>
+ </div>
+ <div class="form-group">
+ <span wicket:id="connObjectLink">[connObjectLink]</span>
+ </div>
+ </span>
+ </wicket:panel>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.properties
new file mode 100644
index 0000000..dad26b4
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink.properties
@@ -0,0 +1,20 @@
+# 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.
+
+link.title=Connector object link (if required)
+link.summary=
+connObjectLinkCheckbox=Use ConnObjectLink
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_it.properties
new file mode 100644
index 0000000..cf74d19
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_it.properties
@@ -0,0 +1,20 @@
+# 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.
+
+link.title=Connector object link (se necessario)
+link.summary=
+connObjectLinkCheckbox=Usa ConnObjectLink
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties
new file mode 100644
index 0000000..305b0b7
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ConnObjectLink_pt_BR.properties
@@ -0,0 +1,20 @@
+# 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.
+
+link.title=Connector object link (se necess\u00e1rio)
+link.summary=
+connObjectLinkCheckbox=Usar ConnObjectLink
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.html
new file mode 100644
index 0000000..11b1a52
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.html
@@ -0,0 +1,23 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <span wicket:id="mapping" />
+ </wicket:panel>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.properties
new file mode 100644
index 0000000..99d1add
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping.properties
@@ -0,0 +1,20 @@
+# 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.
+
+mapping.title=Mapping
+mapping.summary=
+
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_it.properties
new file mode 100644
index 0000000..fde5de0
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_it.properties
@@ -0,0 +1,19 @@
+# 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.
+
+mapping.title=Mapping
+mapping.summary=
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_pt_BR.properties
new file mode 100644
index 0000000..99d1add
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$Mapping_pt_BR.properties
@@ -0,0 +1,20 @@
+# 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.
+
+mapping.title=Mapping
+mapping.summary=
+
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.html
new file mode 100644
index 0000000..1b951d3
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.html
@@ -0,0 +1,31 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="container">
+ <div class="form-group">
+ <span wicket:id="type"/>
+ </div>
+ <div class="form-group">
+ <label>Object Class</label>
+ <input type="text" placeholder="Object Class ..." class="form-control" wicket:id="class">
+ </div>
+ </div>
+ </wicket:panel>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.properties
new file mode 100644
index 0000000..b20d6ba
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType.properties
@@ -0,0 +1,24 @@
+# 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.
+
+type.title=Specify the type of the provisioning object
+type.summary=
+
+type=Type
+type.Required=Type is required
+class.Required=Object class is required
+
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_it.properties
new file mode 100644
index 0000000..e29b214
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_it.properties
@@ -0,0 +1,23 @@
+# 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.
+
+type.title=Specify the type of the provisioning object
+type.summary=
+
+type=Type
+type.Required=Type is required
+class.Required=Object class is required
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_pt_BR.properties
new file mode 100644
index 0000000..e29b214
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder$ObjectType_pt_BR.properties
@@ -0,0 +1,23 @@
+# 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.
+
+type.title=Specify the type of the provisioning object
+type.summary=
+
+type=Type
+type.Required=Type is required
+class.Required=Object class is required
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.html
new file mode 100644
index 0000000..e2da0f2
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.html
@@ -0,0 +1,29 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div class="form-group">
+ <span wicket:id="overrideCapabilities">[overrideCapabilities]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="capabilities">[capabilitiesOverride]</span>
+ </div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.properties
new file mode 100644
index 0000000..cabb722
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel.properties
@@ -0,0 +1,18 @@
+# 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.
+overrideCapabilities=Override Capabilities?
+capabilities=Capabilities
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_it.properties
new file mode 100644
index 0000000..cabb722
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_it.properties
@@ -0,0 +1,18 @@
+# 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.
+overrideCapabilities=Override Capabilities?
+capabilities=Capabilities
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_pt_BR.properties
new file mode 100644
index 0000000..cabb722
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_pt_BR.properties
@@ -0,0 +1,18 @@
+# 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.
+overrideCapabilities=Override Capabilities?
+capabilities=Capabilities
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_ru.properties
new file mode 100644
index 0000000..bba780d
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceConnCapabilitiesPanel_ru.properties
@@ -0,0 +1,20 @@
+# 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.
+overrideCapabilities=Override Capabilities?
+
+# connectorCapabilities=\u00d0\u0094\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d1\u008f \u00d0\u00ba\u00d0\u00be\u00d0\u00bd\u00d0\u00bd\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d1\u0080\u00d0\u00b0
+capabilities=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u0430
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html
new file mode 100644
index 0000000..10b931c
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html
@@ -0,0 +1,63 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="container" class="summarize">
+ <div class="form-group">
+ <span wicket:id="name">[name]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="connector">[connector]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="enforceMandatoryCondition">[enforceMandatoryCondition]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="propagationPriority">[propagationPriority]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="randomPwdIfNotProvided">[randomPwdIfNotProvided]</span>
+ </div>
+
+ <div class="form-group form-palette">
+ <span wicket:id="propagationActionsClassNames">[propagationActionsClassNames]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="createTraceLevel">[createTraceLevel]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="updateTraceLevel">[updateTraceLevel]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="deleteTraceLevel">[deleteTraceLevel]</span>
+ </div>
+
+ <div class="form-group">
+ <span wicket:id="pullTraceLevel">[pullTraceLevel]</span>
+ </div>
+ </div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.properties
new file mode 100644
index 0000000..0d9a7f8
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.properties
@@ -0,0 +1,26 @@
+# 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.
+name=Resource name
+connector=Connector
+enforceMandatoryCondition=Enforce mandatory condition
+propagationPriority=Propagation priority
+randomPwdIfNotProvided=Generate random passwords when missing
+propagationActionsClassNames=Propagation Actions
+createTraceLevel=Create trace level
+updateTraceLevel=Update trace level
+deleteTraceLevel=Delete trace level
+pullTraceLevel=Pull trace level
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_it.properties
new file mode 100644
index 0000000..6587516
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_it.properties
@@ -0,0 +1,26 @@
+# 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.
+name=Nome risorsa
+connector=Connettore
+enforceMandatoryCondition=Abilita mandatory condition
+propagationPriority=Priorit\u00e0 in propagazione
+randomPwdIfNotProvided=Genera password casuali se mancanti
+propagationActionsClassNames=Azioni di Propagazione
+createTraceLevel=Livello di tracciamento delle creazioni
+updateTraceLevel=Livello di tracciamento degli aggiornamenti
+deleteTraceLevel=Livello di tracciamento delle cancellazioni
+pullTraceLevel=Livello di tracciamento delle pull
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_pt_BR.properties
new file mode 100644
index 0000000..b79b395
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_pt_BR.properties
@@ -0,0 +1,26 @@
+# 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.
+name=Nome recurso
+connector=Conector
+enforceMandatoryCondition=Aplicar condi\u00e7\u00e3o obrigat\u00f3ria
+propagationPriority=Prioridade de propaga\u00e7\u00e3o
+randomPwdIfNotProvided=Gerar senhas aleat\u00f3rias quando n\u00e3o houver
+propagationActionsClassNames=A\u00e7\u00f5es de Propaga\u00e7\u00e3o
+createTraceLevel=Criar n\u00edvel de trace
+updateTraceLevel=Atualizar n\u00edvel de trace
+deleteTraceLevel=Excluir n\u00edvel de trace
+pullTraceLevel=N\u00edvel de trace de pull
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_ru.properties
new file mode 100644
index 0000000..91f5d6e
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel_ru.properties
@@ -0,0 +1,35 @@
+# 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.
+name=Nome risorsa
+# connector=\u00d0\u009a\u00d0\u00be\u00d0\u00bd\u00d0\u00bd\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d1\u0080
+connector=\u041a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440
+# enforceMandatoryCondition=\u00d0\u009e\u00d0\u00b1\u00d1\u008f\u00d0\u00b7\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d1\u008b\u00d0\u00b9 (\u00d0\u00bf\u00d1\u0080\u00d0\u00b8\u00d0\u00bd\u00d1\u0083\u00d0\u00b4\u00d0\u00b8\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d0\u00be)
+enforceMandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 (\u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e)
+# propagationPriority=\u00d0\u009f\u00d1\u0080\u00d0\u00b8\u00d0\u00be\u00d1\u0080\u00d0\u00b8\u00d1\u0082\u00d0\u00b5\u00d1\u0082 \u00d0\u00b2\u00d1\u008b\u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d0\u00bd\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00b4\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d0\u00b9
+propagationPriority=\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439
+# randomPwdIfNotProvided=\u00d0\u00a1\u00d0\u00b3\u00d0\u00b5\u00d0\u00bd\u00d0\u00b5\u00d1\u0080\u00d0\u00b8\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d1\u0082\u00d1\u008c \u00d1\u0081\u00d0\u00bb\u00d1\u0083\u00d1\u0087\u00d0\u00b0\u00d0\u00b9\u00d0\u00bd\u00d1\u008b\u00d0\u00b9 \u00d0\u00bf\u00d0\u00b0\u00d1\u0080\u00d0\u00be\u00d0\u00bb\u00d1\u008c, \u00d0\u00b5\u00d1\u0081\u00d0\u00bb\u00d0\u00b8 \u00d0\u00be\u00d0\u00bd \u00d0\u00bd\u00d0\u00b5 \u00d0\u00b7\u00d0\u00b0\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd
+randomPwdIfNotProvided=\u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c, \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u0437\u0430\u0434\u0430\u043d
+# propagationActionsClassNames=\u00d0\u0092\u00d1\u008b\u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d0\u00bd\u00d1\u008f\u00d0\u00b5\u00d0\u00bc\u00d1\u008b\u00d0\u00b5 \u00d0\u00b4\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d1\u008f
+propagationActionsClassNames=\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f
+# createTraceLevel=\u00d0\u00a3\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b5\u00d0\u00bd\u00d1\u008c \u00d0\u00bb\u00d0\u00be\u00d0\u00b3\u00d0\u00b8\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00b4\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d0\u00b9 \u00d0\u00bf\u00d0\u00be \u00d0\u00a1\u00d0\u00be\u00d0\u00b7\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008e \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d0\u00b2
+createTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432
+# updateTraceLevel=\u00d0\u00a3\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b5\u00d0\u00bd\u00d1\u008c \u00d0\u00bb\u00d0\u00be\u00d0\u00b3\u00d0\u00b8\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00b4\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d0\u00b9 \u00d0\u00bf\u00d0\u00be \u00d0\u009e\u00d0\u00b1\u00d0\u00bd\u00d0\u00be\u00d0\u00b2\u00d0\u00bb\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008e \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d0\u00b2
+updateTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432
+# deleteTraceLevel=\u00d0\u00a3\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b5\u00d0\u00bd\u00d1\u008c \u00d0\u00bb\u00d0\u00be\u00d0\u00b3\u00d0\u00b8\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00b4\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d0\u00b9 \u00d0\u00bf\u00d0\u00be \u00d0\u00a3\u00d0\u00b4\u00d0\u00b0\u00d0\u00bb\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008e \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00be\u00d0\u00b2
+deleteTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432
+# pullTraceLevel=\u00d0\u00a3\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b5\u00d0\u00bd\u00d1\u008c \u00d0\u00bb\u00d0\u00be\u00d0\u00b3\u00d0\u00b8\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d1\u0083\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00bd\u00d1\u008b\u00d1\u0085
+pullTraceLevel=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html
new file mode 100644
index 0000000..2b717e2
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html
@@ -0,0 +1,86 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div class="table-responsive no-padding">
+ <table id="mappings"
+ class="table table-hover"
+ style="font-size: 1em;margin-top:2px;"
+ wicket:id="mappingContainer">
+ <tbody>
+ <tr>
+ <th><wicket:message key="entity"/></th>
+ <th><wicket:message key="intMappingTypes"/></th>
+ <th><wicket:message key="intAttrNames"/></th>
+ <th><wicket:message key="extAttrNames"/></th>
+ <th>
+ <wicket:message key="mandatoryCondition"/>
+ <span id="popover" wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign"></span>
+ </th>
+ <th><wicket:message key="connObjectKey"/></th>
+ <th><label wicket:id="passwordLabel"/></th>
+ <th><wicket:message key="purpose"/></th>
+ <th><i class="fa fa-trash"></i></th>
+ </tr>
+ <tr wicket:id="mappings">
+ <td>
+ <span wicket:id="entities">[entities]</span>
+ </td>
+ <td>
+ <span wicket:id="intMappingTypes">[intMappingTypes]</span>
+ </td>
+ <td>
+ <span wicket:id="intAttrNames">[intAttrNames]</span>
+ </td>
+ <td>
+ <span wicket:id="extAttrName">[extAttrName]</span>
+ </td>
+ <td>
+ <span wicket:id="mandatoryCondition">[mandatoryCondition]</span>
+ </td>
+ <td>
+ <span wicket:id="connObjectKey">[connObjectKey]</span>
+ </td>
+ <td>
+ <span wicket:id="password">[password]</span>
+ </td>
+ <td>
+ <div wicket:id="purpose" style="margin: 10px 0px 10px 0px">
+ <span wicket:id="purposeActions">[purpose]</span>
+ </div>
+ </td>
+ <td>
+ <div style="margin: 10px 0px 10px 0px">
+ <span wicket:id="toRemove"/>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+
+ <tfoot>
+ <tr>
+ <td colspan="9" style="padding: 5px; text-align: right">
+ <input type="submit" class="btn btn-primary" wicket:id="addMappingBtn" />
+ </td>
+ </tr>
+ </tfoot>
+ </table>
+ </div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.html
new file mode 100644
index 0000000..ef243a8
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.html
@@ -0,0 +1,23 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <span wicket:id="provision">[PROVISION]</span>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties
new file mode 100644
index 0000000..b930016
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties
@@ -0,0 +1,41 @@
+# 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.
+anyType=Object Type
+objectClass= Object Class
+__ACCOUNT__=ACCOUNT
+__GROUP__=GROUP
+auxClasses=Auxiliary Classes
+
+extAttrNames=External attributes
+intMappingTypes=Internal mapping types
+entity=Entity
+groupSchema=Role Schema
+connObjectKey=Remote Key
+mandatoryCondition=Mandatory
+password=Password
+purpose=Purpose
+mappingUserSchema=Mapping User Schema
+mappingGroupSchema=Mapping Role Schema
+delete=Delete
+intAttrNames=Internal attributes
+enforceMandatoryCondition=Enforce mandatory condition
+fieldName=Field name
+
+connObjectKeyValidation=There must be exactly one AccountId
+propagationMode=Propagation mode
+connObjectLink=Remote ID
+enable=Enable
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties
new file mode 100644
index 0000000..ce5395f
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties
@@ -0,0 +1,41 @@
+# 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.
+anyType=Oggetto
+objectClass=Classe
+__ACCOUNT__=ACCOUNT
+__GROUP__=GROUP
+auxClasses=Classi Ausiliarie
+
+extAttrNames=Attributi esterni
+intMappingTypes=Tipo mapping interno
+entity=Entità
+groupSchema=Schema Ruolo
+connObjectKey=Chiave remota
+mandatoryCondition=Obbligatorio
+password=Password
+purpose=Scopo
+mappingUserSchema=Mapping User Schema
+mappingGroupSchema=Mapping Role Schema
+delete=Rimuovi
+intAttrNames=Attributi interni
+enforceMandatoryCondition=Abilita mandatory condition
+fieldName=Nome campo
+
+connObjectKeyValidation=Deve essere definito esattamente un AccountId
+propagationMode=Modalit\u00e0 di propagazione
+connObjectLink=ID Remoto
+enable=Abilita
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties
new file mode 100644
index 0000000..91558a5
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties
@@ -0,0 +1,41 @@
+# 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.
+anyType=Objeto
+objectClass=Classe
+__ACCOUNT__=ACCOUNT
+__GROUP__=GROUP
+auxClasses=Classes Auxiliares
+
+extAttrNames=Atributos Externos
+intMappingTypes=Tipos internos de mapeamentos
+entity=Entidade
+groupSchema=Esquema de Fun\u00e7\u00e3o
+connObjectKey=Remote Key
+mandatoryCondition=Obrigat\u00f3rio
+password=Senha
+purpose=Prop\u00f3sito
+mappingUserSchema=Esquema de mapeamento de usu\u00e1rio
+mappingGroupSchema=Esquema de mapeamento de fun\u00e7\u00e3o
+delete=Excluir
+intAttrNames=Atributos internos
+enforceMandatoryCondition=Aplicar condi\u00e7\u00e3o obrigat\u00f3ria
+fieldName=Nome do Campo
+
+connObjectKeyValidation=Precisa ser exatamente um Identificador de Conta
+propagationMode=Modo de propaga\u00e7\u00e3o
+connObjectLink=Remote ID
+enable=Habilitado
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties
new file mode 100644
index 0000000..80dd08f
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties
@@ -0,0 +1,65 @@
+# 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.
+
+# anyType=\u00d0\u00a2\u00d0\u00b8\u00d0\u00bf \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00b0
+anyType=\u0422\u0438\u043f \u043e\u0431\u044a\u0435\u043a\u0442\u0430
+# objectClass=\u00d0\u009a\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d1\u0081 \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082\u00d0\u00b0
+objectClass=\u041a\u043b\u0430\u0441\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430
+# __ACCOUNT__=\u00d0\u00a3\u00d0\u00a7\u00d0\u0095\u00d0\u00a2\u00d0\u009d\u00d0\u0090\u00d0\u00af \u00d0\u0097\u00d0\u0090\u00d0\u009f\u00d0\u0098\u00d0\u00a1\u00d0\u00ac
+__ACCOUNT__=\u0423\u0427\u0415\u0422\u041d\u0410\u042f \u0417\u0410\u041f\u0418\u0421\u042c
+# __GROUP__=\u00d0\u0093\u00d0\u00a0\u00d0\u00a3\u00d0\u009f\u00d0\u009f\u00d0\u0090
+__GROUP__=\u0413\u0420\u0423\u041f\u041f\u0410
+# auxClasses=\u00d0\u0092\u00d1\u0081\u00d0\u00bf\u00d0\u00be\u00d0\u00bc\u00d0\u00be\u00d0\u00b3\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d1\u008b\u00d0\u00b5 \u00d0\u00ba\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d1\u0081\u00d1\u008b
+auxClasses=\u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b
+
+# extAttrNames=\u00d0\u0092\u00d0\u00bd\u00d0\u00b5\u00d1\u0088\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082\u00d1\u008b
+extAttrNames=\u0412\u043d\u0435\u0448\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b
+# intMappingTypes=\u00d0\u00a2\u00d0\u00b8\u00d0\u00bf \u00d0\u00b2\u00d0\u00bd\u00d1\u0083\u00d1\u0082\u00d1\u0080\u00d0\u00b5\u00d0\u00bd\u00d0\u00bd\u00d0\u00b5\u00d0\u00b3\u00d0\u00be \u00d0\u00bc\u00d0\u00b0\u00d0\u00bf\u00d0\u00bf\u00d0\u00b8\u00d0\u00bd\u00d0\u00b3\u00d0\u00b0
+intMappingTypes=\u0422\u0438\u043f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430
+# entity=\u00d0\u009e\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082
+entity=\u041e\u0431\u044a\u0435\u043a\u0442
+# groupSchema=\u00d0\u0090\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082 \u00d0\u00b3\u00d1\u0080\u00d1\u0083\u00d0\u00bf\u00d0\u00bf\u00d1\u008b
+groupSchema=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u0433\u0440\u0443\u043f\u043f\u044b
+# connObjectKey=\u00d0\u009a\u00d0\u00bb\u00d1\u008e\u00d1\u0087\u00d0\u00b5\u00d0\u00b2\u00d0\u00be\u00d0\u00b9 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082 \u00d1\u0080\u00d0\u00b5\u00d1\u0081\u00d1\u0083\u00d1\u0080\u00d1\u0081\u00d0\u00b0
+connObjectKey=\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u0430
+# 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
+# password=\u00d0\u009f\u00d0\u00b0\u00d1\u0080\u00d0\u00be\u00d0\u00bb\u00d1\u008c
+password=\u041f\u0430\u0440\u043e\u043b\u044c
+# purpose=\u00d0\u009d\u00d0\u00b0\u00d0\u00b7\u00d0\u00bd\u00d0\u00b0\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+purpose=\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435
+# mappingUserSchema=\u00d0\u009c\u00d0\u00b0\u00d0\u00bf\u00d0\u00bf\u00d0\u00b8\u00d0\u00bd\u00d0\u00b3 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082\u00d0\u00be\u00d0\u00b2 \u00d1\u0083\u00d1\u0087\u00d0\u00b5\u00d1\u0082\u00d0\u00bd\u00d0\u00be\u00d0\u00b9 \u00d0\u00b7\u00d0\u00b0\u00d0\u00bf\u00d0\u00b8\u00d1\u0081\u00d0\u00b8
+mappingUserSchema=\u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438
+# mappingGroupSchema=\u00d0\u009c\u00d0\u00b0\u00d0\u00bf\u00d0\u00bf\u00d0\u00b8\u00d0\u00bd\u00d0\u00b3 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082\u00d0\u00be\u00d0\u00b2 \u00d0\u00b3\u00d1\u0080\u00d1\u0083\u00d0\u00bf\u00d0\u00bf\u00d1\u008b
+mappingGroupSchema=\u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u0433\u0440\u0443\u043f\u043f\u044b
+# delete=\u00d0\u00a3\u00d0\u00b4\u00d0\u00b0\u00d0\u00bb\u00d0\u00b8\u00d1\u0082\u00d1\u008c
+delete=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
+# intAttrNames=\u00d0\u0092\u00d0\u00bd\u00d1\u0083\u00d1\u0082\u00d1\u0080\u00d0\u00b5\u00d0\u00bd\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082\u00d1\u008b
+intAttrNames=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b
+# enforceMandatoryCondition=\u00d0\u009e\u00d0\u00b1\u00d1\u008f\u00d0\u00b7\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d1\u008b\u00d0\u00b9 (\u00d0\u00bf\u00d1\u0080\u00d0\u00b8\u00d0\u00bd\u00d1\u0083\u00d0\u00b4\u00d0\u00b8\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d0\u00be)
+enforceMandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 (\u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e)
+# fieldName=\u00d0\u009d\u00d0\u00b0\u00d0\u00b7\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5 \u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d1\u008f
+fieldName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044f
+
+# connObjectKeyValidation=\u00d0\u009a\u00d0\u00bb\u00d1\u008e\u00d1\u0087\u00d0\u00b5\u00d0\u00b2\u00d0\u00be\u00d0\u00b9 \u00d0\u00be\u00d0\u00b1\u00d1\u008a\u00d0\u00b5\u00d0\u00ba\u00d1\u0082 \u00d0\u00bc\u00d0\u00be\u00d0\u00b6\u00d0\u00b5\u00d1\u0082 \u00d0\u00b1\u00d1\u008b\u00d1\u0082\u00d1\u008c \u00d1\u0082\u00d0\u00be\u00d0\u00bb\u00d1\u008c\u00d0\u00ba\u00d0\u00be \u00d0\u00be\u00d0\u00b4\u00d0\u00b8\u00d0\u00bd
+connObjectKeyValidation=\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d
+# propagationMode=\u00d0\u00a0\u00d0\u00b5\u00d0\u00b6\u00d0\u00b8\u00d0\u00bc \u00d0\u00b2\u00d1\u008b\u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d0\u00bd\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00b4\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d0\u00b9
+propagationMode=\u0420\u0435\u0436\u0438\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439
+# connObjectLink=\u00d0\u009a\u00d1\u0080\u00d0\u00b8\u00d1\u0082\u00d0\u00b5\u00d1\u0080\u00d0\u00b8\u00d0\u00b9 \u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00bf\u00d0\u00b0\u00d0\u00b4\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
+connObjectLink=\u041a\u0440\u0438\u0442\u0435\u0440\u0438\u0439 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f
+# enable=\u00d0\u0092\u00d0\u00ba\u00d0\u00bb\u00d1\u008e\u00d1\u0087\u00d0\u00b8\u00d1\u0082\u00d1\u008c
+enable=\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.html
new file mode 100644
index 0000000..5177e26
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.html
@@ -0,0 +1,33 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="container" class="summarize">
+ <span wicket:id="accountPolicy">
+ [panel for dynamic input type markup]
+ </span>
+ <span wicket:id="passwordPolicy">
+ [panel for dynamic input type markup]
+ </span>
+ <span wicket:id="pullPolicy">
+ [panel for dynamic input type markup]
+ </span>
+ </div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.properties
new file mode 100644
index 0000000..0d2d9c4
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel.properties
@@ -0,0 +1,19 @@
+# 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.
+passwordPolicy=Password Policy
+accountPolicy=Account Policy
+pullPolicy=Pull Policy
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_it.properties
new file mode 100644
index 0000000..0d2d9c4
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_it.properties
@@ -0,0 +1,19 @@
+# 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.
+passwordPolicy=Password Policy
+accountPolicy=Account Policy
+pullPolicy=Pull Policy
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_pt_BR.properties
new file mode 100644
index 0000000..48e925f
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_pt_BR.properties
@@ -0,0 +1,19 @@
+# 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.
+passwordPolicy=Pol\u00edtica de Senha
+accountPolicy=Pol\u00edtica de Conta
+pullPolicy=Pol\u00edtica de Pull
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_ru.properties
new file mode 100644
index 0000000..1f96562
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceSecurityPanel_ru.properties
@@ -0,0 +1,23 @@
+# 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.
+
+# passwordPolicy = \u00d0\u009f\u00d0\u00be\u00d0\u00bb\u00d0\u00b8\u00d1\u0082\u00d0\u00b8\u00d0\u00ba\u00d0\u00b0 \u00d0\u00bf\u00d0\u00b0\u00d1\u0080\u00d0\u00be\u00d0\u00bb\u00d0\u00b5\u00d0\u00b9
+passwordPolicy = \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u0430\u0440\u043e\u043b\u0435\u0439
+# accountPolicy = \u00d0\u009f\u00d0\u00be\u00d0\u00bb\u00d0\u00b8\u00d1\u0082\u00d0\u00b8\u00d0\u00ba\u00d0\u00b0 \u00d1\u0083\u00d1\u0087\u00d0\u00b5\u00d1\u0082\u00d0\u00bd\u00d1\u008b\u00d1\u0085 \u00d0\u00b7\u00d0\u00b0\u00d0\u00bf\u00d0\u00b8\u00d1\u0081\u00d0\u00b5\u00d0\u00b9
+accountPolicy = \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0443\u0447\u0435\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439
+# pullPolicy=\u00d0\u009f\u00d0\u00be\u00d0\u00bb\u00d0\u00b8\u00d1\u0082\u00d0\u00b8\u00d0\u00ba\u00d0\u00b0 \u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d1\u0083\u00d1\u0087\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d1\u008f \u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00bd\u00d1\u008b\u00d1\u0085
+pullPolicy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445
http://git-wip-us.apache.org/repos/asf/syncope/blob/1735c44c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
index 0e228db..e2e7d50 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
@@ -24,13 +24,13 @@ import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.
import org.apache.wicket.util.tester.FormTester;
import org.junit.Before;
-public abstract class AbstractTypesITCase extends AbstractConsoleITCase{
+public abstract class AbstractTypesITCase extends AbstractConsoleITCase {
protected static final String PLAIN_DATATABLE_PATH = "body:content:tabbedPanel:panel:"
+ "accordionPanel:tabs:0:body:content:container:content:searchContainer:resultTable";
- protected static final String DATATABLE_PATH =
- "body:content:tabbedPanel:panel:container:content:searchContainer:resultTable";
+ protected static final String DATATABLE_PATH
+ = "body:content:tabbedPanel:panel:container:content:searchContainer:resultTable";
@Before
public void login() {
@@ -79,15 +79,16 @@ public abstract class AbstractTypesITCase extends AbstractConsoleITCase{
"body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:modal", Modal.class);
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
+ Modal.class);
final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:modal:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", key);
formTester.setValue("content:details:form:type:dropDownChoiceField", "3");
wicketTester.clickLink("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:modal:dialog:footer:inputs:0:submit");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
@@ -98,13 +99,14 @@ public abstract class AbstractTypesITCase extends AbstractConsoleITCase{
browsingToAnyTypeClasses();
wicketTester.clickLink("body:content:tabbedPanel:panel:container:content:add");
- wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", Modal.class);
- final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ final FormTester formTester = wicketTester.newFormTester(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:anyTypeClassDetailsPanel:form:key:textField", name);
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.clearFeedbackMessages();
@@ -114,13 +116,14 @@ public abstract class AbstractTypesITCase extends AbstractConsoleITCase{
browsingToAnyTypes();
wicketTester.clickLink("body:content:tabbedPanel:panel:container:content:add");
- wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", Modal.class);
- final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ final FormTester formTester = wicketTester.newFormTester(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:anyTypeDetailsPanel:container:form:key:textField", name);
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.clearFeedbackMessages();
@@ -131,15 +134,16 @@ public abstract class AbstractTypesITCase extends AbstractConsoleITCase{
wicketTester.clickLink("body:content:tabbedPanel:panel:container:content:add");
- wicketTester.assertComponent(
- "body:content:tabbedPanel:panel:modal", Modal.class);
+ wicketTester.assertComponent("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", Modal.class);
- final FormTester formTester = wicketTester.newFormTester("body:content:tabbedPanel:panel:modal:form");
+ final FormTester formTester = wicketTester.newFormTester(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:relationshipTypeDetails:container:form:key:textField", name);
formTester.setValue(
"content:relationshipTypeDetails:container:form:description:textField", "test relationshipType");
- wicketTester.clickLink("body:content:tabbedPanel:panel:modal:dialog:footer:inputs:0:submit");
+ wicketTester.clickLink(
+ "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
wicketTester.assertInfoMessages("Operation executed successfully");
wicketTester.clearFeedbackMessages();