Author: reto
Date: Mon Sep 13 09:50:45 2010
New Revision: 996475

URL: http://svn.apache.org/viewvc?rev=996475&view=rev
Log:
CLEREZZA-295: increased visibility of this handy utility by adding it to parent 
and to menus

Added:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverviewPermission.java
Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/
   (props changed)
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverview.java
    incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml

Propchange: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Sep 13 09:50:45 2010
@@ -0,0 +1 @@
+target

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/pom.xml?rev=996475&r1=996474&r2=996475&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/pom.xml
 Mon Sep 13 09:50:45 2010
@@ -12,9 +12,8 @@
        <version>0.1-incubating-SNAPSHOT</version>
        
        <packaging>bundle</packaging>
-       <name>Clerezza - RDF locking</name>
-       <description>Provides a web page containig an overview of graph 
locks.</description>
-
+       <name>Clerezza - RDF Utility for MGraph lock monitoring</name>
+       <description>Provides a web page containig an overview of locks on 
MGraphs.</description>
        <dependencies>
                <dependency>
                        <groupId>org.apache.felix</groupId>
@@ -26,6 +25,10 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.clerezza</groupId>
+                       
<artifactId>org.apache.clerezza.platform.dashboard.core</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza</groupId>
                        
<artifactId>org.apache.clerezza.platform.typerendering.core</artifactId>
                </dependency>
        </dependencies>

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverview.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverview.java?rev=996475&r1=996474&r2=996475&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverview.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverview.java
 Mon Sep 13 09:50:45 2010
@@ -20,12 +20,16 @@ package org.apache.clerezza.rdf.locking;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.security.AccessControlException;
+import java.security.AccessController;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
+import org.apache.clerezza.platform.dashboard.GlobalMenuItem;
+import org.apache.clerezza.platform.dashboard.GlobalMenuItemsProvider;
 import org.apache.clerezza.rdf.core.UriRef;
 import org.apache.clerezza.rdf.core.access.TcManager;
 import org.apache.clerezza.rdf.core.access.debug.ReadLockDebug;
@@ -34,16 +38,20 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.Service;
+import org.apache.felix.scr.annotations.Services;
 
 /**
  * Provides an overview page of all locks of all graphs.
  * @author mir
  */
 @Component()
-...@service(value = Object.class)
+...@services({
+       @Service(value=Object.class),
+       @Service(value=GlobalMenuItemsProvider.class)
+})
 @Property(name = "javax.ws.rs", boolValue = true)
-...@path("/locks")
-public class LockOverview {
+...@path("admin/graphs/locks")
+public class LockOverview implements GlobalMenuItemsProvider {
 
        @Reference
        TcManager tcManager;
@@ -143,4 +151,18 @@ public class LockOverview {
                        visit(groups[i], level + 1, threadSet);
                }
        }
+
+       @Override
+       public Set<GlobalMenuItem> getMenuItems() {
+               Set<GlobalMenuItem> items = new HashSet<GlobalMenuItem>();
+               try {
+                       AccessController.checkPermission(
+                                       new LockOverviewPermission());
+               } catch (AccessControlException e) {
+                       return items;
+               }
+               items.add(new GlobalMenuItem("/admin/graphs/locks", "SCM", 
"MGraph Locking", 1,
+                               "Development"));
+               return items;
+       }
 }

Added: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverviewPermission.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverviewPermission.java?rev=996475&view=auto
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverviewPermission.java
 (added)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.locking/src/main/java/org/apache/clerezza/rdf/locking/LockOverviewPermission.java
 Mon Sep 13 09:50:45 2010
@@ -0,0 +1,62 @@
+/*
+ *  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.rdf.locking;
+
+import java.security.Permission;
+import org.apache.clerezza.permissiondescriptions.PermissionInfo;
+
+/**
+ *
+ * @author reto
+ */
+...@permissioninfo(value="Lock Overview Permission", description="Grants 
access " +
+       "to the Lock overview Pafe")
+class LockOverviewPermission extends Permission{
+
+       public LockOverviewPermission() {
+               super("LockOverviewPermission");
+       }
+       /**
+        *
+        * @param target ignored
+        * @param action ignored
+        */
+       public LockOverviewPermission(String target, String actions) {
+               super("LockOverviewPermission");
+       }
+
+       @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 17587;
+       }
+
+       @Override
+       public String getActions() {
+               return "";
+       }
+}
\ No newline at end of file

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml?rev=996475&r1=996474&r2=996475&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml Mon Sep 13 
09:50:45 2010
@@ -86,6 +86,7 @@
                <module>org.apache.clerezza.rdf.jena.sparql</module>
                <module>org.apache.clerezza.rdf.jena.storage</module>
                <module>org.apache.clerezza.rdf.jena.tdb.storage</module>
+               <module>org.apache.clerezza.rdf.locking</module>
                <module>org.apache.clerezza.rdf.ontologies</module>
                <module>org.apache.clerezza.rdf.metadata</module>
                <module>org.apache.clerezza.rdf.rdfa</module>


Reply via email to