Author: fmui
Date: Fri Apr 24 11:55:25 2015
New Revision: 1675823

URL: http://svn.apache.org/r1675823
Log:
code clean up and small fixes

Modified:
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/SessionFactoryFinder.java
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/OAuthAuthenticationProvider.java
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractWebServicesService.java
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/Axis2PortProvider.java
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/FileUtils.java
    
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameterDefaults.java
    
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java
    
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/XMLUtils.java
    
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/java/org/apache/chemistry/opencmis/commons/impl/xml/AbstractXMLConverterTest.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CallContextImpl.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CmisRepositoryContextListener.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyServicesFactory.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/CmisWebServicesServlet.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/AbstractServiceCall.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/test/java/org/apache/chemistry/opencmis/server/impl/CallContextImplTest.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryDiscoveryServiceImpl.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/filter/LoggingFilter.java
    
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/QueryObject.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-browser/src/main/java/org/apache/chemistry/opencmis/browser/BrowseServlet.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/runner/AbstractRunner.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteDocumentTest.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/filecopy/FileCopier.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/main/ObjGenApp.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/mapper/Configurator.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/specexamples/SpecExamples.java
    
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-util/src/test/java/org/apache/chemistry/opencmis/util/content/loremipsum/LoremIpsumTest.java

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/SessionFactoryFinder.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/SessionFactoryFinder.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/SessionFactoryFinder.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/SessionFactoryFinder.java
 Fri Apr 24 11:55:25 2015
@@ -169,7 +169,12 @@ public final class SessionFactoryFinder
             factoryClassName = fallbackClassName;
         }
 
