http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.properties
index 680d073..d3e5cde 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel.properties
@@ -17,3 +17,4 @@
 reportlet=Reportlet
 profile=Profile
 configuration=Configuration
+noConf=No configuration available

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_it.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_it.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_it.properties
index 7a16c3b..96bcb85 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_it.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_it.properties
@@ -17,3 +17,4 @@
 reportlet=Reportlet
 profile=Profilo
 configuration=Configurazione
+noConf=Nessuna configurazione

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_pt_BR.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_pt_BR.properties
index 680d073..234178a 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_pt_BR.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_pt_BR.properties
@@ -17,3 +17,4 @@
 reportlet=Reportlet
 profile=Profile
 configuration=Configuration
+noConf=Nenhuma configura\u00e7\u00e3o dispon\u00edvel

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_ru.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_ru.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_ru.properties
index 15ea904..f075681 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_ru.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletDirectoryPanel_ru.properties
@@ -17,3 +17,4 @@
 reportlet=\u041f\u0430\u043d\u0435\u043b\u044c 
\u043e\u0442\u0447\u0435\u0442\u0430
 profile=\u041f\u0440\u043e\u0444\u0438\u043b\u044c
 
configuration=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f
+noConf=No configuration available

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.html
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.html
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.html
index 20ec555..39e019b 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.html
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.html
@@ -18,7 +18,6 @@ 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="name">[name]</span></div>
-    <div class="form-group"><span 
wicket:id="configuration">[configuration]</span></div>
+    <div class="form-group"><span 
wicket:id="reportlet">[reportlet]</span></div>
   </wicket:panel>
 </html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.properties
index 4b158cd..43ef1b7 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile.properties
@@ -14,5 +14,5 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-name=Name
+reportlet=Reportlet
 configuration=Configuration

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_it.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_it.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_it.properties
index 98cdbf1..da2ac02 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_it.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_it.properties
@@ -14,5 +14,5 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-name=Name
+reportlet=Reportlet
 configuration=Configurazione

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_pt_BR.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_pt_BR.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_pt_BR.properties
index 4b158cd..43ef1b7 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_pt_BR.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_pt_BR.properties
@@ -14,5 +14,5 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-name=Name
+reportlet=Reportlet
 configuration=Configuration

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_ru.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_ru.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_ru.properties
index 1b11ea8..0154973 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_ru.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/reports/ReportletWizardBuilder$Profile_ru.properties
@@ -15,5 +15,5 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-name=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435
+reportlet=Reportlet
 
configuration=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.properties
index 1226b8c..a14b3f6 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.properties
@@ -17,7 +17,7 @@
 name=Name
 description=Description
 destinationRealm=Destination Realm
-jobDelegateClassName=Job Delegate
+jobDelegate=Job Delegate
 lastExec=Last execution
 nextExec=Next execution
 active=Active
@@ -27,6 +27,6 @@ any.new=New task
 any.finish=Submit ${name}
 any.cancel=Cancel ${name}
 pullMode=Pull Mode
-reconciliationFilterBuilderClassName=Reconciliation Filter Builder
-actionsClassNames=Actions
+reconFilterBuilder=Reconciliation Filter Builder
+actions=Actions
 sourceRealm=Source Realm

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_it.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_it.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_it.properties
index 5341c88..960b17a 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_it.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_it.properties
@@ -17,7 +17,7 @@
 name=Nome
 description=Descrizione
 destinationRealm=Realm di destinazione
-jobDelegateClassName=JobJob Delegate
+jobDelegate=JobJob Delegate
 lastExec=Ultima esecuszione
 nextExec=Prossima esecuzione
 active=Attivo
@@ -27,6 +27,6 @@ any.new=Nuovo Task
 any.finish=Invia ${name}
 any.cancel=Annulla ${name}
 pullMode=Pull Mode
