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;


Reply via email to