-        Class<?> clazz = cl.loadClass(factoryClassName);
+        Class<?> clazz = null;
+        if (cl != null) {
+            clazz = cl.loadClass(factoryClassName);
+        } else {
+            clazz = Class.forName(factoryClassName);
+        }
 
         SessionFactory result = null;
         try {

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/OAuthAuthenticationProvider.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/OAuthAuthenticationProvider.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/OAuthAuthenticationProvider.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/OAuthAuthenticationProvider.java
 Fri Apr 24 11:55:25 2015
@@ -472,9 +472,8 @@ public class OAuthAuthenticationProvider
 
     private JSONObject parseResponse(HttpURLConnection conn) {
         Reader reader = null;
+        InputStream stream = null;
         try {
-            InputStream stream = null;
-
             int respCode = conn.getResponseCode();
             if (respCode == 401) {
                 Map<String, Map<String, String>> challenges = 
MimeHelper.getChallengesFromAuthenticateHeader(conn
@@ -522,6 +521,9 @@ public class OAuthAuthenticationProvider
             throw new CmisOAuthException("Parsing the OAuth token response 
failed: " + pe.getMessage(), pe);
         } finally {
             IOUtils.consumeAndClose(reader);
+            if (reader == null) {
+                IOUtils.closeQuietly(stream);
+            }
         }
     }
 

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractWebServicesService.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractWebServicesService.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractWebServicesService.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractWebServicesService.java
 Fri Apr 24 11:55:25 2015
@@ -24,7 +24,6 @@ import java.math.BigInteger;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
@@ -47,6 +46,7 @@ import org.apache.chemistry.opencmis.com
 import 
org.apache.chemistry.opencmis.commons.exceptions.CmisStreamNotSupportedException;
 import 
org.apache.chemistry.opencmis.commons.exceptions.CmisUpdateConflictException;
 import 
org.apache.chemistry.opencmis.commons.exceptions.CmisVersioningException;
+import org.apache.chemistry.opencmis.commons.impl.XMLUtils;
 import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisException;
 import org.w3c.dom.Node;
 
@@ -133,13 +133,12 @@ public abstract class AbstractWebService
 
     private static String getNodeAsString(Node node) {
         try {
-            TransformerFactory factory = TransformerFactory.newInstance();
-            Transformer transformrt = factory.newTransformer();
-            transformrt.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, 
"yes");
-            // transformrt.setOutputProperty(OutputKeys.INDENT, "yes");
+            Transformer transformer = XMLUtils.newTransformer();
+            transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, 
"yes");
+            // transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 
             StringWriter sw = new StringWriter();
-            transformrt.transform(new DOMSource(node), new StreamResult(sw));
+            transformer.transform(new DOMSource(node), new StreamResult(sw));
             return sw.toString();
         } catch (TransformerException e) {
             assert false;

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/Axis2PortProvider.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/Axis2PortProvider.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/Axis2PortProvider.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/Axis2PortProvider.java
 Fri Apr 24 11:55:25 2015
@@ -39,6 +39,7 @@ import org.apache.chemistry.opencmis.cli
 import org.apache.chemistry.opencmis.commons.SessionParameter;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
 import 
org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
+import org.apache.chemistry.opencmis.commons.impl.XMLUtils;
 import org.apache.chemistry.opencmis.commons.spi.AuthenticationProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -72,8 +73,7 @@ public class Axis2PortProvider extends A
                 // SOAP header
                 Element soapHeader = authProvider.getSOAPHeaders(portObject);
                 if (soapHeader != null) {
-                    TransformerFactory transFactory = 
TransformerFactory.newInstance();
-                    Transformer transformer = transFactory.newTransformer();
+                    Transformer transformer = XMLUtils.newTransformer();
                     StringWriter headerXml = new StringWriter();
                     
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
                     transformer.transform(new DOMSource(soapHeader), new 
StreamResult(headerXml));

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java
 Fri Apr 24 11:55:25 2015
@@ -37,6 +37,7 @@ import org.apache.chemistry.opencmis.cli
 import org.apache.chemistry.opencmis.commons.SessionParameter;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
 import 
org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
+import org.apache.chemistry.opencmis.commons.impl.XMLUtils;
 import org.apache.chemistry.opencmis.commons.spi.AuthenticationProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,8 +68,7 @@ public class WebSpherePortProvider exten
                 // SOAP header
                 Element soapHeader = authProvider.getSOAPHeaders(portObject);
                 if (soapHeader != null) {
-                    TransformerFactory transFactory = 
TransformerFactory.newInstance();
-                    Transformer transformer = transFactory.newTransformer();
+                    Transformer transformer = XMLUtils.newTransformer();
                     StringWriter headerXml = new StringWriter();
                     
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
                     transformer.transform(new DOMSource(soapHeader), new 
StreamResult(headerXml));

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/FileUtils.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/FileUtils.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/FileUtils.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/util/FileUtils.java
 Fri Apr 24 11:55:25 2015
@@ -253,11 +253,21 @@ public final class FileUtils {
      * @throws CmisBaseException
      */
     public static void download(Document doc, String destinationPath) throws 
IOException {
+        if (doc == null) {
+            return;
+        }
+
         FileOutputStream out = new FileOutputStream(destinationPath);
+
+        ContentStream stream = null;
         try {
-            IOUtils.copy(doc.getContentStream().getStream(), out, 64 * 1024);
+            stream = doc.getContentStream();
+            if (stream != null) {
+                IOUtils.copy(stream.getStream(), out, 64 * 1024);
+            }
         } finally {
             IOUtils.closeQuietly(out);
+            IOUtils.closeQuietly(stream);
         }
     }
 

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameterDefaults.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameterDefaults.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameterDefaults.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameterDefaults.java
 Fri Apr 24 11:55:25 2015
@@ -18,7 +18,7 @@
  */
 package org.apache.chemistry.opencmis.commons;
 
-public class SessionParameterDefaults {
+public final class SessionParameterDefaults {
 
     // utility class
     private SessionParameterDefaults() {

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java
 Fri Apr 24 11:55:25 2015
@@ -301,7 +301,7 @@ public final class WSConverter {
         try {
             streamDataHandlerClass2 = 
Class.forName("com.sun.xml.internal.org.jvnet.staxex.StreamingDataHandler");
             streamDataHandlerReadMethod2 = 
streamDataHandlerClass2.getMethod("readOnce", new Class<?>[0]);
-            streamDataHandlerCloseMethod2 = 
streamDataHandlerClass1.getMethod("close", new Class<?>[0]);
+            streamDataHandlerCloseMethod2 = 
streamDataHandlerClass2.getMethod("close", new Class<?>[0]);
         } catch (Exception e) {
             streamDataHandlerClass2 = null;
             streamDataHandlerReadMethod2 = null;

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/XMLUtils.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/XMLUtils.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/XMLUtils.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/XMLUtils.java
 Fri Apr 24 11:55:25 2015
@@ -33,6 +33,10 @@ import javax.xml.stream.XMLOutputFactory
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerFactory;
 
 import 
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
 import org.slf4j.Logger;
@@ -71,8 +75,7 @@ public final class XMLUtils {
                 // ignore
             }
 
-            LOG.warn("Unsupported StAX parser: " + 
factory.getClass().getName() + " (Exception: " + e.toString() + ")",
-                    e);
+            LOG.warn("Unsupported StAX parser: {} (Exception: {})", 
factory.getClass().getName(), e.toString(), e);
         }
 
         factory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);
@@ -106,8 +109,7 @@ public final class XMLUtils {
                 // ignore
             }
 
-            LOG.warn("Unsupported StAX parser: " + 
factory.getClass().getName() + " (Exception: " + e.toString() + ")",
-                    e);
+            LOG.warn("Unsupported StAX parser: {} (Exception: {})", 
factory.getClass().getName(), e.toString(), e);
         }
 
         factory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, 
Boolean.FALSE);
@@ -302,8 +304,8 @@ public final class XMLUtils {
     /**
      * Moves the parser to the next start element.
      * 
-     * @return <code>true</code> if another start element has been found,
-     *         <code>false</code> otherwise
+     * @return {@code true} if another start element has been found,
+     *         {@code false} otherwise
      */
     public static boolean findNextStartElemenet(XMLStreamReader parser) throws 
XMLStreamException {
         assert parser != null;
@@ -401,4 +403,29 @@ public final class XMLUtils {
             IOException {
         return newDocumentBuilder().parse(stream);
     }
+
+    // --------------------------
+    // ---- Transformer stuff ---
+    // --------------------------
+
+    private static TransformerFactory newTransformerFactory() throws 
TransformerConfigurationException {
+        TransformerFactory factory = TransformerFactory.newInstance();
+        factory.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, 
true);
+
+        return factory;
+    }
+
+    public static Transformer newTransformer() throws 
TransformerConfigurationException {
+        return newTransformerFactory().newTransformer();
+    }
+
+    public static Transformer newTransformer(int indent) throws 
TransformerConfigurationException {
+        TransformerFactory factory = newTransformerFactory();
+        factory.setAttribute("indent-number", Integer.valueOf(indent));
+
+        Transformer transformer = factory.newTransformer();
+        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+
+        return transformer;
+    }
 }

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/java/org/apache/chemistry/opencmis/commons/impl/xml/AbstractXMLConverterTest.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/java/org/apache/chemistry/opencmis/commons/impl/xml/AbstractXMLConverterTest.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/java/org/apache/chemistry/opencmis/commons/impl/xml/AbstractXMLConverterTest.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/test/java/org/apache/chemistry/opencmis/commons/impl/xml/AbstractXMLConverterTest.java
 Fri Apr 24 11:55:25 2015
@@ -28,11 +28,9 @@ import java.io.StringWriter;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
-import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 import javax.xml.validation.Schema;
@@ -226,11 +224,7 @@ public abstract class AbstractXMLConvert
      * Formats an XML document.
      */
     protected String format(byte[] xmlDocument) throws TransformerException {
-        TransformerFactory tf = TransformerFactory.newInstance();
-        tf.setAttribute("indent-number", Integer.valueOf(2));
-
-        Transformer transformer = tf.newTransformer();
-        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+        Transformer transformer = XMLUtils.newTransformer(2);
 
         StreamResult result = new StreamResult(new StringWriter());
         Source source = new StreamSource(new 
ByteArrayInputStream(xmlDocument));

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CallContextImpl.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CallContextImpl.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CallContextImpl.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CallContextImpl.java
 Fri Apr 24 11:55:25 2015
@@ -152,17 +152,17 @@ public class CallContextImpl implements
             }
 
             String[] locale = langRange.split("-");
-            String local0 = locale[0].trim();
+            String locale0 = locale[0].trim();
 
             language = null;
             country = null;
 
-            if (!locale.equals("*")) {
-                language = local0;
+            if (!locale0.equals("*")) {
+                language = locale0;
                 if (locale.length > 1) {
-                    String local1 = locale[1].trim();
-                    if (!local1.equals("*")) {
-                        country = local1;
+                    String locale1 = locale[1].trim();
+                    if (!locale1.equals("*")) {
+                        country = locale1;
                     }
                 }
             }

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CmisRepositoryContextListener.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CmisRepositoryContextListener.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CmisRepositoryContextListener.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/CmisRepositoryContextListener.java
 Fri Apr 24 11:55:25 2015
@@ -59,7 +59,7 @@ public class CmisRepositoryContextListen
         try {
             factory = createServiceFactory(configFilename);
         } catch (Exception e) {
-            LOG.error("Service factory couldn't be created: " + e.toString(), 
e);
+            LOG.error("Service factory couldn't be created: {}", e.toString(), 
e);
             return;
         }
 
@@ -74,7 +74,7 @@ public class CmisRepositoryContextListen
             try {
                 factory.destroy();
             } catch (Exception e) {
-                LOG.error("Service factory couldn't be destroyed: " + 
e.toString(), e);
+                LOG.error("Service factory couldn't be destroyed: {}", 
e.toString(), e);
                 return;
             }
         }
@@ -96,7 +96,7 @@ public class CmisRepositoryContextListen
         try {
             props.load(stream);
         } catch (IOException e) {
-            LOG.warn("Cannot load configuration: " + e, e);
+            LOG.warn("Cannot load configuration: {}", e.toString(), e);
             return null;
         } finally {
             IOUtils.closeQuietly(stream);
@@ -114,7 +114,7 @@ public class CmisRepositoryContextListen
         try {
             object = ClassLoaderUtil.loadClass(className).newInstance();
         } catch (Exception e) {
-            LOG.warn("Could not create a services factory instance: " + e, e);
+            LOG.warn("Could not create a services factory instance: {}", 
e.toString(), e);
             return null;
         }
 
@@ -135,7 +135,9 @@ public class CmisRepositoryContextListen
 
         factory.init(parameters);
 
-        LOG.info("Initialized Services Factory: " + 
factory.getClass().getName());
+        if (LOG.isInfoEnabled()) {
+            LOG.info("Initialized Services Factory: {}", 
factory.getClass().getName());
+        }
 
         return factory;
     }

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyServicesFactory.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyServicesFactory.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyServicesFactory.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/DummyServicesFactory.java
 Fri Apr 24 11:55:25 2015
@@ -60,12 +60,12 @@ public class DummyServicesFactory extend
         // create a repository service
         service = new DummyService(id, name);
 
-        LOG.info("Initialized dummy repository '" + name + "' (" + id + ")");
+        LOG.info("Initialized dummy repository '{}' ({})", name, id);
     }
 
     @Override
     public void destroy() {
-        LOG.info("Destroyed dummy repository '" + name + "' (" + id + ")");
+        LOG.info("Destroyed dummy repository '{}' ({})", name, id);
     }
 
     @Override

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/CmisWebServicesServlet.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/CmisWebServicesServlet.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/CmisWebServicesServlet.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/CmisWebServicesServlet.java
 Fri Apr 24 11:55:25 2015
@@ -111,6 +111,8 @@ public class CmisWebServicesServlet exte
             return IOUtils.readAllLines(stream);
         } catch (IOException e) {
             throw new ServletException("Cannot read file '" + path + "': " + 
e.getMessage(), e);
+        } finally {
+            IOUtils.closeQuietly(stream);
         }
     }
 

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/AbstractServiceCall.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/AbstractServiceCall.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/AbstractServiceCall.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/shared/AbstractServiceCall.java
 Fri Apr 24 11:55:25 2015
@@ -167,7 +167,7 @@ public abstract class AbstractServiceCal
             RedirectingContentStream rcs = (RedirectingContentStream) content;
             // close stream
             if (content.getStream() != null) {
-                content.getStream().close();
+                IOUtils.closeQuietly(content.getStream());
             }
 
             if (rcs.getLocation() != null) {

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/test/java/org/apache/chemistry/opencmis/server/impl/CallContextImplTest.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/test/java/org/apache/chemistry/opencmis/server/impl/CallContextImplTest.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/test/java/org/apache/chemistry/opencmis/server/impl/CallContextImplTest.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/test/java/org/apache/chemistry/opencmis/server/impl/CallContextImplTest.java
 Fri Apr 24 11:55:25 2015
@@ -45,6 +45,21 @@ public class CallContextImplTest {
         assertEquals("abc", context.get(CallContext.LOCALE_ISO639_LANGUAGE));
         assertEquals("123", context.get(CallContext.LOCALE_ISO3166_COUNTRY));
         assertEquals("abc-123", context.getLocale());
+
+        context.setAcceptLanguage("en;q=0.1,*;q=0.8");
+        assertNull(context.get(CallContext.LOCALE_ISO639_LANGUAGE));
+        assertNull(context.get(CallContext.LOCALE_ISO3166_COUNTRY));
+        assertNull(context.getLocale());
+
+        context.setAcceptLanguage("fr");
+        assertEquals("fr", context.get(CallContext.LOCALE_ISO639_LANGUAGE));
+        assertNull(context.get(CallContext.LOCALE_ISO3166_COUNTRY));
+        assertEquals("fr", context.getLocale());
+
+        context.setAcceptLanguage("de-*");
+        assertEquals("de", context.get(CallContext.LOCALE_ISO639_LANGUAGE));
+        assertNull(context.get(CallContext.LOCALE_ISO3166_COUNTRY));
+        assertEquals("de", context.getLocale());
     }
 
     @Test

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryDiscoveryServiceImpl.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryDiscoveryServiceImpl.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryDiscoveryServiceImpl.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryDiscoveryServiceImpl.java
 Fri Apr 24 11:55:25 2015
@@ -112,8 +112,10 @@ public class InMemoryDiscoveryServiceImp
         objList.setHasMoreItems(false);
 
         String changeToken = "token-" + (token + lod.size() - 1);
-        changeLogToken.setValue(changeToken);
-
+        if(changeLogToken != null) {
+            changeLogToken.setValue(changeToken);
+        }
+        
         // To be able to provide all Atom links in the response we need
         // additional information:
         if (objectInfos != null) {

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.java
 Fri Apr 24 11:55:25 2015
@@ -248,7 +248,7 @@ public class RepositoryServiceMutability
 
     private void checkAddingType(String repositoryId, TypeDefinition typeDef, 
Class<? extends Exception> clazz) {
         try {
-            typeDef = fRepSvc.createType(repositoryId, typeDef, null);
+            fRepSvc.createType(repositoryId, typeDef, null);
             fail("Illegal type should throw a " + clazz.getName());
         } catch (RuntimeException e) {
             assertTrue("Illegal type name threw wrong exception type (should 
be a " + clazz.getName() + ")",

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/filter/LoggingFilter.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/filter/LoggingFilter.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/filter/LoggingFilter.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/filter/LoggingFilter.java
 Fri Apr 24 11:55:25 2015
@@ -46,16 +46,15 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletRequestWrapper;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
-import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
 import org.apache.chemistry.opencmis.commons.impl.DateTimeHelper;
 import org.apache.chemistry.opencmis.commons.impl.IOUtils;
+import org.apache.chemistry.opencmis.commons.impl.XMLUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -138,7 +137,9 @@ public class LoggingFilter implements Fi
             }
 
             xmlRequest = sb.toString() + xmlRequest;
-            LOG.debug("Found request: " + requestFileName + ": " + xmlRequest);
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Found request: {}: {}", requestFileName, 
xmlRequest);
+            }
             writeTextToFile(requestFileName, xmlRequest);
 
             sb = new StringBuilder();
@@ -165,7 +166,11 @@ public class LoggingFilter implements Fi
             }
 
             xmlResponse = sb.toString() + xmlResponse;
-            LOG.debug("Found response: " + responseFileName + ": " + 
xmlResponse);
+
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Found response: {}: {}", responseFileName, 
xmlResponse);
+            }
+
             writeTextToFile(responseFileName, xmlResponse);
         } else {
             chain.doFilter(req, resp);
@@ -200,10 +205,7 @@ public class LoggingFilter implements Fi
             Source xmlInput = new StreamSource(new StringReader(input));
             StringWriter stringWriter = new StringWriter();
             StreamResult xmlOutput = new StreamResult(stringWriter);
-            TransformerFactory transformerFactory = 
TransformerFactory.newInstance();
-            transformerFactory.setAttribute("indent-number", indent);
-            Transformer transformer = transformerFactory.newTransformer();
-            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+            Transformer transformer = XMLUtils.newTransformer(indent);
             transformer.transform(xmlInput, xmlOutput);
             return xmlOutput.getWriter().toString();
         } catch (Exception e) {
@@ -224,7 +226,11 @@ public class LoggingFilter implements Fi
             endIndex = cType.length();
         }
         String boundary = "--" + cType.substring(beginIndex, endIndex);
-        LOG.debug("Boundary = " + boundary);
+
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Boundary = {}", boundary);
+        }
+
         BufferedReader in = new BufferedReader(new StringReader(messageBody));
         StringBuffer out = new StringBuffer();
         String line;
@@ -248,7 +254,9 @@ public class LoggingFilter implements Fi
                         }
                         boundaryFound = line.startsWith(boundary);
                         if (boundaryFound) {
-                            LOG.debug("Leaving XML body: " + line);
+                            if (LOG.isDebugEnabled()) {
+                                LOG.debug("Leaving XML body: {}", line);
+                            }
                             inXmlOrJsonBody = false;
                             inXmlOrJsonPart = false;
                             if (isXml) {
@@ -262,12 +270,16 @@ public class LoggingFilter implements Fi
                         }
                     }
                 } else {
-                    LOG.debug("in XML part is: " + line);
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("in XML part is: {}", line);
+                    }
                     out.append(line).append('\n');
                 }
 
             } else {
-                LOG.debug("not in XML part: " + line);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("not in XML part: {}", line);
+                }
                 out.append(line).append('\n');
                 boundaryFound = line.startsWith(boundary);
                 if (boundaryFound) {
@@ -415,7 +427,7 @@ public class LoggingFilter implements Fi
         private LoggingOutputStream os;
         private PrintWriter writer;
         private int statusCode;
-        private Map<String, String> headers = new HashMap<String, String>();
+        private final Map<String, String> headers = new HashMap<String, 
String>();
         private String encoding;
 
         public LoggingResponseWrapper(HttpServletResponse response) throws 
IOException {
@@ -431,7 +443,7 @@ public class LoggingFilter implements Fi
                 }
                 return writer;
             } catch (IOException e) {
-                LOG.error("Failed to get PrintWriter in LoggingFilter: " + e, 
e);
+                LOG.error("Failed to get PrintWriter in LoggingFilter: {}", 
e.toString(), e);
                 return null;
             }
         }

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/QueryObject.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/QueryObject.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/QueryObject.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/QueryObject.java
 Fri Apr 24 11:55:25 2015