-reconciliationFilterBuilderClassName=Reconciliation Filter Builder
-actionsClassNames=Actions
+reconFilterBuilder=Reconciliation Filter Builder
+actions=Actions
 sourceRealm=Realm sorgente

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_pt_BR.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_pt_BR.properties
index 1226b8c..a14b3f6 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_pt_BR.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_pt_BR.properties
@@ -17,7 +17,7 @@
 name=Name
 description=Description
 destinationRealm=Destination Realm
-jobDelegateClassName=Job Delegate
+jobDelegate=Job Delegate
 lastExec=Last execution
 nextExec=Next execution
 active=Active
@@ -27,6 +27,6 @@ any.new=New task
 any.finish=Submit ${name}
 any.cancel=Cancel ${name}
 pullMode=Pull Mode
-reconciliationFilterBuilderClassName=Reconciliation Filter Builder
-actionsClassNames=Actions
+reconFilterBuilder=Reconciliation Filter Builder
+actions=Actions
 sourceRealm=Source Realm

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_ru.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_ru.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_ru.properties
index 103731f..9339ef7 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_ru.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel_ru.properties
@@ -20,8 +20,7 @@ name=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435
 description=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
 # 
destinationRealm=\u00d0\u009e\u00d0\u00b1\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d1\u0082\u00d1\u008c
 
\u00d0\u00b4\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d1\u008f
 destinationRealm=\u041e\u0431\u043b\u0430\u0441\u0442\u044c 
\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f
-# 
jobDelegateClassName=\u00d0\u009d\u00d0\u00b0\u00d0\u00b7\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
 \u00d0\u00ba\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d1\u0081\u00d0\u00b0
-jobDelegateClassName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 
\u043a\u043b\u0430\u0441\u0441\u0430
+jobDelegate=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 
\u043a\u043b\u0430\u0441\u0441\u0430
 # 
lastExec=\u00d0\u009f\u00d1\u0080\u00d0\u00b5\u00d0\u00b4\u00d1\u008b\u00d0\u00b4\u00d1\u0083\u00d1\u0089\u00d0\u00b8\u00d0\u00b9
 \u00d0\u00b7\u00d0\u00b0\u00d0\u00bf\u00d1\u0083\u00d1\u0081\u00d0\u00ba
 lastExec=\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 
\u0437\u0430\u043f\u0443\u0441\u043a
 # 
nextExec=\u00d0\u00a1\u00d0\u00bb\u00d0\u00b5\u00d0\u00b4\u00d1\u0083\u00d1\u008e\u00d1\u0089\u00d0\u00b8\u00d0\u00b9
 \u00d0\u00b7\u00d0\u00b0\u00d0\u00bf\u00d1\u0083\u00d1\u0081\u00d0\u00ba
@@ -39,8 +38,6 @@ 
any.finish=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c ${name}
 any.cancel=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c ${name}
 # pullMode=\u00d0\u00a0\u00d0\u00b5\u00d0\u00b6\u00d0\u00b8\u00d0\u00bc 
\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
 pullMode=\u0420\u0435\u0436\u0438\u043c 
\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f 
\u0434\u0430\u043d\u043d\u044b\u0445
-# 
reconciliationFilterBuilderClassName=\u00d0\u00a4\u00d0\u00b8\u00d0\u00bb\u00d1\u008c\u00d1\u0082\u00d1\u0080
 
\u00d1\u0080\u00d0\u00b5\u00d0\u00ba\u00d0\u00be\u00d0\u00bd\u00d1\u0081\u00d0\u00b8\u00d0\u00bb\u00d0\u00b8\u00d0\u00b0\u00d1\u0086\u00d0\u00b8\u00d0\u00b8
-reconciliationFilterBuilderClassName=\u0424\u0438\u043b\u044c\u0442\u0440 
\u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u0438\u0430\u0446\u0438\u0438
-# 
actionsClassNames=\u00d0\u0094\u00d0\u00b5\u00d0\u00b9\u00d1\u0081\u00d1\u0082\u00d0\u00b2\u00d0\u00b8\u00d1\u008f
-actionsClassNames=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f
+reconFilterBuilder=\u0424\u0438\u043b\u044c\u0442\u0440 
\u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u0438\u0430\u0446\u0438\u0438
+actions=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f
 sourceRealm=Source Realm

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
index 17b1e42..d45da13 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
@@ -22,12 +22,12 @@ under the License.
     <div class="form-group"><span wicket:id="description">[anyKey]</span></div>
     <div class="form-group"><span wicket:id="active">[active]</span></div>
 
