]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/MarshallerView.java
Introduction of annotation to handle MVC flows
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / MarshallerView.java
index 61bafce94b57fd2834bd37c2ff942b0de08b64c6..ad1827a00c74e7b2a6bc65b3f5ec0296a88e3d43 100644 (file)
@@ -1,17 +1,25 @@
 package org.argeo.slc.web.mvc;
 
+import java.util.Iterator;
 import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.argeo.slc.SlcException;
 import org.springframework.oxm.Marshaller;
 import org.springframework.web.servlet.view.AbstractView;
 
 /** Marshal one of the object of the map to the output. */
 public class MarshallerView extends AbstractView {
+       
+       private final static Log log = LogFactory
+       .getLog(MarshallerView.class);
+
+       
        private String modelKey = null;
        private final Marshaller marshaller;
 
@@ -25,14 +33,40 @@ public class MarshallerView extends AbstractView {
        }
 
        @Override
+       @SuppressWarnings(value={"unchecked"})
        protected void renderMergedOutputModel(Map model,
                        HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                final Object answer;
+       
+               if (log.isDebugEnabled()){
+                       //log.debug("In MarshallerView :: renderMergedOutputModel");
+                       if (modelKey != null )
+                               log.debug("Model key : ["+modelKey+"]");
+                       else log.debug("ModelKey is null");
+               }
+               
+               //TODO : remove this loop
+               if (log.isDebugEnabled()){
+                       Iterator it = model.keySet().iterator();
+                       int i = 0;
+                       while (it.hasNext())
+                                       log.debug(i++ + " [" + it.next().toString()+ "]");
+                       }
+               
                if (modelKey != null) {
-                       if (!model.containsKey(modelKey))
+                       if (!model.containsKey(modelKey)){
+                       /** //TODO : remove this loop
+                               if (log.isDebugEnabled()){
+                                       log.debug("Key not found in Model. Available keys are : ");
+                                       for (Object key : model.keySet()){
+                                               log.debug(key.toString());
+                                       }
+                               }
+                       **/
                                throw new SlcException("Key " + modelKey
                                                + " not found in model.");
+                               }
                        answer = model.get(modelKey);
                } else {
                        if (model.size() != 1)