You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/04/07 16:57:47 UTC
[2/3] syncope git commit: [SYNCOPE-788] Feature provided
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_it.properties
deleted file mode 100644
index 55f9a34..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_it.properties
+++ /dev/null
@@ -1,18 +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.
-bulk.action=Operazioni di gruppo
-close=Chiudi
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_pt_BR.properties
deleted file mode 100644
index 353e95c..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/bulk/BulkActionModal_pt_BR.properties
+++ /dev/null
@@ -1,18 +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.
-bulk.action=A\u00e7\u00e3o Composta
-close=Fechar
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.properties
index bae38da..7362fcc 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.properties
@@ -35,3 +35,5 @@ any.new=New ${anyTO.type}
any.finish=Submit ${anyTO.type}
any.cancel=Cancel ${anyTO.type}
any.attr.display=Attributes to be displayed
+bulk.action=Bulk action
+any.propagation.tasks=Propagation tasks for ${type} ${key}
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_it.properties
index 77b8ba8..58a3558 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_it.properties
@@ -35,3 +35,5 @@ any.new=Nuovo ${anyTO.type}
any.attr.display=Attributi da mostrare
any.finish=Invia ${anyTO.type}
any.cancel=Annulla ${anyTO.type}
+bulk.action=Operazioni di gruppo
+any.propagation.tasks=Task di propagazione per ${type} ${key}
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_pt_BR.properties
index 84ecd6d..8b5cc59 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel_pt_BR.properties
@@ -35,3 +35,5 @@ any.new=Novo ${anyTO.type}
any.attr.display=Atributos a ser exibido
any.finish=Apresentar ${anyTO.type}
any.cancel=Cancelar ${anyTO.type}
+bulk.action=A\u00e7\u00e3o Composta
+any.propagation.tasks=Propagation tasks for ${type} ${key}
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal.properties b/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal.properties
index 8882ab6..ef1cdf0 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal.properties
@@ -17,4 +17,3 @@
resourceName=Resource
connObjectLink=Remote ID
status=Status
-bulk.action=Bulk action
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_it.properties
index 0714c13..948b49d 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_it.properties
@@ -17,4 +17,3 @@
resourceName=Risorsa
connObjectLink=ID Remoto
status=Stato
-bulk.action=Azione di massa
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_pt_BR.properties
index 8882ab6..ef1cdf0 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/status/StatusModal_pt_BR.properties
@@ -17,4 +17,3 @@
resourceName=Resource
connObjectLink=Remote ID
status=Status
-bulk.action=Bulk action
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
index a882f45..a1c2b96 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
@@ -15,8 +15,8 @@
# specific language governing permissions and limitations
# under the License.
operation=Operation
-anyTypeKind=Involved object
-anyKey=Local id
-connObjectKey=Remote Id
+anyTypeKind=Object Type
+anyKey=Local Key
+connObjectKey=Remote Key
start=Start
end=End
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
index 13e1fb1..60c13cf 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
@@ -15,8 +15,8 @@
# specific language governing permissions and limitations
# under the License.
operation=Operazione
-anyTypeKind=Oggetto coinvolto
-anyKey=Id locale
-connObjectKey=Id remoto
+anyTypeKind=Tipo Oggetto
+anyKey=Key Locale
+connObjectKey=Key Remota
start=Inizio
end=Fine
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
index a882f45..a1c2b96 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
@@ -15,8 +15,8 @@
# specific language governing permissions and limitations
# under the License.
operation=Operation
-anyTypeKind=Involved object
-anyKey=Local id
-connObjectKey=Remote Id
+anyTypeKind=Object Type
+anyKey=Local Key
+connObjectKey=Remote Key
start=Start
end=End
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
index 50d3c6c..eeb94e4 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
@@ -41,11 +41,10 @@ under the License.
<span wicket:id="panelResetTime">[plus]</span>
<span wicket:id="panelClone">[plus]</span>
<span wicket:id="panelCreate">[plus]</span>
- <span wicket:id="panelUserTemplate">[plus]</span>
- <span wicket:id="panelGroupTemplate">[plus]</span>
<span wicket:id="panelReset">[plus]</span>
<span wicket:id="panelEdit">[plus]</span>
<span wicket:id="panelExport">[plus]</span>
+ <span wicket:id="panelPropagationTasks">[plus]</span>
<span wicket:id="panelDelete">[plus]</span>
<span wicket:id="panelSelect">[select]</span>
<span wicket:id="panelClose">[close]</span>
@@ -63,7 +62,7 @@ under the License.
<span wicket:id="panelZoomOut">[plus]</span>
<wicket:fragment wicket:id="fragmentMustChangePassword">
- <a href="#" wicket:id="MustChangePasswordLink" class="btn"><i class="fa fa-lock" alt="must change password icon" title="Force change password"></i></a>
+ <a href="#" wicket:id="MustChangePasswordLink" class="btn"><i class="fa fa-lock" alt="must change password icon" title="Toggle must change password"></i></a>
</wicket:fragment>
<wicket:fragment wicket:id="fragmentClaim">
@@ -122,12 +121,8 @@ under the License.
<a href="#" wicket:id="resetLink" class="btn"><img id="actionLink" src="img/actions/reset.png" alt="reset icon" title="Reset sync token"/></a>
</wicket:fragment>
- <wicket:fragment wicket:id="fragmentUserTemplate">
- <a href="#" wicket:id="userTemplateLink" class="btn"><img id="actionLink" src="img/actions/user_template.png" alt="user template icon" title="Specify user template"/></a>
- </wicket:fragment>
-
- <wicket:fragment wicket:id="fragmentGroupTemplate">
- <a href="#" wicket:id="groupTemplateLink" class="btn"><img id="actionLink" src="img/actions/groups-icon.png" alt="group template icon" title="Specify group template"/></a>
+ <wicket:fragment wicket:id="fragmentPropagationTasks">
+ <a href="#" wicket:id="propagationTasksLink" class="btn"><i class="fa fa-arrow-right" alt="PropagationTasks icon" title="PropagationTasks"></i></a>
</wicket:fragment>
<wicket:fragment wicket:id="fragmentDelete">
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/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 7a00891..cdbfa80 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
@@ -17,35 +17,31 @@ 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></title>
- </head>
- <body>
- <wicket:panel>
- <span wicket:id="container">
- <wicket:container wicket:id="content" />
- </span>
+ <wicket:panel>
+ <span wicket:id="container">
+ <wicket:container wicket:id="content"/>
+ </span>
- <wicket:fragment wicket:id="wizard">
- <span wicket:id="wizard"/>
- </wicket:fragment>
+ <wicket:fragment wicket:id="wizard">
+ <span wicket:id="wizard"/>
+ </wicket:fragment>
- <wicket:fragment wicket:id="default">
+ <wicket:fragment wicket:id="default">
- <wicket:child />
+ <wicket:child/>
- <wicket:enclosure child="add">
- <div class="modal-footer" style="text-align: right">
- <a haref="#" class="btn btn-primary btn-circle btn-lg" wicket:id="add">
- <i class="glyphicon glyphicon-plus"></i>
- </a>
- </div>
- </wicket:enclosure>
- </wicket:fragment>
+ <wicket:enclosure child="add">
+ <div class="modal-footer" style="text-align: right">
+ <a haref="#" class="btn btn-primary btn-circle btn-lg" wicket:id="add">
+ <i class="glyphicon glyphicon-plus"></i>
+ </a>
+ </div>
+ </wicket:enclosure>
+ </wicket:fragment>
- <div wicket:id="modal" />
- <div wicket:id="alternativeDefaultModal" />
- <div wicket:id="displayAttributeModal" />
- </wicket:panel>
- </body>
+ <div wicket:id="modal"/>
+ <div wicket:id="alternativeDefaultModal"/>
+ <div wicket:id="displayAttributeModal"/>
+ <div wicket:id="utilityModal"/>
+ </wicket:panel>
</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/common/lib/src/main/java/org/apache/syncope/common/lib/types/AnyEntitlement.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/types/AnyEntitlement.java b/common/lib/src/main/java/org/apache/syncope/common/lib/types/AnyEntitlement.java
index 55bf8f6..1320efe 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/types/AnyEntitlement.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/types/AnyEntitlement.java
@@ -26,4 +26,7 @@ public enum AnyEntitlement {
UPDATE,
DELETE;
+ public String getFor(final String anyTypeKey) {
+ return anyTypeKey + "_" + name();
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
index b74cd4f..188cf0d 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
@@ -38,7 +38,6 @@ import org.apache.syncope.common.lib.types.AnyEntitlement;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.ClientExceptionType;
import org.apache.syncope.common.lib.types.PatchOperation;
-import org.apache.syncope.core.provisioning.api.EntitlementsHolder;
import org.apache.syncope.core.persistence.api.dao.AnyObjectDAO;
import org.apache.syncope.core.persistence.api.dao.search.OrderByClause;
import org.apache.syncope.core.persistence.api.dao.search.SearchCond;
@@ -101,8 +100,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
}
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(searchCond.hasAnyTypeCond(), AnyEntitlement.SEARCH)),
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(searchCond.hasAnyTypeCond())),
realm);
return searchDAO.count(effectiveRealms, searchCond, AnyTypeKind.ANY_OBJECT);
@@ -118,8 +116,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
}
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(searchCond.hasAnyTypeCond(), AnyEntitlement.SEARCH)),
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(searchCond.hasAnyTypeCond())),
realm);
List<AnyObject> matchingAnyObjects = searchDAO.search(
@@ -145,8 +142,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
}
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(before.getLeft().getType(), AnyEntitlement.CREATE)),
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(before.getLeft().getType())),
before.getLeft().getRealm());
securityChecks(effectiveRealms, before.getLeft().getRealm(), null);
@@ -167,8 +163,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
? before.getLeft().getRealm().getValue()
: anyObjectTO.getRealm();
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObjectTO.getType(), AnyEntitlement.UPDATE)),
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(anyObjectTO.getType())),
realm);
securityChecks(effectiveRealms, realm, before.getLeft().getKey());
@@ -183,8 +178,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
Pair<AnyObjectTO, List<LogicActions>> before = beforeDelete(anyObject);
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(before.getLeft().getType(), AnyEntitlement.DELETE)),
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(before.getLeft().getType())),
before.getLeft().getRealm());
securityChecks(effectiveRealms, before.getLeft().getRealm(), before.getLeft().getKey());
@@ -199,12 +193,11 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
@Override
public AnyObjectTO unlink(final Long key, final Collection<String> resources) {
// security checks
- AnyObjectTO anyObject = binder.getAnyObjectTO(key);
+ AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObject.getType(), AnyEntitlement.UPDATE)),
- anyObject.getRealm());
- securityChecks(effectiveRealms, anyObject.getRealm(), anyObject.getKey());
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(anyObjectTO.getType())),
+ anyObjectTO.getRealm());
+ securityChecks(effectiveRealms, anyObjectTO.getRealm(), anyObjectTO.getKey());
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
@@ -222,12 +215,11 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
@Override
public AnyObjectTO link(final Long key, final Collection<String> resources) {
// security checks
- AnyObjectTO anyObject = binder.getAnyObjectTO(key);
+ AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObject.getType(), AnyEntitlement.UPDATE)),
- anyObject.getRealm());
- securityChecks(effectiveRealms, anyObject.getRealm(), anyObject.getKey());
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(anyObjectTO.getType())),
+ anyObjectTO.getRealm());
+ securityChecks(effectiveRealms, anyObjectTO.getRealm(), anyObjectTO.getKey());
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
@@ -247,12 +239,11 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
final Long key, final Collection<String> resources, final boolean nullPriorityAsync) {
// security checks
- AnyObjectTO anyObject = binder.getAnyObjectTO(key);
+ AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObject.getType(), AnyEntitlement.UPDATE)),
- anyObject.getRealm());
- securityChecks(effectiveRealms, anyObject.getRealm(), anyObject.getKey());
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(anyObjectTO.getType())),
+ anyObjectTO.getRealm());
+ securityChecks(effectiveRealms, anyObjectTO.getRealm(), anyObjectTO.getKey());
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
@@ -276,12 +267,11 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
final boolean nullPriorityAsync) {
// security checks
- AnyObjectTO anyObject = binder.getAnyObjectTO(key);
+ AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObject.getType(), AnyEntitlement.UPDATE)),
- anyObject.getRealm());
- securityChecks(effectiveRealms, anyObject.getRealm(), anyObject.getKey());
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(anyObjectTO.getType())),
+ anyObjectTO.getRealm());
+ securityChecks(effectiveRealms, anyObjectTO.getRealm(), anyObjectTO.getKey());
AnyObjectPatch patch = new AnyObjectPatch();
patch.setKey(key);
@@ -301,12 +291,11 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
final Long key, final Collection<String> resources, final boolean nullPriorityAsync) {
// security checks
- AnyObjectTO anyObject = binder.getAnyObjectTO(key);
+ AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObject.getType(), AnyEntitlement.UPDATE)),
- anyObject.getRealm());
- securityChecks(effectiveRealms, anyObject.getRealm(), anyObject.getKey());
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(anyObjectTO.getType())),
+ anyObjectTO.getRealm());
+ securityChecks(effectiveRealms, anyObjectTO.getRealm(), anyObjectTO.getKey());
List<PropagationStatus> statuses = provisioningManager.deprovision(key, resources, nullPriorityAsync);
@@ -325,12 +314,11 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
final boolean nullPriorityAsync) {
// security checks
- AnyObjectTO anyObject = binder.getAnyObjectTO(key);
+ AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
- AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObject.getType(), AnyEntitlement.UPDATE)),
- anyObject.getRealm());
- securityChecks(effectiveRealms, anyObject.getRealm(), anyObject.getKey());
+ AuthContextUtils.getAuthorizations().get(AnyEntitlement.SEARCH.getFor(anyObjectTO.getType())),
+ anyObjectTO.getRealm());
+ securityChecks(effectiveRealms, anyObjectTO.getRealm(), anyObjectTO.getKey());
List<PropagationStatus> statuses = provisioningManager.provision(key, resources, nullPriorityAsync);
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java
index 999660e..da1f497 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java
@@ -36,10 +36,10 @@ public interface TaskDAO extends DAO<Task, Long> {
<T extends Task> List<T> findAll(TaskType type);
<T extends Task> List<T> findAll(
- TaskType type, ExternalResource resource, AnyTypeKind anyTypeKind, Long anyTypeKey,
+ TaskType type, ExternalResource resource, AnyTypeKind anyTypeKind, Long anyKey,
int page, int itemsPerPage, List<OrderByClause> orderByClauses);
- int count(TaskType type, ExternalResource resource, AnyTypeKind anyTypeKind, Long anyTypeKey);
+ int count(TaskType type, ExternalResource resource, AnyTypeKind anyTypeKind, Long anyKey);
<T extends Task> T save(T task);
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
index f758ad9..a000511 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
@@ -35,7 +35,6 @@ import org.apache.commons.collections4.Predicate;
import org.apache.commons.collections4.Transformer;
import org.apache.syncope.common.lib.types.AnyEntitlement;
import org.apache.syncope.common.lib.types.AnyTypeKind;
-import org.apache.syncope.core.provisioning.api.EntitlementsHolder;
import org.apache.syncope.core.spring.security.AuthContextUtils;
import org.apache.syncope.core.spring.security.DelegatedAdministrationException;
import org.apache.syncope.core.provisioning.api.utils.EntityUtils;
@@ -106,8 +105,8 @@ public class JPAAnyObjectDAO extends AbstractAnyDAO<AnyObject> implements AnyObj
@Override
protected void securityChecks(final AnyObject anyObject) {
- Set<String> authRealms = AuthContextUtils.getAuthorizations().get(EntitlementsHolder.getInstance().
- getFor(anyObject.getType().getKey(), AnyEntitlement.READ));
+ Set<String> authRealms = AuthContextUtils.getAuthorizations().get(
+ AnyEntitlement.READ.getFor(anyObject.getType().getKey()));
boolean authorized = IterableUtils.matchesAny(authRealms, new Predicate<String>() {
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
index 3a16b8e..9eedb70 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
@@ -122,7 +122,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
final TaskType type,
final ExternalResource resource,
final AnyTypeKind anyTypeKind,
- final Long anyTypeKey) {
+ final Long anyKey) {
if (resource != null
&& type != TaskType.PROPAGATION && type != TaskType.PUSH && type != TaskType.PULL) {
@@ -130,7 +130,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
throw new IllegalArgumentException(type + " is not related to " + ExternalResource.class.getSimpleName());
}
- if ((anyTypeKind != null || anyTypeKey != null) && type != TaskType.PROPAGATION) {
+ if ((anyTypeKind != null || anyKey != null) && type != TaskType.PROPAGATION) {
throw new IllegalArgumentException(type + " is not related to users, groups or any objects");
}
@@ -139,8 +139,8 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
if (resource != null) {
queryString.append("AND t.resource=:resource ");
}
- if (anyTypeKind != null && anyTypeKey != null) {
- queryString.append("AND t.anyTypeKind=:anyTypeKind AND t.anyTypeKey=:anyTypeKey ");
+ if (anyTypeKind != null && anyKey != null) {
+ queryString.append("AND t.anyTypeKind=:anyTypeKind AND t.anyKey=:anyKey ");
}
return queryString;
@@ -172,21 +172,21 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
final TaskType type,
final ExternalResource resource,
final AnyTypeKind anyTypeKind,
- final Long anyTypeKey,
+ final Long anyKey,
final int page,
final int itemsPerPage,
final List<OrderByClause> orderByClauses) {
- StringBuilder queryString = buildFindAllQuery(type, resource, anyTypeKind, anyTypeKey).
+ StringBuilder queryString = buildFindAllQuery(type, resource, anyTypeKind, anyKey).
append(toOrderByStatement(getEntityReference(type), orderByClauses));
Query query = entityManager().createQuery(queryString.toString());
if (resource != null) {
query.setParameter("resource", resource);
}
- if (anyTypeKind != null && anyTypeKey != null) {
+ if (anyTypeKind != null && anyKey != null) {
query.setParameter("anyTypeKind", anyTypeKind);
- query.setParameter("anyTypeKey", anyTypeKey);
+ query.setParameter("anyKey", anyKey);
}
query.setFirstResult(itemsPerPage * (page <= 0
@@ -205,18 +205,18 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
final TaskType type,
final ExternalResource resource,
final AnyTypeKind anyTypeKind,
- final Long anyTypeKey) {
+ final Long anyKey) {
- StringBuilder queryString = buildFindAllQuery(type, resource, anyTypeKind, anyTypeKey);
+ StringBuilder queryString = buildFindAllQuery(type, resource, anyTypeKind, anyKey);
Query query = entityManager().createQuery(StringUtils.replaceOnce(
queryString.toString(), "SELECT t", "SELECT COUNT(t)"));
if (resource != null) {
query.setParameter("resource", resource);
}
- if (anyTypeKind != null && anyTypeKey != null) {
+ if (anyTypeKind != null && anyKey != null) {
query.setParameter("anyTypeKind", anyTypeKind);
- query.setParameter("anyTypeKey", anyTypeKey);
+ query.setParameter("anyKey", anyKey);
}
return ((Number) query.getSingleResult()).intValue();
http://git-wip-us.apache.org/repos/asf/syncope/blob/93cf2296/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/EntitlementsHolder.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/EntitlementsHolder.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/EntitlementsHolder.java
index d67362f..53a86f5 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/EntitlementsHolder.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/EntitlementsHolder.java
@@ -50,19 +50,15 @@ public final class EntitlementsHolder {
this.values.addAll(values);
}
- public String getFor(final String anyTypeKey, final AnyEntitlement operation) {
- return anyTypeKey + "_" + operation.name();
- }
-
public void addFor(final String anyType) {
for (AnyEntitlement operation : AnyEntitlement.values()) {
- this.values.add(getFor(anyType, operation));
+ this.values.add(operation.getFor(anyType));
}
}
public void removeFor(final String anyType) {
for (AnyEntitlement operation : AnyEntitlement.values()) {
- this.values.remove(getFor(anyType, operation));
+ this.values.remove(operation.getFor(anyType));
}
}