@@ -167,7 +167,9 @@ public class QueryObject {
     }
 
     public void addAlias(String aliasName, CmisSelector aliasRef) {
-        LOG.debug("add alias: " + aliasName + " for: " + aliasRef);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("add alias: {} for: {}", aliasName, aliasRef);
+        }
         if (colOrFuncAlias.containsKey(aliasName)) {
             throw new CmisQueryException("You cannot use name " + aliasName + 
" more than once as alias in a select.");
         } else {
@@ -185,7 +187,10 @@ public class QueryObject {
 
     public String addType(String aliasName, String typeQueryName) {
         try {
-            LOG.debug("add alias: " + aliasName + " for: " + typeQueryName);
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("add alias: {} for: {}", aliasName, typeQueryName);
+            }
+
             if (froms.containsKey(aliasName)) {
                 throw new CmisQueryException("You cannot use name " + aliasName
                         + " more than once as alias in a from part.");
@@ -334,7 +339,9 @@ public class QueryObject {
     // WHERE part
 
     public void addWhereReference(Tree node, CmisSelector reference) {
-        LOG.debug("add node to where: " + System.identityHashCode(node));
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("add node to where: {}", System.identityHashCode(node));
+        }
         columnReferences.put(node.getTokenStartIndex(), reference);
         whereReferences.add(reference);
     }
@@ -357,7 +364,9 @@ public class QueryObject {
     }
 
     public void addSortCriterium(Tree node, ColumnReference colRef, boolean 
ascending) {
-        LOG.debug("addSortCriterium: " + colRef + " ascending: " + ascending);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("addSortCriterium: {} ascending: {}", colRef, ascending);
+        }
         columnReferences.put(node.getTokenStartIndex(), colRef);
         sortSpecs.add(new SortSpec(node.getTokenStartIndex(), ascending));
     }

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-browser/src/main/java/org/apache/chemistry/opencmis/browser/BrowseServlet.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-browser/src/main/java/org/apache/chemistry/opencmis/browser/BrowseServlet.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-browser/src/main/java/org/apache/chemistry/opencmis/browser/BrowseServlet.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-browser/src/main/java/org/apache/chemistry/opencmis/browser/BrowseServlet.java
 Fri Apr 24 11:55:25 2015
@@ -119,6 +119,12 @@ public class BrowseServlet extends HttpS
                         LOG.info("Stylesheet: '" + stylesheetKey + "' -> '" + 
stylesheetFileName + "'");
                     } catch (Exception e) {
                         LOG.error(e.getMessage(), e);
+                    } finally {
+                        try {
+                            stream.close();
+                        } catch (IOException e) {
+                            // ignore
+                        }
                     }
                 }
             }
