Update of 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/xml
In directory 
james.mmbase.org:/tmp/cvs-serv19747/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/xml

Modified Files:
        XMLServlet.java XMLController.java 
Log Message:
CMSC-907 Code Quality with PMD
PMD error fixes


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/xml
See also: http://www.mmbase.org/jira/browse/CMSC-907


Index: XMLServlet.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/xml/XMLServlet.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- XMLServlet.java     16 May 2008 11:46:35 -0000      1.11
+++ XMLServlet.java     9 Jun 2008 21:23:23 -0000       1.12
@@ -5,6 +5,7 @@
 import java.util.Arrays;
 import java.util.List;
 
+import javax.servlet.ServletException;
 import javax.servlet.http.*;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
@@ -57,10 +58,11 @@
     */
    public static final String CS = "/";
 
-   private final XMLController xmlController;
+   private XMLController xmlController;
 
-
-   public XMLServlet() {
+   @Override
+   public void init() throws ServletException {
+      super.init();
       List<String> disallowedTypes = getDisallowedTypes();
       List<String> allowedTypes = getAllowedTypes();
 
@@ -74,7 +76,6 @@
             disallowedFields, allowedFields);
    }
 
-
    protected List<String> getAllowedFields() {
       return null;
    }
@@ -184,9 +185,8 @@
          else {
             xml = xmlController.toXml(node, RepositoryUtil.CONTENTCHANNEL);
          }
