You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gk...@apache.org on 2007/07/23 15:43:37 UTC
svn commit: r558726 - in
/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src:
changes/changes.xml
main/java/org/apache/cocoon/generation/StatusGenerator.java
Author: gkossakowski
Date: Mon Jul 23 06:43:36 2007
New Revision: 558726
URL: http://svn.apache.org/viewvc?view=rev&rev=558726
Log:
COCOON-2054: StatusGenerator must now show default Store explicitly (because no longer part of StoreJanitor).
Thanks to Alexander Klimetschek for contributing a patch.
Modified:
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/changes/changes.xml
cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/main/java/org/apache/cocoon/generation/StatusGenerator.java
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/changes/changes.xml?view=diff&rev=558726&r1=558725&r2=558726
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/changes/changes.xml (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/changes/changes.xml Mon Jul 23 06:43:36 2007
@@ -24,6 +24,11 @@
+-->
<document>
<body>
+ <release version="1.0.0-RC2" date="2007-??-??" description="unreleased">
+ <action dev="gkossakowski" type="add" due-to="Alexander Klimetschek" due-to-email="alexander.klimetschek@mindquarry.com" issue="COCOON-2054">
+ StatusGenerator must now show default Store explicitly (because no longer part of StoreJanitor)
+ </action>
+ </release>
<release version="1.0.0-RC1" date="2007-??-??" description="unreleased">
<action dev="reinhard" type="add" due-to="Alexander Klimetschek" due-to-email="alexander.klimetschek@mindquarry.com" issue="COCOON-2047">
StatusGenerator: Show a list of all Spring beans
Modified: cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/main/java/org/apache/cocoon/generation/StatusGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/main/java/org/apache/cocoon/generation/StatusGenerator.java?view=diff&rev=558726&r1=558725&r2=558726
==============================================================================
--- cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/main/java/org/apache/cocoon/generation/StatusGenerator.java (original)
+++ cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-components/src/main/java/org/apache/cocoon/generation/StatusGenerator.java Mon Jul 23 06:43:36 2007
@@ -135,6 +135,11 @@
protected StoreJanitor storeJanitor;
/**
+ * The default store
+ */
+ private Store store;
+
+ /**
* The persistent store
*/
protected Store storePersistent;
@@ -159,7 +164,6 @@
*/
private Source libDirectory;
-
/**
* @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
*/
@@ -190,6 +194,12 @@
getLogger().info("StoreJanitor is not available. Sorry, no cache statistics");
}
+ if (this.manager.hasService(Store.ROLE)) {
+ this.store = (Store) this.manager.lookup(Store.ROLE);
+ } else {
+ getLogger().info("Store is not available. Sorry no cache statistics about it.");
+ }
+
if (this.manager.hasService(Store.PERSISTENT_STORE)) {
this.storePersistent = (Store) this.manager.lookup(Store.PERSISTENT_STORE);
} else {
@@ -227,6 +237,7 @@
this.manager.release(this.continuationsManager);
this.settings = null;
this.storePersistent = null;
+ this.store = null;
this.storeJanitor = null;
this.continuationsManager = null;
}
@@ -469,44 +480,53 @@
}
endGroup();
}
+
+ if (this.store != null) {
+ genStore(this.store);
+ }
if (this.storePersistent != null) {
- startGroup(storePersistent.getClass().getName() + " (hash = 0x" + Integer.toHexString(storePersistent.hashCode()) + ")");
- int size = 0;
- int empty = 0;
- atts.clear();
- atts.addAttribute(NAMESPACE, "name", "name", "CDATA", "cached");
- super.contentHandler.startElement(NAMESPACE, "value", "value", atts);
-
- atts.clear();
- Enumeration e = this.storePersistent.keys();
- while (e.hasMoreElements()) {
- size++;
- Object key = e.nextElement();
- Object val = storePersistent.get(key);
- String line;
- if (val == null) {
- empty++;
- } else {
- line = key + " (class: " + val.getClass().getName() + ")";
- super.contentHandler.startElement(NAMESPACE, "line", "line", atts);
- super.contentHandler.characters(line.toCharArray(), 0, line.length());
- super.contentHandler.endElement(NAMESPACE, "line", "line");
- }
- }
- if (size == 0) {
+ genStore(this.storePersistent);
+ }
+ // END Cache
+
+ endGroup();
+ }
+
+ private void genStore(Store store) throws SAXException {
+ AttributesImpl atts = new AttributesImpl();
+ startGroup(store.getClass().getName() + " (hash = 0x" + Integer.toHexString(store.hashCode()) + ")");
+ int size = 0;
+ int empty = 0;
+ atts.clear();
+ atts.addAttribute(NAMESPACE, "name", "name", "CDATA", "cached");
+ super.contentHandler.startElement(NAMESPACE, "value", "value", atts);
+
+ atts.clear();
+ Enumeration e = store.keys();
+ while (e.hasMoreElements()) {
+ size++;
+ Object key = e.nextElement();
+ Object val = store.get(key);
+ String line;
+ if (val == null) {
+ empty++;
+ } else {
+ line = key + " (class: " + val.getClass().getName() + ")";
super.contentHandler.startElement(NAMESPACE, "line", "line", atts);
- String value = "[empty]";
- super.contentHandler.characters(value.toCharArray(), 0, value.length());
+ super.contentHandler.characters(line.toCharArray(), 0, line.length());
super.contentHandler.endElement(NAMESPACE, "line", "line");
}
- super.contentHandler.endElement(NAMESPACE, "value", "value");
-
- addValue("size", size + " items in cache (" + empty + " are empty)");
- endGroup();
}
- // END Cache
+ if (size == 0) {
+ super.contentHandler.startElement(NAMESPACE, "line", "line", atts);
+ String value = "[empty]";
+ super.contentHandler.characters(value.toCharArray(), 0, value.length());
+ super.contentHandler.endElement(NAMESPACE, "line", "line");
+ }
+ super.contentHandler.endElement(NAMESPACE, "value", "value");
+ addValue("size", size + " items in cache (" + empty + " are empty)");
endGroup();
}