-    <div class="form-group"><span 
wicket:id="jobDelegateClassName">[jobDelegateClassName]</span></div>
+    <div class="form-group"><span 
wicket:id="jobDelegate">[jobDelegate]</span></div>
 
     <span wicket:id="pullTaskSpecifics">
       <div class="form-group"><span 
wicket:id="destinationRealm">[destinationRealm]</span></div>
       <div class="form-group"><span 
wicket:id="pullMode">[pullMode]</span></div>
-      <div class="form-group"><span 
wicket:id="reconciliationFilterBuilderClassName">[filter]</span></div>
+      <div class="form-group"><span 
wicket:id="reconFilterBuilder">[filter]</span></div>
     </span>      
 
     <span wicket:id="pushTaskSpecifics">
@@ -36,7 +36,7 @@ under the License.
 
     <span wicket:id="provisioningTaskSpecifics">
       <div class="form-group form-palette">
-        <span wicket:id="actionsClassNames">[actionsClassNames]</span>
+        <span wicket:id="actions">[actions]</span>
       </div>
       <div class="form-group"><span 
wicket:id="matchingRule">[matchingRule]</span></div>
       <div class="form-group"><span 
wicket:id="unmatchingRule">[unmatchingRule]</span></div>

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.properties
index 7e24bc9..8200501 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.properties
@@ -16,7 +16,7 @@
 # under the License.
 name=Name
 description=Description
-jobDelegateClassName=Class
+jobDelegate=Class
 matchingRule=Matching rule
 unmatchingRule=Unmatching rule
 performCreate=Allow create

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_it.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_it.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_it.properties
index 6a20e66..5cddafd 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_it.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_it.properties
@@ -16,7 +16,7 @@
 # under the License.
 name=Name
 description=Description
-jobDelegateClassName=Class
+jobDelegate=Class
 matchingRule=Regola di matching
 unmatchingRule=Regola di unmatching
 performCreate=Consenti creazione

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_pt_BR.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_pt_BR.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_pt_BR.properties
index 7e24bc9..8200501 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_pt_BR.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_pt_BR.properties
@@ -16,7 +16,7 @@
 # under the License.
 name=Name
 description=Description
-jobDelegateClassName=Class
+jobDelegate=Class
 matchingRule=Matching rule
 unmatchingRule=Unmatching rule
 performCreate=Allow create

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_ru.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_ru.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_ru.properties
index 6c7362a..3b79aad 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_ru.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile_ru.properties
@@ -17,7 +17,7 @@
 #
 name=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435
 description=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
-jobDelegateClassName=\u041a\u043b\u0430\u0441\u0441
+jobDelegate=\u041a\u043b\u0430\u0441\u0441
 matchingRule=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 
\u043f\u0440\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0438
 unmatchingRule=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 
\u043f\u0440\u0438 
\u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0438
 performCreate=\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c 
\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ObjectTypeTogglePanel_it.properties
----------------------------------------------------------------------
diff --git 
a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ObjectTypeTogglePanel_it.properties
 
b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ObjectTypeTogglePanel_it.properties
index 263c9f1..a3d250b 100644
--- 
a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ObjectTypeTogglePanel_it.properties
+++ 
b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ObjectTypeTogglePanel_it.properties
@@ -18,5 +18,5 @@
 type.title=Specifica il tipo del provisioning
 type.summary=
 
-type=Type
-type.Required=Type \u00e8 richiesto
+type=Tipo
+type.Required=Tipo \u00e8 richiesto

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/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
index 2aa2522..c730e84 100644
--- 
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
@@ -40,7 +40,7 @@ under the License.
       </div>
 
       <div class="form-group form-palette">
