Author: reto
Date: Tue May 11 08:52:33 2010
New Revision: 943047
URL: http://svn.apache.org/viewvc?rev=943047&view=rev
Log:
CLEREZZA-195: introduced ConceptProviderManagerAppPermission
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptProviderManagerAppPermission.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/SimpleConceptProviderManager.java
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptProviderManagerAppPermission.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptProviderManagerAppPermission.java?rev=943047&view=auto
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptProviderManagerAppPermission.java
(added)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptProviderManagerAppPermission.java
Tue May 11 08:52:33 2010
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2010 reto.
+ *
+ * Licensed 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.
+ * under the License.
+ */
+
+package org.apache.clerezza.platform.concepts.core;
+
+import java.security.Permission;
+
+/**
+ * Permssion to use an application to Manage Concept-Providers. Note that the
+ * user additionally need the respecitive rights on the underlying graphs.
+ *
+ * @author reto
+ */
+class ConceptProviderManagerAppPermission extends Permission {
+
+ public ConceptProviderManagerAppPermission() {
+ super("Graph Management permission");
+ }
+
+ /**
+ *
+ * @param target ignored
+ * @param action ignored
+ */
+ public ConceptProviderManagerAppPermission(String target, String
actions) {
+ super("Graph Management permission");
+ }
+
+ @Override
+ public boolean implies(Permission permission) {
+ return equals(permission);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return getClass().equals(obj.getClass());
+ }
+
+ @Override
+ public int hashCode() {
+ return 77985;
+ }
+
+ @Override
+ public String getActions() {
+ return "";
+ }
+
+}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/SimpleConceptProviderManager.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/SimpleConceptProviderManager.java?rev=943047&r1=943046&r2=943047&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/SimpleConceptProviderManager.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/SimpleConceptProviderManager.java
Tue May 11 08:52:33 2010
@@ -202,6 +202,8 @@ public class SimpleConceptProviderManage
@GET
@Path("edit-concept-provider-list")
public GraphNode getProviderList(@Context UriInfo uriInfo) {
+ AccessController.checkPermission(
+ new ConceptProviderManagerAppPermission());
TrailingSlash.enforceNotPresent(uriInfo);
MGraph contentGraph = cgProvider.getContentGraph();
MGraph resultGraph = new SimpleMGraph();
@@ -304,6 +306,12 @@ public class SimpleConceptProviderManage
} catch (AccessControlException e) {
return items;
}
+ try {
+ AccessController.checkPermission(
+ new
ConceptProviderManagerAppPermission());
+ } catch (AccessControlException e) {
+ return items;
+ }
items.add(new
GlobalMenuItem("/concepts/provider-manager/edit-concept-provider-list",
"CPM", "Concept Provider Manager", 5,
"Main-Modules"));
return items;