-         xml = transformXml(xsl, xml);
-         HttpUtil.sendXml(xml, response);
-         return;
+         String transformedXml = transformXml(xsl, xml);
+         HttpUtil.sendXml(transformedXml, response);
       }
       catch (IOException e) {
          if (log.isDebugEnabled()) {
@@ -225,8 +225,7 @@
 
    protected Cloud getCloud() {
       // This cloud can only be read from.
-      Cloud cloud = 
CloudProviderFactory.getCloudProvider().getAnonymousCloud();
-      return cloud;
+      return CloudProviderFactory.getCloudProvider().getAnonymousCloud();
    }
 
 
@@ -277,7 +276,7 @@
 
       // add other constraints
       if (StringUtils.isNotBlank(filterName) && 
StringUtils.isNotBlank(filterValue)) {
-         // check if field exsists
+         // check if field exists
          if (queryNodeManager.hasField(filterName)) {
             Field field = queryNodeManager.getField(filterName);
             FieldValueConstraint constraint = 
query.createConstraint(query.getStepField(field),
@@ -301,17 +300,17 @@
       int contentSize = Queries.count(query);
 
       NodeList contentlist = queryNodeManager.getList(query);
-      String xml = "";
       try {
-         if (Boolean.valueOf(numbersOnly).booleanValue()) {
+         String xml = "";
+         if (Boolean.parseBoolean(numbersOnly)) {
             xml = xmlController.toXmlNumbersOnly(channelNode, contentlist, 
contentSize);
          }
          else {
             xml = xmlController.toXml(channelNode, contentlist, contentSize);
          }
 
-         xml = transformXml(xsl, xml);
-
+         String transformedXml = transformXml(xsl, xml);
+         HttpUtil.sendXml(transformedXml, response);
       }
       catch (IOException e) {
          if (log.isDebugEnabled()) {
@@ -348,15 +347,13 @@
          sendError("Creating xml failed", response);
          return;
       }
-
-      HttpUtil.sendXml(xml, response);
    }
 
 
    private String transformXml(String xsl, String xml) throws IOException, 
TransformerException {
       if (StringUtils.isNotEmpty(xsl)) {
          // get xslt source and xml source
-         InputStream xslSrc = 
getClass().getClassLoader().getResourceAsStream(xsl);
+         InputStream xslSrc = 
Thread.currentThread().getContextClassLoader().getResourceAsStream(xsl);
          // transform
          XsltUtil xsltUtil = new XsltUtil(xml, xslSrc, null);
          xml = xsltUtil.transformToString(null);


Index: XMLController.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/xml/XMLController.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- XMLController.java  16 May 2008 11:46:35 -0000      1.9
+++ XMLController.java  9 Jun 2008 21:23:23 -0000       1.10
@@ -77,11 +77,11 @@
 
 
    private List<String> setypList(List<String> allowedRelationTypes) {
-      if (allowedRelationTypes != null) {
-         return allowedRelationTypes;
+      if (allowedRelationTypes == null) {
+         return new ArrayList<String>();
       }
       else {
-         return new ArrayList<String>();
+         return allowedRelationTypes;
       }
    }
 
@@ -214,13 +214,13 @@
 
 
    private Element toXmlNode(Node node, Document document, Element root, 
boolean addRelations,
-         boolean fieldsAsAttribute, HashMap<Integer, Node> processedNodes) {
+         boolean fieldsAsAttribute, Map<Integer, Node> processedNodes) {
       return toXmlNode(node, document, root, addRelations, fieldsAsAttribute, 
processedNodes, new ArrayList<Integer>());
    }
 
 
    private Element toXmlNode(Node node, Document document, Element root, 
boolean addRelations,
-         boolean fieldsAsAttribute, HashMap<Integer, Node> processedNodes, 
List<Integer> nodesSeenButNotProcessed) {
+         boolean fieldsAsAttribute, Map<Integer, Node> processedNodes, 
List<Integer> nodesSeenButNotProcessed) {
       NodeManager manager = node.getNodeManager();
       String managerName = manager.getName();
       if (!TypeUtil.isSystemType(managerName)) {
@@ -244,11 +244,11 @@
          }
          processedNodes.remove(Integer.valueOf(node.getNumber()));
 
-         if (root != null) {
-            root.appendChild(nodeElement);
+         if (root == null) {
+            document.appendChild(nodeElement);
          }
          else {
-            document.appendChild(nodeElement);
+            root.appendChild(nodeElement);
          }
          return nodeElement;
       }
@@ -374,10 +374,10 @@
             if (value != null) {
                if (Field.TYPE_BOOLEAN == type) {
                   if (value instanceof Boolean) {
-                     val = "" + ((Boolean) value).booleanValue();
+                     val = value.toString();
                   }
                   if (value instanceof Integer) {
-                     val = "" + (((Integer) value).intValue() == 1);
+                     val = Boolean.toString( ((Integer) value) == 1 );
                   }
                }
                else if (Field.TYPE_DATETIME == type) {
@@ -412,7 +412,7 @@
                   testManager = testManager.getParent();
                }
                catch (NotFoundException nfe) {
-                  testManager = null;
+                  break;
                }
             }
             return false;
@@ -431,7 +431,7 @@
                   testManager = testManager.getParent();
                }
                catch (NotFoundException nfe) {
-                  testManager = null;
+                  break;
                }
             }
             return true;
@@ -450,14 +450,14 @@
 
 
    public void toXmlRelations(Node node, Document document, Element 
nodeElement, RelationManager rm,
-         boolean addRelations, boolean fieldsAsAttribute, HashMap<Integer, 
Node> processedNodes) {
+         boolean addRelations, boolean fieldsAsAttribute, Map<Integer, Node> 
processedNodes) {
       toXmlRelations(node, document, nodeElement, rm, addRelations, 
fieldsAsAttribute, processedNodes,
             new ArrayList<Integer>());
    }
 
 
    public void toXmlRelations(Node node, Document document, Element 
nodeElement, RelationManager rm,
-         boolean addRelations, boolean fieldsAsAttribute, HashMap<Integer, 
Node> processedNodes,
+         boolean addRelations, boolean fieldsAsAttribute, Map<Integer, Node> 
processedNodes,
          List<Integer> nodesSeenButNotProcessed) {
       if (rm.hasField("pos")) {
          Comparator<Node> comparator = new NodeFieldComparator("pos");
@@ -473,7 +473,7 @@
 
    private void toXmlRelations(Node node, Document document, Element 
nodeElement, RelationManager rm,
          boolean addRelations, boolean fieldsAsAttribute, Comparator<Node> 
comparator,
-         HashMap<Integer, Node> processedNodes, List<Integer> 
parentNodesSeenButNotProcessed) {
+         Map<Integer, Node> processedNodes, List<Integer> 
parentNodesSeenButNotProcessed) {
       String relatedRole = rm.getForwardRole();
       NodeManager destination = rm.getDestinationManager();
       RelationList rl = node.getRelations(relatedRole, destination, 
"DESTINATION");
@@ -495,19 +495,18 @@
       while (rli.hasNext()) {
          Relation relation = rli.nextRelation();
          Node relatedNode = relation.getDestination();
-         if 
(!processedNodes.containsKey(Integer.valueOf(relatedNode.getNumber()))) {
+         if (processedNodes.containsKey(relatedNode.getNumber())) {
+            // Node already processed.. make sure we don't get circular 
references
+            skippedChildren++;
+            log.debug("Skipping child " + relatedNode + ", since it was 
already processed");
+         }
+         else {
             
nodesSeenButNotProcessed.remove(Integer.valueOf(relatedNode.getNumber()));
             toXmlNode(relatedNode, document, nodeElement, addRelations, 
fieldsAsAttribute, processedNodes,
                   nodesSeenButNotProcessed);
             toXmlFields(relation, document, (Element) 
nodeElement.getLastChild(), true, true);
             ((Element) 
nodeElement.getLastChild()).setAttribute("relationname", relatedRole);
          }
-         else {
-            // Node already processed.. make sure we don't get circular
-            // references
-            skippedChildren++;
-            log.debug("Skipping child " + relatedNode + ", since it was 
already processed");
-         }
       }
       if (skippedChildren > 0) {
          // This node was already done, make sure the client knows about it as
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to