Author: ito
Date: Sun Jul 18 09:45:19 2010
New Revision: 965187
URL: http://svn.apache.org/viewvc?rev=965187&view=rev
Log:
CLEREZZA-257 menu name and menu entry name change. Access web services via
/admin/renderlets/
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManagerAccessPermission.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/resources/org/apache/clerezza/platform/typerendering/manager/renderlet.ssp
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java?rev=965187&r1=965186&r2=965187&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java
Sun Jul 18 09:45:19 2010
@@ -91,7 +91,7 @@ import org.apache.felix.scr.annotations.
@Service(GlobalMenuItemsProvider.class)
})
@Property(name="javax.ws.rs", boolValue=true)
-...@path("/admin/renderlet-manager")
+...@path("/admin/renderlets")
public class RenderletManager implements GlobalMenuItemsProvider{
@Reference(target = PlatformConfig.CONFIG_GRAPH_FILTER)
@@ -130,7 +130,7 @@ public class RenderletManager implements
if (uriInfo.getAbsolutePath().toString().endsWith("/")) {
return RedirectUtil.createSeeOtherResponse("overview",
uriInfo);
}
- return
RedirectUtil.createSeeOtherResponse("renderlet-manager/overview",
+ return
RedirectUtil.createSeeOtherResponse("renderlets/overview",
uriInfo);
}
@@ -144,6 +144,8 @@ public class RenderletManager implements
@Path("overview")
public GraphNode overview(@Context UriInfo uriInfo) {
TrailingSlash.enforceNotPresent(uriInfo);
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
+
MGraph additionGraph = new SimpleMGraph();
UnionMGraph resultGraph = new UnionMGraph(additionGraph,
configGraph);
GraphNode resultNode = new GraphNode(new UriRef(
@@ -167,6 +169,7 @@ public class RenderletManager implements
@Path("submit-renderlet")
public Response submitRenderlet(MultiPartBody form, @Context UriInfo
uriInfo) {
TrailingSlash.enforceNotPresent(uriInfo);
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
String type = form.getTextParameterValues("renderedType")[0];
String mode = form.getTextParameterValues("renderingMode")[0];
MediaType mediaType =
MediaType.valueOf(form.getTextParameterValues("mediaType")[0]);
@@ -307,6 +310,7 @@ public class RenderletManager implements
public Response down(@FormParam("renderedType") UriRef renderedType,
@Context UriInfo uriInfo) throws URISyntaxException {
TrailingSlash.enforceNotPresent(uriInfo);
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
List<Resource> rdfTypesPrioList = new RdfList(new UriRef(
RdfTypePrioList), configGraph);
final int index = rdfTypesPrioList.indexOf(renderedType);
@@ -330,6 +334,7 @@ public class RenderletManager implements
public Response up(@FormParam("renderedType") UriRef renderedType,
@Context UriInfo uriInfo) throws URISyntaxException {
TrailingSlash.enforceNotPresent(uriInfo);
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
final MGraph mGraph = configGraph;
final List<Resource> rdfTypesPrioList = new RdfList(new UriRef(
RdfTypePrioList), mGraph);
@@ -356,9 +361,10 @@ public class RenderletManager implements
@FormParam("renderedType") UriRef renderedType,
@FormParam("renderingMode") String renderingMode,
@FormParam("mediaType") String mediaType,
- @Context UriInfo uriInfo) throws URISyntaxException {
- logger.info("remove item");
+ @Context UriInfo uriInfo) throws URISyntaxException {
TrailingSlash.enforceNotPresent(uriInfo);
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
+ logger.info("remove item");
List<Resource> renderletDefinitions = new RdfList(new UriRef(
RdfTypePrioList), configGraph);
final Resource resource = getDefinitionResource(renderlet,
@@ -385,6 +391,7 @@ public class RenderletManager implements
@Path("install-renderlet-form")
public GraphNode installRenderletForm(@Context UriInfo uriInfo) {
TrailingSlash.enforceNotPresent(uriInfo);
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
MGraph resultGraph = new SimpleMGraph();
GraphNode resultNode = new GraphNode(new UriRef(
RdfTypePrioList), resultGraph);
@@ -407,6 +414,7 @@ public class RenderletManager implements
@QueryParam("mediaType") String mediaType,
@Context UriInfo uriInfo) {
TrailingSlash.enforceNotPresent(uriInfo);
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
final Resource resource = getDefinitionResource(renderlet,
renderSpec, renderedType, renderingMode,
mediaType);
GraphNode node = new GraphNode((NonLiteral) resource,
configGraph);
@@ -440,13 +448,14 @@ public class RenderletManager implements
public Set<GlobalMenuItem> getMenuItems() {
Set<GlobalMenuItem> items = new HashSet<GlobalMenuItem>();
try {
+ AccessController.checkPermission(new
RenderletManagerAccessPermission());
AccessController.checkPermission(
new
TcPermission("http://tpf.localhost/config.graph", TcPermission.READWRITE));
} catch (AccessControlException e) {
return items;
}
- items.add(new GlobalMenuItem("/admin/renderlet-manager/",
"RMR", "Renderlet Manager", 3,
- "Main-Modules"));
+ items.add(new GlobalMenuItem("/admin/renderlets/", "RMR",
"Renderlets", 3,
+ "Administration"));
return items;
}
}
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManagerAccessPermission.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManagerAccessPermission.java?rev=965187&view=auto
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManagerAccessPermission.java
(added)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManagerAccessPermission.java
Sun Jul 18 09:45:19 2010
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+package org.apache.clerezza.platform.typerendering.manager;
+
+
+import java.security.Permission;
+import org.apache.clerezza.permissiondescriptions.PermissionInfo;
+
+/**
+ * Permission to use the Renderlet Manager. Note that the user
+ * additionally needs permission write into the content graph.
+ *
+ * @author tio
+ */
+...@permissioninfo(value="Renderlet Manager Access Permission",
description="Grants access " +
+ "to the Renderlet Manager page")
+public class RenderletManagerAccessPermission extends Permission {
+
+ public RenderletManagerAccessPermission() {
+ super("RenderletManagerAccess");
+ }
+
+ public RenderletManagerAccessPermission(String name, String actions) {
+ super("RenderletManagerAccess");
+ }
+
+ @Override
+ public boolean implies(Permission permission) {
+ return (permission instanceof RenderletManagerAccessPermission);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String getActions() {
+ return "";
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 13;
+ hash = 101 * hash + "RenderletManagerAccess".hashCode();
+ return hash;
+ }
+}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/resources/org/apache/clerezza/platform/typerendering/manager/renderlet.ssp
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/resources/org/apache/clerezza/platform/typerendering/manager/renderlet.ssp?rev=965187&r1=965186&r2=965187&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/resources/org/apache/clerezza/platform/typerendering/manager/renderlet.ssp
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/resources/org/apache/clerezza/platform/typerendering/manager/renderlet.ssp
Sun Jul 18 09:45:19 2010
@@ -1,7 +1,7 @@
def typerendering(s: Any) = new
UriRef("http://clerezza.org/2009/04/typerendering#"+s)
<html xmlns="http://www.w3.org/1999/xhtml" id="tx-html">
<head>
- <title>Renderlet Manager</title>
+ <title>Renderlets</title>
<link href="/style/_css/style.css" media="screen" rel="stylesheet"
type="text/css" />