@@ -212,7 +218,7 @@ public class BrowseServlet extends HttpS
 
             // debug messages
             if (LOG.isDebugEnabled()) {
-                LOG.debug("'" + browseUrl + "' -> '" + conn.getContentType() + 
"'");
+                LOG.debug("'{}' -> '{}'", browseUrl, conn.getContentType());
             }
 
             // find stylesheet
@@ -234,6 +240,8 @@ public class BrowseServlet extends HttpS
             } else {
                 // apply stylesheet
                 TransformerFactory f = TransformerFactory.newInstance();
+                f.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, 
true);
+
                 Transformer t = f.newTransformer(stylesheet);
                 t.setParameter("browseUrl", getServletUrl(req) + "?" + 
PARAM_URL + "=");
                 t.setParameter("auxRoot", getAuxRoot(req, fAuxRoot));
@@ -307,7 +315,7 @@ public class BrowseServlet extends HttpS
             int i = 0;
             while (source == null && i < ctp.length) {
                 if (i > 0) {
-                    match.append(";");
+                    match.append(';');
                 }
                 match.append(ctp[i]);
                 source = fStyleSheets.get(match.toString());

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
 Fri Apr 24 11:55:25 2015
@@ -3531,7 +3531,7 @@ public abstract class AbstractSessionTes
                     } else if (propDef instanceof PropertyIntegerDefinition) {
                         PropertyIntegerDefinition intPropDef = 
(PropertyIntegerDefinition) propDef;
 
-                        if (intPropDef.getMinValue() != null & 
intPropDef.getMaxValue() != null) {
+                        if (intPropDef.getMinValue() != null && 
intPropDef.getMaxValue() != null) {
                             if 
(intPropDef.getMinValue().compareTo(intPropDef.getMaxValue()) == 0) {
                                 f = createResult(WARNING, "Min and max values 
are equal!");
                                 addResult(results, f);
@@ -3543,7 +3543,7 @@ public abstract class AbstractSessionTes
                     } else if (propDef instanceof PropertyDecimalDefinition) {
                         PropertyDecimalDefinition decPropDef = 
(PropertyDecimalDefinition) propDef;
 
-                        if (decPropDef.getMinValue() != null & 
decPropDef.getMaxValue() != null) {
+                        if (decPropDef.getMinValue() != null && 
decPropDef.getMaxValue() != null) {
                             if 
(decPropDef.getMinValue().compareTo(decPropDef.getMaxValue()) == 0) {
                                 f = createResult(WARNING, "Min and max values 
are equal!");
                                 addResult(results, f);

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/runner/AbstractRunner.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/runner/AbstractRunner.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/runner/AbstractRunner.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/runner/AbstractRunner.java
 Fri Apr 24 11:55:25 2015
@@ -80,7 +80,12 @@ public abstract class AbstractRunner {
             throw new IllegalArgumentException("File not found!");
         }
 
-        loadParameters(new FileInputStream(file));
+        InputStream stream = new FileInputStream(file);
+        try {
+            loadParameters(stream);
+        } finally {
+            IOUtils.closeQuietly(stream);
+        }
     }
 
     public void loadParameters(InputStream stream) throws IOException {
@@ -103,6 +108,8 @@ public abstract class AbstractRunner {
                 return IOUtils.readAllLines(stream);
             } catch (IOException e) {
                 return "";
+            } finally {
+                IOUtils.closeQuietly(stream);
             }
         }
 
@@ -120,6 +127,8 @@ public abstract class AbstractRunner {
                 return null;
             } catch (IOException e) {
                 return null;
+            } finally {
+                IOUtils.closeQuietly(stream);
             }
         }
 
@@ -129,7 +138,14 @@ public abstract class AbstractRunner {
     // --- groups ---
 
     public void loadDefaultTckGroups() throws Exception {
-        loadGroups(this.getClass().getResourceAsStream(DEFAULT_TCK_GROUPS));
+        InputStream stream = 
this.getClass().getResourceAsStream(DEFAULT_TCK_GROUPS);
+        if (stream != null) {
+            try {
+                loadGroups(stream);
+            } finally {
+                IOUtils.closeQuietly(stream);
+            }
+        }
     }
 
     public void loadGroups(File file) throws Exception {
@@ -137,7 +153,12 @@ public abstract class AbstractRunner {
             throw new IllegalArgumentException("File not found!");
         }
 
-        loadGroups(new FileInputStream(file));
+        InputStream stream = new FileInputStream(file);
+        try {
+            loadGroups(stream);
+        } finally {
+            IOUtils.closeQuietly(stream);
+        }
     }
 
     public void loadGroups(InputStream stream) throws Exception {

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteDocumentTest.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteDocumentTest.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteDocumentTest.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteDocumentTest.java
 Fri Apr 24 11:55:25 2015
@@ -145,7 +145,7 @@ public class CreateAndDeleteDocumentTest
             for (CmisObject child : page2) {
                 count++;
 
-                if (count == 1) {
+                if (count == 1 && lastObject != null) {
                     f = createResult(FAILURE,
                             "Last object of the first page doesn't match the 
first object of the second page.");
                     addResult(assertEquals(lastObject.getId(), child.getId(), 
null, f));

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/filecopy/FileCopier.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/filecopy/FileCopier.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/filecopy/FileCopier.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/filecopy/FileCopier.java
 Fri Apr 24 11:55:25 2015
@@ -73,9 +73,11 @@ public class FileCopier {
             if (fileOrDir.isDirectory()) {
                 String newFolderId = 
createFolderInRepository(fileOrDir.getAbsolutePath(), folderId);
                 File[] children = fileOrDir.listFiles();
-                for (File file : children) {
-                    if (!file.getName().equals(".") && 
!file.getName().equals("..")) {
-                        copyRecursive(file.getAbsolutePath(), newFolderId);
+                if (children != null) {
+                    for (File file : children) {
+                        if (!file.getName().equals(".") && 
!file.getName().equals("..")) {
+                            copyRecursive(file.getAbsolutePath(), newFolderId);
+                        }
                     }
                 }
             } else {

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/main/ObjGenApp.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/main/ObjGenApp.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/main/ObjGenApp.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/main/ObjGenApp.java
 Fri Apr 24 11:55:25 2015
@@ -36,6 +36,7 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.enums.BindingType;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
 import org.apache.chemistry.opencmis.commons.impl.IOUtils;
+import 
org.apache.chemistry.opencmis.commons.impl.dataobjects.ContentStreamImpl;
 import org.apache.chemistry.opencmis.commons.spi.CmisBinding;
 import org.apache.chemistry.opencmis.commons.spi.RepositoryService;
 import org.apache.chemistry.opencmis.tools.filecopy.FileCopier;
@@ -99,7 +100,7 @@ public class ObjGenApp {
     private String contentKindStr;
     private String fileNamePattern;
     private String localDir;
-    private String localFile;   
+    private String localFile;
 
     public static void main(String[] args) {
 
@@ -146,8 +147,8 @@ public class ObjGenApp {
                 .describedAs("Documents on each level").defaultsTo(1);
         optFolderPerFolder = 
parser.accepts(FILLER_FOLDERS_PER_FOLDER).withOptionalArg().ofType(Integer.class)
                 .describedAs(" Folders on each level").defaultsTo(0);
-        optDepth = 
parser.accepts(FILLER_DEPTH).withOptionalArg().ofType(Integer.class).describedAs("Levels
 of folders")
-                .defaultsTo(1);
+        optDepth = 
parser.accepts(FILLER_DEPTH).withOptionalArg().ofType(Integer.class)
+                .describedAs("Levels of folders").defaultsTo(1);
         optContentSize = 
parser.accepts(FILLER_CONTENT_SIZE).withOptionalArg().ofType(Integer.class)
                 .describedAs("Content size of each doc").defaultsTo(0);
         optCount = 
parser.accepts(COUNT).withOptionalArg().ofType(Integer.class).defaultsTo(1)
@@ -158,7 +159,8 @@ public class ObjGenApp {
                 .describedAs("folder id used as root to create objects 
(default repository root folder)");
         optThreads = 
parser.accepts(THREADS).withOptionalArg().ofType(Integer.class).defaultsTo(1)
                 .describedAs("Number of threads to start in parallel");
-        optContentKindStr = 
parser.accepts(CONTENT_KIND).withOptionalArg().ofType(String.class).defaultsTo("lorem/text")
+        optContentKindStr = 
parser.accepts(CONTENT_KIND).withOptionalArg().ofType(String.class)
+                .defaultsTo("lorem/text")
                 .describedAs("kind of content: static/text, lorem/text, 
lorem/html, fractal/jpeg");
         optFileNamePattern = 
parser.accepts(FILE_NAME_PATTERN).withOptionalArg().ofType(String.class)
                 .defaultsTo("ContentData-%03d.bin").describedAs("file name 
pattern to be used with CreateFiles action");
@@ -338,12 +340,9 @@ public class ObjGenApp {
         printParameters(options);
         int noThreads = threads;
         if (noThreads <= 1) {
-            createSingleDocument(repositoryId, docType, contentSize,
-                    rootFolder, count, cleanup);
+            createSingleDocument(repositoryId, docType, contentSize, 
rootFolder, count, cleanup);
         } else {
-            createSingleDocumentMT(noThreads, repositoryId, docType,
-                    contentSize, rootFolder, count,
-                    cleanup);
+            createSingleDocumentMT(noThreads, repositoryId, docType, 
contentSize, rootFolder, count, cleanup);
         }
     }
 
@@ -358,15 +357,11 @@ public class ObjGenApp {
 
         int noThreads = threads;
         if (noThreads <= 1) {
-            fillRepository(repositoryId, docsPerFolder,
-                    folderPerFolder, depth, docType,
-                    folderType, contentSize, rootFolder,
-                    cleanup);
+            fillRepository(repositoryId, docsPerFolder, folderPerFolder, 
depth, docType, folderType, contentSize,
+                    rootFolder, cleanup);
         } else {
-            fillRepositoryMT(noThreads, repositoryId, docsPerFolder,
-                    folderPerFolder, depth, docType,
-                    folderType, contentSize, rootFolder,
-                    cleanup);
+            fillRepositoryMT(noThreads, repositoryId, docsPerFolder, 
folderPerFolder, depth, docType, folderType,
+                    contentSize, rootFolder, cleanup);
         }
 
     }
@@ -378,11 +373,9 @@ public class ObjGenApp {
         System.out.println("Folder Type: " + folderType);
         int noThreads = threads;
         if (noThreads <= 1) {
-            createFolders(repositoryId, folderType, rootFolder,
-                    count, cleanup);
+            createFolders(repositoryId, folderType, rootFolder, count, 
cleanup);
         } else {
-            createFoldersMT(noThreads, repositoryId, folderType,
-                    rootFolder, count, cleanup);
+            createFoldersMT(noThreads, repositoryId, folderType, rootFolder, 
count, cleanup);
         }
     }
 
@@ -506,6 +499,10 @@ public class ObjGenApp {
                     }
                 }
 
+                if (contentStream == null) {
+                    contentStream = new ContentStreamImpl("empty.txt", 
"text/plain", "");
+                }
+
                 // write to a file:
                 is = contentStream.getStream();
                 os = new FileOutputStream(fileName);
@@ -598,7 +595,7 @@ public class ObjGenApp {
             } else if (bindingType == BindingType.BROWSER) {
                 binding = createBrowserBinding(getBrowserUrl(), getUser(), 
getPassword());
             }
-            
+
             RepositoryInfo repoInfo = 
binding.getRepositoryService().getRepositoryInfo(null, null);
             if (null == repositoryId) {
                 repositoryId = repoInfo.getId();

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/mapper/Configurator.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/mapper/Configurator.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/mapper/Configurator.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/mapper/Configurator.java
 Fri Apr 24 11:55:25 2015
@@ -24,6 +24,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
+import org.apache.chemistry.opencmis.commons.impl.IOUtils;
 import org.apache.chemistry.opencmis.tools.parser.MetadataParser;
 import org.apache.chemistry.opencmis.tools.parser.MetadataParserTika;
 import org.slf4j.Logger;
@@ -92,6 +93,8 @@ public class Configurator {
                 LOG.error(e.toString(), e);
                 e.printStackTrace();
                 throw new MapperException("Could not load file 
mapping.properties as resource", e);
+            } finally {
+                IOUtils.closeQuietly(in);
             }
         }
     }

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/specexamples/SpecExamples.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/specexamples/SpecExamples.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/specexamples/SpecExamples.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tools/src/main/java/org/apache/chemistry/opencmis/tools/specexamples/SpecExamples.java
 Fri Apr 24 11:55:25 2015
@@ -88,11 +88,11 @@ public class SpecExamples {
     private static final String VERSIONED_TYPE = "VersionableType";
     private static final String VERSIONED_PROP = "VersionedStringProp";
     private static final String LOGDIR = 
System.getProperty("java.io.tmpdir");// +
-                                                                        // 
File.separator;
+    // File.separator;
     private static final String ROOT_URL = "http://localhost:8080/inmemory";;
-    private static final String ROOT_URL_OASIS = 
"http://www.example.com:8080/inmemory";; 
-      // required by OASIS rules, add this host to your hosts file
-    
+    private static final String ROOT_URL_OASIS = 
"http://www.example.com:8080/inmemory";;
+    // required by OASIS rules, add this host to your hosts file
+
     static int NO_FILES_LOGGED = 0;
 
     private String targetDir = System.getProperty("java.io.tmpdir");
@@ -739,7 +739,11 @@ public class SpecExamples {
         File dir = new File(directoryPath);
         FileFilter fileFilter = new WildcardFileFilter(wildcardFilter);
         File[] files = dir.listFiles(fileFilter);
-        LOG.debug("Number of files in filter dir " + files.length);
+        if (files == null) {
+            files = new File[0];
+        }
+
+        LOG.debug("Number of files in filter dir {}", files.length);
         if (files.length < NO_FILES_LOGGED) {
             LOG.warn("WARNING TOO FEW FILES!");
             // There might be some problem with disk caching, seems that
@@ -751,6 +755,9 @@ public class SpecExamples {
                 LOG.error("Thread interrupted: ", e);
             }
             files = dir.listFiles(fileFilter);
+            if (files == null) {
+                files = new File[0];
+            }
             if (files.length < NO_FILES_LOGGED) {
                 LOG.error("WARNING TOO FEW FILES EVEN AFTER SECOND TRY!!!");
             }
@@ -780,28 +787,34 @@ public class SpecExamples {
     private static boolean deleteDirRecursive(File path) {
         if (path.exists()) {
             File[] files = path.listFiles();
-            for (int i = 0; i < files.length; i++) {
-                if (files[i].isDirectory()) {
-                    deleteDirRecursive(files[i]);
-                } else {
-                    files[i].delete();
+            if (files != null) {
+                for (int i = 0; i < files.length; i++) {
+                    if (files[i].isDirectory()) {
+                        deleteDirRecursive(files[i]);
+                    } else {
+                        files[i].delete();
+                    }
                 }
             }
         }
-        return (path.delete());
+        return path.delete();
     }
 
     private void cleanLogFilterDir() {
         File dir = new File(LOGDIR);
         FileFilter fileFilter = new WildcardFileFilter("*-request.log");
         File[] files = dir.listFiles(fileFilter);
-        for (File f : files) {
-            f.delete();
+        if (files != null) {
+            for (File f : files) {
+                f.delete();
+            }
         }
         fileFilter = new WildcardFileFilter("*-response.log");
         files = dir.listFiles(fileFilter);
-        for (File f : files) {
-            f.delete();
+        if (files != null) {
+            for (File f : files) {
+                f.delete();
+            }
         }
     }
 }

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-util/src/test/java/org/apache/chemistry/opencmis/util/content/loremipsum/LoremIpsumTest.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-util/src/test/java/org/apache/chemistry/opencmis/util/content/loremipsum/LoremIpsumTest.java?rev=1675823&r1=1675822&r2=1675823&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-util/src/test/java/org/apache/chemistry/opencmis/util/content/loremipsum/LoremIpsumTest.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-util/src/test/java/org/apache/chemistry/opencmis/util/content/loremipsum/LoremIpsumTest.java
 Fri Apr 24 11:55:25 2015
@@ -48,7 +48,7 @@ public class LoremIpsumTest {
 
     @Before
     public void setUp() throws Exception {
-        dictionary.split(" ");
+        // dictionary.split(" ");
     }
 
     @After


Reply via email to