|
From: <j_m...@us...> - 2004-02-29 12:22:43
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11346/src/org/cobricks/item Modified Files: ItemServlet.java Log Message: Index: ItemServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ItemServlet.java 11 Feb 2004 14:31:52 -0000 1.1 --- ItemServlet.java 29 Feb 2004 12:04:39 -0000 1.2 *************** *** 6,18 **** * Copyright (c) 2003 Michael Koch, mic...@co... */ - package org.cobricks.item; - import java.io.*; - import java.net.URL; - import java.util.*; - import javax.servlet.*; - import javax.servlet.http.*; - import org.apache.log4j.*; --- 6,11 ---- *************** *** 20,61 **** import org.cobricks.core.ComponentManagerInterface; import org.cobricks.core.util.LogUtil; import org.cobricks.portal.PortalServletAdaptor; import org.cobricks.portal.PortalUser; ! public class ItemServlet extends PortalServletAdaptor ! { ! static Logger logger = Logger.getLogger(ItemServlet.class); protected ItemManager itemManager; - /** * */ ! public void performLogin(HttpServletRequest request, ! HttpServletResponse response, ! PrintWriter out, PortalUser user) { ! logger.info(">>>>>>>>perfomLogin()!!!!!"); } - /** * */ ! public void init(ServletConfig config) ! throws ServletException { ! super.init(config); ! ! this.addTarget("login", "performLogin", "", false); ! ! ComponentDirectory componentDirectory = ! coreManager.getComponentDirectory(); ! itemManager = (ItemManager)componentDirectory.getManager("item"); ! if (itemManager==null) { ! logger.error("Did not find item manager in ComponentDirectory!"); ! } } } --- 13,128 ---- import org.cobricks.core.ComponentManagerInterface; import org.cobricks.core.util.LogUtil; + + import org.cobricks.portal.PortalRequest; import org.cobricks.portal.PortalServletAdaptor; import org.cobricks.portal.PortalUser; + import java.io.*; ! import java.net.URL; ! import java.util.*; + import javax.servlet.*; + import javax.servlet.http.*; + + + public class ItemServlet extends PortalServletAdaptor { + static Logger logger = Logger.getLogger(ItemServlet.class); protected ItemManager itemManager; /** * */ ! public void performLogin(HttpServletRequest request, ! HttpServletResponse response, PrintWriter out, PortalUser user) { ! logger.info(">>>>>>>>perfomLogin()!!!!!"); } /** * */ ! public void init(ServletConfig config) throws ServletException { ! super.init(config); ! ! this.addTarget("login", "performLogin", "", false); ! this.addTarget("createitem", "performCreateItem", "Create a new item"); ! ! ComponentDirectory componentDirectory = ! coreManager.getComponentDirectory(); ! itemManager = ! (ItemManager) componentDirectory.getManager("itemManager"); ! ! if (itemManager == null) { ! logger.error("Did not find item manager in ComponentDirectory!"); ! } } + public final String performCreateItem(PortalRequest prequest, PrintWriter out) { + Map attrs = this.buildItemAttrsMap(prequest); + List messages = new LinkedList(); + if (attrs.containsKey("errors")) { + logger.info("Errors encountered"); + prequest.setContextObject("errors",attrs.get("errors")); + out.write(attrs.get("errors").toString()); + + return null; + + //return "error"; + } else { + Item it = itemManager.createItem(attrs); + + if (it != null) { + out.write("Success:+" + it.getLocalId()); + + return null; + } else { + out.write("Null error"); + + return null; + } + + //return "success"; + } + } + + private Map buildItemAttrsMap(PortalRequest pRequest) { + Set errors = new HashSet(); + Map tmp = pRequest.getRequestParameters(); + Map result = new HashMap(); + String itemClassName = (String) tmp.get("itemclass"); + + // (String) tmp.remove("itemclass"); + Iterator it = tmp.keySet().iterator(); + + while (it.hasNext()) { + String currentParam = (String) it.next(); + String input = (String) pRequest.getRequestParameter(currentParam); + + if (!currentParam.matches("cmd.*") && input != null && input.length()>0) { + logger.debug(currentParam); + + Object attr = + ItemAttrs.instantiateAttribute(this.itemManager, + input, currentParam, + itemClassName); + + if (attr instanceof InputError) { + ((InputError) attr).setEnvironment(currentParam); + errors.add(attr); + } else if (attr != null) { + result.put(currentParam, attr); + } else { + logger.warn("can't handle: " + currentParam); + } + } + } + + if (errors.isEmpty()) { + return result; + } else {result = new HashMap(); + result.put("errors", errors); + return result; + } + } } |