From 0c90bc5e476c924ac02d039cdf3ddfdbaa364f12 Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Mon, 9 Jul 2012 18:58:25 -0700 Subject: [PATCH] CSPACE-5332: Substituted logger calls for System.out|err print statements in Imports service. --- .../services/imports/ImportsResource.java | 54 +++++++++++++------ .../services/imports/TemplateExpander.java | 20 ++++--- .../services/imports/nuxeo/ImportCommand.java | 22 ++++---- .../nuxeo/LoggedXMLDirectoryReader.java | 17 ++++-- 4 files changed, 77 insertions(+), 36 deletions(-) diff --git a/services/imports/service/src/main/java/org/collectionspace/services/imports/ImportsResource.java b/services/imports/service/src/main/java/org/collectionspace/services/imports/ImportsResource.java index 158efbbf2..57123b24c 100644 --- a/services/imports/service/src/main/java/org/collectionspace/services/imports/ImportsResource.java +++ b/services/imports/service/src/main/java/org/collectionspace/services/imports/ImportsResource.java @@ -67,6 +67,8 @@ import java.io.FileNotFoundException; import java.io.InputStream; import java.util.List; import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; // The modified Nuxeo ImportCommand from nuxeo's shell: @@ -77,11 +79,12 @@ import java.util.Map; @Produces({ "application/xml" }) @Consumes({ "application/xml" }) public class ImportsResource extends AbstractCollectionSpaceResourceImpl { + + private final static Logger logger = LoggerFactory.getLogger(TemplateExpander.class); public static final String SERVICE_NAME = "imports"; public static final String SERVICE_PATH = "/" + SERVICE_NAME; private static final int DEFAULT_TX_TIMOUT = 600; // timeout period in - // seconds /* * ASSUMPTION: All Nuxeo services of a given tenancy store their stuff in @@ -285,8 +288,10 @@ public class ImportsResource extends AbstractCollectionSpaceResourceImpl> partsMap = partFormData .getFormDataMap(); List fileParts = partsMap.get("file"); int timeout = this.getTimeoutParam(ui); for (InputPart part : fileParts) { String mediaType = part.getMediaType().toString(); - System.out.println("Media type is:" + mediaType); + if (logger.isTraceEnabled()) { + logger.trace("Media type is:" + mediaType); + } if (mediaType.equalsIgnoreCase(MediaType.APPLICATION_XML) || mediaType.equalsIgnoreCase(MediaType.TEXT_XML)) { // FIXME For an alternate approach, potentially preferable, @@ -419,19 +434,22 @@ public class ImportsResource extends AbstractCollectionSpaceResourceImpl"; - System.out.println(result); - + String result = "\r\nZipfile " + zipfileName + + "extracted to: " + indir.getCanonicalPath() + + ""; + if (logger.isTraceEnabled()) { + logger.trace(result); + } long start = System.currentTimeMillis(); // TODO: now call import service... resultBuf.append(result); @@ -463,7 +481,9 @@ public class ImportsResource extends AbstractCollectionSpaceResourceImpl\n" + "
\n" + " \n" - + " \n" + " \n" + "\n"; + + " \n" + + " \n" + + "\n"; @GET @Produces("text/html") diff --git a/services/imports/service/src/main/java/org/collectionspace/services/imports/TemplateExpander.java b/services/imports/service/src/main/java/org/collectionspace/services/imports/TemplateExpander.java index 5a1fe5930..e7c10a054 100644 --- a/services/imports/service/src/main/java/org/collectionspace/services/imports/TemplateExpander.java +++ b/services/imports/service/src/main/java/org/collectionspace/services/imports/TemplateExpander.java @@ -47,6 +47,8 @@ import org.collectionspace.services.nuxeo.util.NuxeoUtils; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.xml.sax.InputSource; /** This class expands variables in templates specifically for the imports service. @@ -59,6 +61,8 @@ import org.xml.sax.InputSource; */ public class TemplateExpander { + private final static Logger logger = LoggerFactory.getLogger(TemplateExpander.class); + private static final String DEFAULT_WRAPPER_TEMPLATE_FILENAME = "service-document.xml"; private static Map docTypeSvcNameRegistry = new HashMap(); private static XPath xpath = XPathFactory.newInstance().newXPath(); @@ -318,7 +322,7 @@ public class TemplateExpander { InputSource input = new InputSource(new StringReader(xmlFragmentWrapped)); value = xpath.evaluate(xpathExpr, input); } catch (XPathExpressionException e) { - System.out.println(e.getMessage()); + logger.error(e.getMessage()); } return value; @@ -357,12 +361,14 @@ public class TemplateExpander { TemplateExpander.createDocInWorkspace(TENANT_ID, fragment, serviceName, serviceType, perRecordAttributes, TEMPLATE_DIR, OUPUT_DIR, CSID); } catch (Exception e){ - System.err.println("ERROR calling expandXmlPayloadToDir"+e); + logger.error("ERROR calling expandXmlPayloadToDir"+e); e.printStackTrace(); } } public void onEndDocument(Document document, int fragmentCount){ - System.out.println("====TemplateExpander DONE============\r\n"+ XmlTools.prettyPrint(document)+"================"); + if (logger.isTraceEnabled()) { + logger.trace("====TemplateExpander DONE============\r\n"+ XmlTools.prettyPrint(document)+"================"); + } } //============helper methods============================================================== @@ -390,9 +396,11 @@ public class TemplateExpander { } private void dump(Document context, String currentPath, int fragmentIndex, String fragment){ - System.out.println("====Path============\r\n"+currentPath+'['+fragmentIndex+']'); - System.out.println("====Context=========\r\n"+ XmlTools.prettyPrint(context)); - System.out.println("====Fragment========\r\n"+fragment+"\r\n===================\r\n"); + if (logger.isTraceEnabled()) { + logger.trace("====Path============\r\n"+currentPath+'['+fragmentIndex+']'); + logger.trace("====Context=========\r\n"+ XmlTools.prettyPrint(context)); + logger.trace("====Fragment========\r\n"+fragment+"\r\n===================\r\n"); + } } } diff --git a/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/ImportCommand.java b/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/ImportCommand.java index 29abf6f0c..e6aeb2fa5 100644 --- a/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/ImportCommand.java +++ b/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/ImportCommand.java @@ -5,8 +5,6 @@ import java.util.Calendar; import java.util.HashMap; import java.util.Map; import java.util.TreeSet; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.collectionspace.services.nuxeo.client.java.NuxeoClientEmbedded; import org.collectionspace.services.nuxeo.client.java.NuxeoConnectorEmbedded; import org.nuxeo.ecm.core.api.DocumentModel; @@ -19,10 +17,13 @@ import org.nuxeo.ecm.core.io.DocumentWriter; import org.nuxeo.ecm.core.io.impl.DocumentPipeImpl; import org.nuxeo.ecm.core.io.impl.plugins.DocumentModelWriter; // we use our own override of this: import org.nuxeo.ecm.core.io.impl.plugins.XMLDirectoryReader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; // based loosely on package org.nuxeo.ecm.shell.commands.io.ImportCommand; public class ImportCommand { - private static final Log logger = LogFactory.getLog(ImportCommand.class); + + private final Logger logger = LoggerFactory.getLogger(ImportCommand.class); public String run(String src, String dest, int timeOut) throws Exception { File file = new File(src); @@ -30,16 +31,18 @@ public class ImportCommand { NuxeoClientEmbedded client = NuxeoConnectorEmbedded.getInstance().getClient(); RepositoryInstance repoSession = client.openRepository(timeOut); try { - String msg = String.format("Start of import is Local time: %tT", Calendar.getInstance()); - logger.debug(msg); - System.out.println(msg); + if (logger.isDebugEnabled()) { + String msg = String.format("Start of import is Local time: %tT", Calendar.getInstance()); + logger.debug(msg); + } return importTree(repoSession, file, dest); } catch (Exception e) { throw e; } finally { + if (logger.isDebugEnabled()) { String msg = String.format("End of import is Local time: %tT", Calendar.getInstance()); logger.debug(msg); - System.out.println(msg); + } client.releaseRepository(repoSession); } } @@ -56,7 +59,9 @@ public class ImportCommand { Integer numRecordsImportedForDocType = new Integer(0); int totalRecordsImported = 0; try { - System.out.println("importTree reading file: "+file+(file!=null ? " exists? "+file.exists() : " file param is null")); + if (logger.isInfoEnabled()) { + logger.info("importTree reading file: "+file+(file!=null ? " exists? "+file.exists() : " file param is null")); + } reader = new LoggedXMLDirectoryReader(file); //our overload of XMLDirectoryReader. writer = new DocumentModelWriter(repoSession, toPath, 10); DocumentPipe pipe = new DocumentPipeImpl(10); @@ -115,7 +120,6 @@ public class ImportCommand { if (failed != null) { String msg = "The Import service encountered an exception: " + failed.getLocalizedMessage(); logger.error(msg, failed); - System.err.println(msg); } } return dump.toString(); diff --git a/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/LoggedXMLDirectoryReader.java b/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/LoggedXMLDirectoryReader.java index 6d2ed5713..fc5be016c 100644 --- a/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/LoggedXMLDirectoryReader.java +++ b/services/imports/service/src/main/java/org/collectionspace/services/imports/nuxeo/LoggedXMLDirectoryReader.java @@ -7,7 +7,6 @@ import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; - import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; @@ -20,23 +19,33 @@ import org.nuxeo.ecm.core.io.ExportedDocument; import org.nuxeo.ecm.core.io.impl.AbstractDocumentReader; import org.nuxeo.ecm.core.io.impl.ExportedDocumentImpl; import org.nuxeo.runtime.services.streaming.FileSource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class LoggedXMLDirectoryReader extends AbstractDocumentReader { + + private final Logger logger = LoggerFactory.getLogger(LoggedXMLDirectoryReader.class); + protected Document loadXML(File file) throws IOException { String filename = file.getCanonicalPath(); - System.out.println("~~~~~~~~~~~~~~~~~~~ LoggedXMLDirectoryReader :: "+filename); + + if (logger.isTraceEnabled()) { + logger.trace("~~~~~~~~~~~~~~~~~~~ LoggedXMLDirectoryReader :: "+filename); + } BufferedInputStream in = null; try { in = new BufferedInputStream(new FileInputStream(file)); - System.out.println("~~~~~~~~~~~~~~~~~~~ LoggedXMLDirectoryReader :: "+filename+" :: DONE"); + if (logger.isTraceEnabled()) { + logger.trace("~~~~~~~~~~~~~~~~~~~ LoggedXMLDirectoryReader :: "+filename+" :: DONE"); + } reportList.add("READ: "+filename); return new SAXReader().read(in); } catch (DocumentException e) { IOException ioe = new IOException("Failed to read file document " + file + ": " + e.getMessage()); ioe.setStackTrace(e.getStackTrace()); - System.out.println("~~~~~~~~~~~~~~~~~~~ LoggedXMLDirectoryReader :: "+filename+" :: ERROR"); + logger.error("~~~~~~~~~~~~~~~~~~~ LoggedXMLDirectoryReader :: "+filename+" :: ERROR"); reportList.add("ERROR: "+filename); throw ioe; } finally { -- 2.47.3