You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2008/01/07 21:58:02 UTC
svn commit: r609776 -
/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java
Author: pcl
Date: Mon Jan 7 12:58:01 2008
New Revision: 609776
URL: http://svn.apache.org/viewvc?rev=609776&view=rev
Log:
Write output to the logging channels instead of to stdout.
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java?rev=609776&r1=609775&r2=609776&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java Mon Jan 7 12:58:01 2008
@@ -18,7 +18,6 @@
*/
package org.apache.openjpa.conf;
-import java.io.PrintStream;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
@@ -27,8 +26,8 @@
import org.apache.openjpa.kernel.Broker;
import org.apache.openjpa.kernel.BrokerFactory;
import org.apache.openjpa.kernel.Query;
-import org.apache.openjpa.conf.CacheMarshallersValue;
import org.apache.openjpa.lib.util.Options;
+import org.apache.openjpa.lib.log.Log;
import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.meta.MetaDataRepository;
import org.apache.openjpa.meta.QueryMetaData;
@@ -45,19 +44,27 @@
private final BrokerFactory factory;
private final OpenJPAConfiguration conf;
private final boolean devpath;
- private final boolean verbose;
- private PrintStream out = System.out;
+ private final Log log;
+ /**
+ * @deprecated logging is routed to the logging system now.
+ */
public MetaDataCacheMaintenance(BrokerFactory factory, boolean devpath,
boolean verbose) {
+ this(factory, devpath);
+ }
+
+ /**
+ * @param factory The {@link BrokerFactory} for which cached metadata
+ * should be built.
+ * @param devpath Whether or not to scan the development environment paths
+ * to find persistent types to store.
+ */
+ public MetaDataCacheMaintenance(BrokerFactory factory, boolean devpath) {
this.factory = factory;
this.conf = factory.getConfiguration();
this.devpath = devpath;
- this.verbose = verbose;
- }
-
- public void setOutputStream(PrintStream out) {
- this.out = out;
+ this.log = conf.getLog(OpenJPAConfiguration.LOG_TOOL);
}
public static void main(String[] args) {
@@ -65,13 +72,11 @@
args = opts.setFromCmdLine(args);
boolean devpath = opts.getBooleanProperty("scanDevPath", "ScanDevPath",
true);
- boolean verbose = opts.getBooleanProperty("verbose", "verbose",
- false);
BrokerFactory factory = Bootstrap.newBrokerFactory();
try {
MetaDataCacheMaintenance maint = new MetaDataCacheMaintenance(
- factory, devpath, verbose);
+ factory, devpath);
if (args.length != 1)
usage();
@@ -89,10 +94,15 @@
private static int usage() {
System.err.println("Usage: java MetaDataCacheMaintenance "
- + "[-scanDevPath t|f] [-verbose t|f] store | dump");
+ + "[-scanDevPath t|f] store | dump");
return -1;
}
+ /**
+ * The metadata repository for the factory that this instance was
+ * constructed with will be serialized, along with any query
+ * compilations etc. that have been created for the factory.
+ */
public void store() {
MetaDataRepository repos = conf.getMetaDataRepositoryInstance();
repos.setSourceMode(MetaDataRepository.MODE_ALL);
@@ -102,8 +112,8 @@
loadQueries();
- out.println("The following data will be stored: ");
- log(repos, conf.getQueryCompilationCacheInstance(), verbose, out);
+ log.info("The following data will be stored: ");
+ log(repos, conf.getQueryCompilationCacheInstance());
CacheMarshallersValue.getMarshallerById(conf, getClass().getName())
.store(new Object[] {
@@ -129,10 +139,13 @@
qmd.setInto(q);
q.compile();
} catch (Exception e) {
- out.println("Skipping named query " + qmd.getName() + ": "
- + e.getMessage());
- if (verbose)
- e.printStackTrace(out);
+ if (log.isTraceEnabled()) {
+ log.warn("Skipping named query " + qmd.getName() + ": "
+ + e.getMessage(), e);
+ } else {
+ log.warn("Skipping named query " + qmd.getName() + ": "
+ + e.getMessage());
+ }
}
}
@@ -141,41 +154,40 @@
CacheMarshallersValue.getMarshallerById(conf, getClass().getName())
.load();
if (os == null) {
- out.println("No cached data was found");
+ log.info("No cached data was found");
return;
}
MetaDataRepository repos = (MetaDataRepository) os[0];
Map qcc = (Map) os[1];
- out.println("The following data was found: ");
- log(repos, qcc, verbose, out);
+ log.info("The following data was found: ");
+ log(repos, qcc);
}
- private static void log(MetaDataRepository repos, Map qcc,
- boolean verbose, PrintStream out) {
+ private void log(MetaDataRepository repos, Map qcc) {
ClassMetaData[] metas = repos.getMetaDatas();
- out.println(" Types: " + metas.length);
- if (verbose)
+ log.info(" Types: " + metas.length);
+ if (log.isTraceEnabled())
for (int i = 0; i < metas.length; i++)
- out.println(" " + metas[i].getDescribedType().getName());
+ log.trace(" " + metas[i].getDescribedType().getName());
QueryMetaData[] qmds = repos.getQueryMetaDatas();
- out.println(" Queries: " + qmds.length);
- if (verbose)
+ log.info(" Queries: " + qmds.length);
+ if (log.isTraceEnabled())
for (int i = 0; i < qmds.length; i++)
- out.println(" " + qmds[i].getName() + ": "
+ log.trace(" " + qmds[i].getName() + ": "
+ qmds[i].getQueryString());
SequenceMetaData[] smds = repos.getSequenceMetaDatas();
- out.println(" Sequences: " + smds.length);
- if (verbose)
+ log.info(" Sequences: " + smds.length);
+ if (log.isTraceEnabled())
for (int i = 0; i < smds.length; i++)
- out.println(" " + smds[i].getName());
+ log.trace(" " + smds[i].getName());
- out.println(" Compiled queries: "
+ log.info(" Compiled queries: "
+ (qcc == null ? "0" : "" + qcc.size()));
- if (verbose && qcc != null)
+ if (log.isTraceEnabled() && qcc != null)
for (Iterator iter = qcc.keySet().iterator(); iter.hasNext(); )
- out.println(" " + iter.next());
+ log.trace(" " + iter.next());
}
}