-        <span 
wicket:id="propagationActionsClassNames">[propagationActionsClassNames]</span>
+        <span wicket:id="propagationActions">[propagationActions]</span>
       </div>
 
       <div class="form-group">

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/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
index 663879d..5e588e5 100644
--- 
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
@@ -19,7 +19,7 @@ connector=Connector
 enforceMandatoryCondition=Enforce mandatory condition
 propagationPriority=Propagation priority
 randomPwdIfNotProvided=Generate random passwords when missing
-propagationActionsClassNames=Propagation Actions
+propagationActions=Propagation Actions
 createTraceLevel=Propagation: create trace level
 updateTraceLevel=Propagation: update trace level
 deleteTraceLevel=Propagation: delete trace level

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/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
index acfbcd7..33422f1 100644
--- 
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
@@ -19,7 +19,7 @@ connector=Connettore
 enforceMandatoryCondition=Abilita mandatory condition
 propagationPriority=Priorit\u00e0 in propagazione
 randomPwdIfNotProvided=Genera password casuali se mancanti
-propagationActionsClassNames=Azioni di Propagazione
+propagationActions=Azioni di Propagazione
 createTraceLevel=Propagazione: tracciamento creazione
 updateTraceLevel=Propagazione: tracciamento aggiornamento
 deleteTraceLevel=Propagazione: tracciamento rimozione

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/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
index ab910a4..d2c7119 100644
--- 
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
@@ -19,7 +19,7 @@ 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
+propagationActions=A\u00e7\u00f5es de Propaga\u00e7\u00e3o
 createTraceLevel=Propagation: create trace level
 updateTraceLevel=Propagation: update trace level
 deleteTraceLevel=Propagation: delete trace level

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/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
index 79379af..2340913 100644
--- 
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
@@ -20,7 +20,7 @@ 
connector=\u041a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440
 
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=\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=\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=\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435
 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f
+propagationActions=\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435
 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f
 createTraceLevel=\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 
\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: 
\u0443\u0440\u043e\u0432\u0435\u043d\u044c 
\u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f 
\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e 
\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e
 updateTraceLevel=\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 
\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: 
\u0443\u0440\u043e\u0432\u0435\u043d\u044c 
\u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f 
\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e 
\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e
 deleteTraceLevel=\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 
