You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/02/13 15:08:06 UTC
svn commit: r1445612 - in /stanbol/trunk/commons/security/usermanagement:
pom.xml
src/main/java/org/apache/stanbol/commons/usermanagement/WebConsolePlugin.java
Author: rwesten
Date: Wed Feb 13 14:08:05 2013
New Revision: 1445612
URL: http://svn.apache.org/r1445612
Log:
STANBOL-910: temporary fix to the UserManager as discussed in [1]. See follow up discussion for the proposed final solution.
[1] http://markmail.org/message/aje7c3mucstph4oy
Modified:
stanbol/trunk/commons/security/usermanagement/pom.xml
stanbol/trunk/commons/security/usermanagement/src/main/java/org/apache/stanbol/commons/usermanagement/WebConsolePlugin.java
Modified: stanbol/trunk/commons/security/usermanagement/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/security/usermanagement/pom.xml?rev=1445612&r1=1445611&r2=1445612&view=diff
==============================================================================
--- stanbol/trunk/commons/security/usermanagement/pom.xml (original)
+++ stanbol/trunk/commons/security/usermanagement/pom.xml Wed Feb 13 14:08:05 2013
@@ -64,6 +64,25 @@
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Import-Package>
+ javax.servlet.*; version="[2.5.0,4.0.0)",
+ javax.ws.rs.*; version="[0,2)",
+ org.apache.stanbol.commons.web.base; provide:=true,
+ org.apache.felix.webconsole; provide:=true,
+ at.newmedialab.ldpath.template.engine; version="[0.9.5,1)",
+ *
+ </Import-Package>
+ <Export-Package>
+ org.apache.stanbol.commons.usermanagement; version=${project.version}
+ </Export-Package>
+ <Private-Package>
+ org.apache.stanbol.commons.usermanagement.resource; version=${project.version},
+ org.apache.stanbol.commons.usermanagement.webfragment; version=${project.version}
+ </Private-Package>
+ </instructions>
+ </configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
@@ -121,7 +140,7 @@
</dependency>
<dependency>
<groupId>org.apache.stanbol</groupId>
- <artifactId>org.apache.stanbol.commons.web.viewable.ldpath</artifactId>
+ <artifactId>org.apache.stanbol.commons.web.viewable</artifactId>
<version>0.12.0-SNAPSHOT</version>
</dependency>
Modified: stanbol/trunk/commons/security/usermanagement/src/main/java/org/apache/stanbol/commons/usermanagement/WebConsolePlugin.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/security/usermanagement/src/main/java/org/apache/stanbol/commons/usermanagement/WebConsolePlugin.java?rev=1445612&r1=1445611&r2=1445612&view=diff
==============================================================================
--- stanbol/trunk/commons/security/usermanagement/src/main/java/org/apache/stanbol/commons/usermanagement/WebConsolePlugin.java (original)
+++ stanbol/trunk/commons/security/usermanagement/src/main/java/org/apache/stanbol/commons/usermanagement/WebConsolePlugin.java Wed Feb 13 14:08:05 2013
@@ -23,21 +23,21 @@ import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.MediaType;
-import org.apache.clerezza.rdf.core.serializedform.Serializer;
-import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
+import org.apache.clerezza.rdf.core.Resource;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.commons.ldpath.clerezza.ClerezzaBackend;
import org.apache.stanbol.commons.usermanagement.resource.UserResource;
-import org.apache.stanbol.commons.web.viewable.RdfViewable;
-import org.apache.stanbol.commons.web.viewable.ldpath.writer.LdViewableWriter;
import org.osgi.framework.BundleContext;
+import at.newmedialab.ldpath.template.engine.TemplateEngine;
+
import freemarker.cache.TemplateLoader;
+import freemarker.template.TemplateException;
@Component
@Service(Servlet.class)
@@ -47,17 +47,22 @@ import freemarker.cache.TemplateLoader;
public class WebConsolePlugin extends
org.apache.felix.webconsole.AbstractWebConsolePlugin {
- private static final String STATIC_PREFIX = "/usermanagement/res/";
+
+ private static final long serialVersionUID = -7624898299851954671L;
+
+ private static final String STATIC_PREFIX = "/usermanagement/res/";
@Reference
private UserResource userManager;
-
+
@Reference
private TemplateLoader templateLoader;
-
- private LdViewableWriter rdfViewableWriter;
-
+ /**
+ * The TemplateEngine used to render user information
+ */
+ private TemplateEngine<Resource> templateEngine;
+
public static final String NAME = "User Management";
public static final String LABEL = "usermanagement";
@@ -71,14 +76,15 @@ public class WebConsolePlugin extends
protected void renderContent(HttpServletRequest req,
HttpServletResponse response) throws ServletException, IOException {
- //create an RdfViewable
- RdfViewable rdfViewable = new RdfViewable(
- "org/apache/stanbol/commons/usermanagement/webConsole.ftl",
- userManager.getUserType());
- //now use the LdViewableWriter to serialize
- rdfViewableWriter.writeTo(rdfViewable, RdfViewable.class, RdfViewable.class,
- RdfViewable.class.getAnnotations(), MediaType.TEXT_HTML_TYPE,
- null, response.getOutputStream());
+ try {
+ templateEngine.processFileTemplate(userManager.getUserType().getNode(),
+ "html/org/apache/stanbol/commons/usermanagement/webConsole.ftl", response.getWriter());
+ response.getWriter().flush();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ } catch (TemplateException e) {
+ throw new RuntimeException(e);
+ }
// serializer.serialize(System.out, userManager.getUserType().getGraph(), SupportedFormat.TURTLE);
// log me for debug!
}
@@ -94,11 +100,15 @@ public class WebConsolePlugin extends
@Override
public void activate(BundleContext bundleContext) {
super.activate(bundleContext);
- rdfViewableWriter = new LdViewableWriter(templateLoader);
+ //use some getter to get the Graph that backups the UserManager
+ //TODO: a direct getter for the graph would be nice to have
+ templateEngine = new TemplateEngine<Resource>(
+ new ClerezzaBackend(userManager.getUserType().getGraph()));
+ templateEngine.setTemplateLoader(templateLoader);
}
@Override
public void deactivate() {
- rdfViewableWriter = null;
+ templateEngine = null;
super.deactivate();
}