Package org.xdams.page.multiarchive.command

Source Code of org.xdams.page.multiarchive.command.MultiQueryPageCommand

package org.xdams.page.multiarchive.command;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.ModelMap;
import org.xdams.conf.master.ConfBean;
import org.xdams.manager.conf.MultiEditingManager;
import org.xdams.page.query.bean.QueryBean;
import org.xdams.user.access.ServiceUser;
import org.xdams.user.bean.UserBean;
import org.xdams.utility.resource.ConfManager;
import org.xdams.workflow.bean.WorkFlowBean;
import org.xdams.xml.builder.XMLBuilder;
import org.xdams.xmlengine.connection.manager.ConnectionManager;
import org.xdams.xw.XWConnection;

public class MultiQueryPageCommand {

  private Map<String, String[]> parameterMap = null;

  private ModelMap modelMap = null;

  public MultiQueryPageCommand(Map<String, String[]> parameterMap, ModelMap modelMap) throws Exception {
    this.parameterMap = parameterMap;
    this.modelMap = modelMap;
  }

  public void execute() throws Exception {
    XWConnection xwconn = null;
    ConfBean confBean = null;
    ConnectionManager connectionManager = new ConnectionManager();
    // questa lista pu essere presa da un file di configurazione
    List<String> confControl = new ArrayList<String>();
    confControl.add("query-multiarchive");
    confControl.add("valoriControllati");
    try {
      UserBean userBean = (UserBean) modelMap.get("userBean");
      confBean = (ConfBean) modelMap.get("confBean");
      WorkFlowBean workFlowBean = (WorkFlowBean) modelMap.get("workFlowBean");
      MultiEditingManager editingManager = new MultiEditingManager(parameterMap, confBean, userBean, workFlowBean);
      editingManager.setTheXML(new XMLBuilder("root"));
      confBean = editingManager.rewriteMultipleConf(confControl);
     
      confBean.setTheXMLConfQuery(confBean.getTheXMLConfQueryMultiArchive());
      QueryBean queryBean = new QueryBean();
      try {
        xwconn = connectionManager.getConnection(workFlowBean.getArchive());
        XMLBuilder theXMLconf = confBean.getTheXMLConfQuery();
        // System.out.println("theXMLconftheXMLconftheXMLconftheXMLconf " + theXMLconf);
        it.highwaytech.db.QueryResult qr = null;
        if (theXMLconf.valoreNodo("/root/query/@numDocInfoQuery").equals("")) {
          qr = xwconn.selectQR("([UD,/xw/@UdType/]=\"" + workFlowBean.getArchive().getPne() + "\")");
        } else {
          qr = xwconn.selectQR(theXMLconf.valoreNodo("/root/query/@numDocInfoQuery", false));
        }
        queryBean.setTotNumDoc(qr.elements);
        queryBean.setLastUpdate(xwconn.getLastUpdate());
      } catch (Exception e) {
        // TODO: handle exception
      }

      // System.out.println("QueryPageCommand.execute() " + confBean.getTheXMLConfQuery().getXML("ISO-8859-1"));
      // System.out.println("QueryPageCommand.execute() " + confBean.getTheXMLValControllati().getXML("ISO-8859-1"));
      modelMap.put("confBean", confBean);
      modelMap.put("queryBean", queryBean);

    } catch (Exception e) {
      e.printStackTrace();
      throw new Exception(e.toString());
    } finally {
      connectionManager.closeConnection(xwconn);
    }
  }
}
TOP

Related Classes of org.xdams.page.multiarchive.command.MultiQueryPageCommand

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.