\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: 
\u0443\u0440\u043e\u0432\u0435\u043d\u044c 
\u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f 
\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e 
\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044e

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
index ce67f46..8b3403b 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/report/ReconciliationReportletConf.java
@@ -21,7 +21,6 @@ package org.apache.syncope.common.lib.report;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlEnum;

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/common/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java
index 4568e36..fc17702 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/PlainSchemaTO.java
@@ -43,7 +43,7 @@ public class PlainSchemaTO extends AbstractSchemaTO {
 
     private String conversionPattern;
 
-    private String validatorClass;
+    private String validator;
 
     private String enumerationValues;
 
@@ -105,12 +105,12 @@ public class PlainSchemaTO extends AbstractSchemaTO {
         this.type = type;
     }
 
-    public String getValidatorClass() {
-        return validatorClass;
+    public String getValidator() {
+        return validator;
     }
 
-    public void setValidatorClass(final String validatorClass) {
-        this.validatorClass = validatorClass;
+    public void setValidator(final String validator) {
+        this.validator = validator;
     }
 
     public String getEnumerationValues() {

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/core/logic/src/main/java/org/apache/syncope/core/logic/ImplementationLogic.java
----------------------------------------------------------------------
diff --git 
a/core/logic/src/main/java/org/apache/syncope/core/logic/ImplementationLogic.java
 
b/core/logic/src/main/java/org/apache/syncope/core/logic/ImplementationLogic.java
index 5dca6f5..fadaa15 100644
--- 
a/core/logic/src/main/java/org/apache/syncope/core/logic/ImplementationLogic.java
+++ 
b/core/logic/src/main/java/org/apache/syncope/core/logic/ImplementationLogic.java
@@ -23,9 +23,12 @@ import java.util.List;
 import java.util.stream.Collectors;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.ImplementationTO;
+import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.ImplementationType;
 import org.apache.syncope.common.lib.types.StandardEntitlement;
+import org.apache.syncope.core.persistence.api.dao.DuplicateException;
 import org.apache.syncope.core.persistence.api.dao.ImplementationDAO;
 import org.apache.syncope.core.persistence.api.dao.NotFoundException;
 import org.apache.syncope.core.persistence.api.entity.Implementation;
@@ -63,6 +66,17 @@ public class ImplementationLogic extends 
AbstractTransactionalLogic<Implementati
 
     @PreAuthorize("hasRole('" + StandardEntitlement.IMPLEMENTATION_CREATE + 
"')")
     public ImplementationTO create(final ImplementationTO implementationTO) {
+        if (StringUtils.isBlank(implementationTO.getKey())) {
+            SyncopeClientException sce = 
SyncopeClientException.build(ClientExceptionType.RequiredValuesMissing);
+            sce.getElements().add("Implementation key");
+            throw sce;
+        }
+
+        Implementation implementation = 
implementationDAO.find(implementationTO.getKey());
+        if (implementation != null) {
+            throw new DuplicateException(implementationTO.getKey());
+        }
+
         return 
binder.getImplementationTO(implementationDAO.save(binder.create(implementationTO)));
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java
----------------------------------------------------------------------
diff --git 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java
 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java
index 9327266..4f7cbd9 100644
--- 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java
+++ 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/AccountRule.java
@@ -26,7 +26,8 @@ import 
org.apache.syncope.core.persistence.api.entity.user.User;
  */
 public interface AccountRule {
 
-    void setConf(AccountRuleConf conf);
+    default void setConf(AccountRuleConf conf) {
+    }
 
     void enforce(User user);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PasswordRule.java
----------------------------------------------------------------------
diff --git 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PasswordRule.java
 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PasswordRule.java
index 8ac914a..3b23d6e 100644
--- 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PasswordRule.java
+++ 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PasswordRule.java
@@ -26,9 +26,12 @@ import 
org.apache.syncope.core.persistence.api.entity.user.User;
  */
 public interface PasswordRule {
 
-    PasswordRuleConf getConf();
+    default PasswordRuleConf getConf() {
+        return null;
+    }
 
-    void setConf(PasswordRuleConf conf);
+    default void setConf(PasswordRuleConf conf) {
+    }
 
     void enforce(User user);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/Reportlet.java
----------------------------------------------------------------------
diff --git 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/Reportlet.java
 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/Reportlet.java
index 5366403..ab05f4a 100644
--- 
a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/Reportlet.java
+++ 
b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/Reportlet.java
@@ -34,7 +34,8 @@ public interface Reportlet {
      *
      * @param conf configuration
      */
-    void setConf(ReportletConf conf);
+    default void setConf(ReportletConf conf) {
+    }
 
     /**
      * Actual data extraction for reporting.

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml 
b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
index cde22ef..72a7a44 100644
--- a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
@@ -196,9 +196,9 @@ under the License.
   <AccountPolicyRule policy_id="06e2ed52-6966-44aa-a177-a0ca7434201f" 
implementation_id="DefaultAccountRuleConf2"/>
   <PullPolicy id="4ad10d94-e002-4b3f-b771-16089cc71da9" description="pull 
policy 1" specification='{"conflictResolutionAction":"IGNORE"}'/>
   <PasswordPolicy id="55e5de0b-c79c-4e66-adda-251b6fb8579a" 
description="sample password policy" historyLength="0" allowNullPassword="0"/> 
-  <Implementation id="DefaultAccountRuleConf3" type="PASSWORD_RULE" 
engine="JAVA"
+  <Implementation id="DefaultPasswordRuleConf3" type="PASSWORD_RULE" 
engine="JAVA"
                   
body='{"@class":"org.apache.syncope.common.lib.policy.DefaultPasswordRuleConf","maxLength":0,"minLength":10,"nonAlphanumericRequired":true,"alphanumericRequired":false,"digitRequired":true,"lowercaseRequired":true,"uppercaseRequired":true,"mustStartWithDigit":true,"mustntStartWithDigit":false,"mustEndWithDigit":true,"mustntEndWithDigit":false,"mustStartWithNonAlpha":false,"mustStartWithAlpha":false,"mustntStartWithNonAlpha":false,"mustntStartWithAlpha":false,"mustEndWithNonAlpha":false,"mustEndWithAlpha":false,"mustntEndWithNonAlpha":false,"mustntEndWithAlpha":false,"wordsNotPermitted":[],"schemasNotPermitted":[],"prefixesNotPermitted":["notpermitted1","notpermitted2"],"suffixesNotPermitted":[]}'/>
-  <PasswordPolicyRule policy_id="55e5de0b-c79c-4e66-adda-251b6fb8579a" 
implementation_id="DefaultAccountRuleConf3"/>
+  <PasswordPolicyRule policy_id="55e5de0b-c79c-4e66-adda-251b6fb8579a" 
implementation_id="DefaultPasswordRuleConf3"/>
   <PullPolicy id="9454b0d7-2610-400a-be82-fc23cf553dd6" description="pull 
policy for java rule"
               specification='{"conflictResolutionAction":"IGNORE"}'/>
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ImplementationDataBinderImpl.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ImplementationDataBinderImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ImplementationDataBinderImpl.java
index 2b98076..65aa6f6 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ImplementationDataBinderImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ImplementationDataBinderImpl.java
@@ -19,6 +19,7 @@
 package org.apache.syncope.core.provisioning.java.data;
 
 import java.lang.reflect.Modifier;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.policy.RuleConf;
 import org.apache.syncope.common.lib.report.ReportletConf;
@@ -66,15 +67,20 @@ public class ImplementationDataBinderImpl implements 
ImplementationDataBinder {
 
     @Override
     public void update(final Implementation implementation, final 
ImplementationTO implementationTO) {
-        BeanUtils.copyProperties(implementationTO, implementation);
-
         SyncopeClientException sce = 
SyncopeClientException.build(ClientExceptionType.InvalidImplementation);
 
-        if (implementation.getBody() == null) {
+        if (implementation.getType() != null && implementation.getType() != 
implementationTO.getType()) {
+            sce.getElements().add("ImplementationType cannot be changed");
+            throw sce;
+        }
+
+        if (StringUtils.isBlank(implementationTO.getBody())) {
             sce.getElements().add("No actual implementation provided");
             throw sce;
         }
 
+        BeanUtils.copyProperties(implementationTO, implementation);
+
         if (implementation.getEngine() == ImplementationEngine.JAVA) {
             Class<?> base = null;
             switch (implementation.getType()) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
index dfa3a8e..0632e2c 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/SchemaDataBinderImpl.java
@@ -37,12 +37,14 @@ import 
org.apache.syncope.core.persistence.api.dao.AnyTypeClassDAO;
 import org.apache.syncope.core.persistence.api.dao.AnyTypeDAO;
 import org.apache.syncope.core.persistence.api.dao.DerSchemaDAO;
 import org.apache.syncope.core.persistence.api.dao.ExternalResourceDAO;
+import org.apache.syncope.core.persistence.api.dao.ImplementationDAO;
 import org.apache.syncope.core.persistence.api.dao.VirSchemaDAO;
 import org.apache.syncope.core.persistence.api.entity.AnyType;
 import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
 import org.apache.syncope.core.persistence.api.entity.AnyUtils;
 import org.apache.syncope.core.persistence.api.entity.AnyUtilsFactory;
 import org.apache.syncope.core.persistence.api.entity.EntityFactory;
+import org.apache.syncope.core.persistence.api.entity.Implementation;
 import 
org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
 import org.apache.syncope.core.persistence.api.entity.resource.Provision;
 import org.slf4j.Logger;
@@ -55,7 +57,7 @@ public class SchemaDataBinderImpl implements SchemaDataBinder 
{
 
     private static final Logger LOG = 
LoggerFactory.getLogger(SchemaDataBinder.class);
 
-    private static final String[] IGNORE_PROPERTIES = { "anyTypeClass", 
"provision", "resource" };
+    private static final String[] IGNORE_PROPERTIES = { "anyTypeClass", 
"provision", "resource", "validator" };
 
     @Autowired
     private AnyTypeClassDAO anyTypeClassDAO;
@@ -76,6 +78,9 @@ public class SchemaDataBinderImpl implements SchemaDataBinder 
{
     private AnyTypeDAO anyTypeDAO;
 
     @Autowired
+    private ImplementationDAO implementationDAO;
+
+    @Autowired
     private EntityFactory entityFactory;
 
     @Autowired
@@ -91,6 +96,18 @@ public class SchemaDataBinderImpl implements 
SchemaDataBinder {
 
         BeanUtils.copyProperties(schemaTO, schema, IGNORE_PROPERTIES);
 
+        if (schemaTO.getValidator() == null) {
+            schema.setValidator(null);
+        } else {
+            Implementation validator = 
implementationDAO.find(schemaTO.getValidator());
+            if (validator == null) {
+                LOG.debug("Invalid " + Implementation.class.getSimpleName() + 
" {}, ignoring...",
+                        schemaTO.getValidator());
+            } else {
+                schema.setValidator(validator);
+            }
+        }
+
         PlainSchema merged = plainSchemaDAO.save(schema);
 
         if (schemaTO.getAnyTypeClass() != null
@@ -155,6 +172,9 @@ public class SchemaDataBinderImpl implements 
SchemaDataBinder {
         PlainSchemaTO schemaTO = new PlainSchemaTO();
         BeanUtils.copyProperties(schema, schemaTO, IGNORE_PROPERTIES);
         schemaTO.setAnyTypeClass(schema.getAnyTypeClass() == null ? null : 
schema.getAnyTypeClass().getKey());
+        if (schema.getValidator() != null) {
+            schemaTO.setValidator(schema.getValidator().getKey());
+        }
 
         return schemaTO;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/98890722/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPsDirectoryPanel.java
----------------------------------------------------------------------
diff --git 
a/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPsDirectoryPanel.java
 
b/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPsDirectoryPanel.java
index dd2fb52..f46a5f8 100644
--- 
a/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPsDirectoryPanel.java
+++ 
b/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/panels/SAML2IdPsDirectoryPanel.java
@@ -144,7 +144,6 @@ public class SAML2IdPsDirectoryPanel extends DirectoryPanel<
 
             @Override
             public void onClose(final AjaxRequestTarget target) {
-//                target.add(content);
                 templateModal.show(false);
             }
         });
@@ -164,7 +163,6 @@ public class SAML2IdPsDirectoryPanel extends DirectoryPanel<
                 importMetadata.toggle(target, true);
             }
         };
-
         ((WebMarkupContainer) 
get("container:content")).addOrReplace(importMetadataLink);
     }
 
@@ -193,7 +191,7 @@ public class SAML2IdPsDirectoryPanel extends DirectoryPanel<
         columns.add(new BooleanPropertyColumn<>(
                 new ResourceModel("useDeflateEncoding"), "useDeflateEncoding", 
"useDeflateEncoding"));
         columns.add(new BooleanPropertyColumn<>(
-            new ResourceModel("supportUnsolicited"), "supportUnsolicited", 
"supportUnsolicited"));
+                new ResourceModel("supportUnsolicited"), "supportUnsolicited", 
"supportUnsolicited"));
         columns.add(new PropertyColumn<>(
                 new ResourceModel("bindingType"), "bindingType", 
"bindingType"));
         columns.add(new BooleanPropertyColumn<>(

Reply via email to