You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2012/11/20 13:17:16 UTC
svn commit: r1411638 - in
/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main:
java/org/apache/myfaces/tobago/example/demo/ webapp/ webapp/WEB-INF/
Author: lofwyr
Date: Tue Nov 20 12:17:15 2012
New Revision: 1411638
URL: http://svn.apache.org/viewvc?rev=1411638&view=rev
Log:
Demo: better visualisation of the MANIFEST.MF content.
Modified:
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestEntry.java
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestReader.java
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/WEB-INF/faces-config.xml
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestEntry.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestEntry.java?rev=1411638&r1=1411637&r2=1411638&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestEntry.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestEntry.java Tue Nov 20 12:17:15 2012
@@ -19,28 +19,23 @@
package org.apache.myfaces.tobago.example.demo;
-public class ManifestEntry {
- private String url;
- private String content;
-
- public ManifestEntry(String url, String content) {
- this.url = url;
- this.content = content;
- }
+import javax.swing.tree.DefaultMutableTreeNode;
- public String getUrl() {
- return url;
- }
+public class ManifestEntry extends DefaultMutableTreeNode {
+
+ private final String name;
+ private final String value;
- public void setUrl(String url) {
- this.url = url;
+ public ManifestEntry(String name, String value) {
+ this.name = name;
+ this.value = value;
}
- public String getContent() {
- return content;
+ public String getName() {
+ return name;
}
- public void setContent(String content) {
- this.content = content;
+ public String getValue() {
+ return value;
}
}
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestReader.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestReader.java?rev=1411638&r1=1411637&r2=1411638&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestReader.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ManifestReader.java Tue Nov 20 12:17:15 2012
@@ -19,55 +19,63 @@
package org.apache.myfaces.tobago.example.demo;
+import org.apache.myfaces.tobago.model.ExpandedState;
+import org.apache.myfaces.tobago.model.SheetState;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.BufferedReader;
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Named;
import java.io.IOException;
-import java.io.InputStreamReader;
import java.net.URL;
-import java.util.ArrayList;
import java.util.Enumeration;
-import java.util.List;
-import java.util.Map;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+@ApplicationScoped
+@Named
public class ManifestReader {
private static final Logger LOG = LoggerFactory.getLogger(ManifestReader.class);
- private List<ManifestEntry> manifestList = new ArrayList<ManifestEntry>();
+ private final ManifestEntry manifestTree;
- public ManifestReader(){
+ private final SheetState state;
+
+ public ManifestReader() {
+
+ state = new SheetState();
+ state.setExpandedState(new ExpandedState(1));
+ manifestTree = new ManifestEntry("Tobago Example Demo", null);
+
+ URL url = null;
try {
Enumeration<URL> ul = getClass().getClassLoader().getResources("META-INF/MANIFEST.MF");
- String line;
- StringBuilder content;
- BufferedReader in;
- URL url;
while (ul.hasMoreElements()) {
url = ul.nextElement();
- in = new BufferedReader(new InputStreamReader(url.openStream()));
- content = new StringBuilder();
- Map.Entry<String, String> e;
- while((line= in.readLine()) != null){
- content.append(line+"\r\n");
+ String name = url.toString();
+ name = name.replaceAll(".+/([^/]+\\.jar)\\!/META-INF/MANIFEST.MF", "$1");
+ final ManifestEntry jar = new ManifestEntry(name, null);
+ manifestTree.add(jar);
+
+ final Manifest manifest = new Manifest(url.openStream());
+ final Attributes attributes = manifest.getMainAttributes();
+ for (Object key : attributes.keySet()) {
+ jar.add(new ManifestEntry(key.toString(), attributes.get(key).toString()));
}
- in.close();
-
- manifestList.add(new ManifestEntry(url.toString(), content.toString()));
}
} catch (IOException e) {
- LOG.error("", e);
+ LOG.error("Problem while processing URL: " + url, e);
}
}
- public List<ManifestEntry> getManifestList() {
- return manifestList;
+ public ManifestEntry getManifestTree() {
+ return manifestTree;
}
- public void setManifestList(List<ManifestEntry> manifestList) {
- this.manifestList = manifestList;
+ public SheetState getState() {
+ return state;
}
}
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/WEB-INF/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/WEB-INF/faces-config.xml?rev=1411638&r1=1411637&r2=1411638&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/WEB-INF/faces-config.xml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/WEB-INF/faces-config.xml Tue Nov 20 12:17:15 2012
@@ -85,12 +85,6 @@
</managed-bean>
<managed-bean>
- <managed-bean-name>manifestReader</managed-bean-name>
- <managed-bean-class>org.apache.myfaces.tobago.example.demo.ManifestReader</managed-bean-class>
- <managed-bean-scope>application</managed-bean-scope>
- </managed-bean>
-
- <managed-bean>
<managed-bean-name>pageDeclarationLanguage</managed-bean-name>
<managed-bean-class>org.apache.myfaces.tobago.example.demo.PageDeclarationLanguageBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml?rev=1411638&r1=1411637&r2=1411638&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml Tue Nov 20 12:17:15 2012
@@ -91,22 +91,15 @@
</tc:sheet>
</tc:panel>
- <tc:panel>
- <f:facet name="layout">
- <tc:gridLayout columns="auto;*"/>
- </f:facet>
-
- <tc:label value="Manifest"/>
-
- <tc:sheet value="#{manifestReader.manifestList}" var="manifest">
- <tc:column label="URL">
- <tc:out value="#{manifest.url}"/>
- </tc:column>
- <tc:column label="Content">
- <tc:out value="#{manifest.content}"/>
- </tc:column>
- </tc:sheet>
- </tc:panel>
+ <tc:sheet value="#{manifestReader.manifestTree}" state="#{manifestReader.state}" var="manifest">
+ <tc:columnNode label="Library/Key">
+ <tc:treeIndent/>
+ <tc:treeLabel value="#{manifest.name}"/>
+ </tc:columnNode>
+ <tc:column label="Value">
+ <tc:out value="#{manifest.value}"/>
+ </tc:column>
+ </tc:sheet>
</tc:panel>
</ui:composition>