Package it.eng.spagobi.engines.config.bo

Examples of it.eng.spagobi.engines.config.bo.Engine


    throws EMFUserError, SourceBeanException {
   
    try {
      String id = (String) request.getAttribute("id");
            IEngineDAO enginedao = DAOFactory.getEngineDAO();
      Engine engine = enginedao.loadEngineByID(new Integer(id));
//      controls if the engine is in use by any BIObject
      boolean isAss = enginedao.hasBIObjAssociated(id);
      if (isAss){
        HashMap params = new HashMap();
        params.put(AdmintoolsConstants.PAGE, ListEnginesModule.MODULE_PAGE);
View Full Code Here


   * @throws EMFUserError If an Exception occurred
   */
 
  private void newDettaglioEngine(SourceBean response) throws EMFUserError {
    try {
      Engine engine = null;
      this.modalita = AdmintoolsConstants.DETAIL_INS;
      response.setAttribute("modality", modalita);
            engine = new Engine();
            engine.setCriptable(new Integer(0));
      engine.setId(new Integer(-1));
      engine.setDescription("");
      engine.setDirUpload("");
      engine.setDirUsable("");
      engine.setSecondaryUrl("");
      engine.setName("");
      engine.setUrl("");
      engine.setDriverName("");
      engine.setEngineTypeId(new Integer(-1));
      engine.setClassName("");
      engine.setBiobjTypeId(new Integer(-1));
      response.setAttribute("engineObj", engine);
    } catch (Exception ex) {
      SpagoBITracer.major(AdmintoolsConstants.NAME_MODULE, "DetailEngineModule","newDetailEngine","Cannot prepare page for the insertion", ex  );
      throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
    }
View Full Code Here

    boolean useDataSet=false;
    if(useDataSetS!=null){
      useDataSet=Boolean.valueOf(useDataSetS).booleanValue();
    }   
   
    Engine engine  = new Engine();
        engine.setCriptable(criptable);
        engine.setLabel(label);
    engine.setId(id);
    engine.setDescription(description);
    engine.setDirUpload(dirUpload);
    engine.setDirUsable(dirUsable);
    engine.setSecondaryUrl(secondaryUrl);
    engine.setName(name);
    engine.setUrl(url);
    engine.setDriverName(driverName);
    engine.setEngineTypeId(engineTypeId);
    engine.setClassName(className);
    engine.setBiobjTypeId(biobjTypeId);
    engine.setDataSourceId(engineDSId);
    engine.setUseDataSource(useDataSource);
    engine.setUseDataSet(useDataSet);
   
        List enginesList = DAOFactory.getEngineDAO().loadAllEngines();
    Iterator i = enginesList.listIterator();
    while (i.hasNext()) {
      Engine en = (Engine) i.next();
      if (en.getLabel().equals(label) && !en.getId().equals(id)) {
        HashMap params = new HashMap();
        params.put(AdmintoolsConstants.PAGE,
            ListEnginesModule.MODULE_PAGE);
        EMFValidationError error = new EMFValidationError(EMFErrorSeverity.ERROR, "label",
            "1011", new Vector(), params);
View Full Code Here

        }

      }     

      // Engine if present, and data source if engine uses data source
      Engine engine = biobj.getEngine();
      if (engine.getUseDataSource() && engine.getDataSourceId() != null) {
        Integer engineDataSourceId = engine.getDataSourceId();
        IDataSource ds = dataSourceDao.loadDataSourceByID(engineDataSourceId);
        exporter.insertDataSource(ds, session);
      }

      exporter.insertEngine(engine, session);  
      exporter.insertBIObject(biobj, session, false); // do not insert dataset


      logger.debug("Export metadata associated to the object");
      IObjMetacontentDAO objMetacontentDAO = DAOFactory.getObjMetacontentDAO();
      //  get metacontents associated to object
      List metacontents = objMetacontentDAO.loadObjOrSubObjMetacontents(biobj.getId(), null);
      for (Iterator iterator = metacontents.iterator(); iterator.hasNext();) {
        ObjMetacontent metacontent = (ObjMetacontent) iterator.next();
        exporter.insertObjMetacontent(metacontent, session);
      }


      // if the document is a chart, export the relevant dataset that is referenced by the template
      boolean isChart = false;
      if (biobj.getBiObjectTypeCode().equalsIgnoreCase("DASH")
          && engine.getClassName() != null && engine.getClassName().equals("it.eng.spagobi.engines.chart.SpagoBIChartInternalEngine")) {
        isChart = true;
      }

      if (isChart) {
        ObjTemplate template = biobj.getActiveTemplate();
View Full Code Here

      Query hibQuery = session.createQuery(" from SbiEngines");
      List hibList = hibQuery.list();
      Iterator it = hibList.iterator();
      while (it.hasNext()) {
        SbiEngines hibEngine = (SbiEngines) it.next();
        Engine eng = new Engine();
        eng.setCriptable(new Integer(hibEngine.getEncrypt().intValue()));
        eng.setDescription(hibEngine.getDescr());
        eng.setDirUpload(hibEngine.getObjUplDir());
        eng.setDirUsable(hibEngine.getObjUseDir());
        eng.setDriverName(hibEngine.getDriverNm());
        eng.setId(hibEngine.getEngineId());
        eng.setName(hibEngine.getName());
        eng.setLabel(hibEngine.getLabel());
        eng.setSecondaryUrl(hibEngine.getSecnUrl());
        eng.setUrl(hibEngine.getMainUrl());
        eng.setLabel(hibEngine.getLabel());
        eng.setClassName(hibEngine.getClassNm());
        engines.add(eng);
      }
    } catch (HibernateException he) {
      logger.error("Error while getting exported engine ", he);
      throw new EMFUserError(EMFErrorSeverity.ERROR, "8004", "component_impexp_messages");
View Full Code Here

      Query hibQuery = session.createQuery(" from SbiObjects where biobjId = " + biobj.getId());
      List hibList = hibQuery.list();
      if(!hibList.isEmpty()) {
        return;
      }
      Engine engine = biobj.getEngine()
      SbiEngines hibEngine = (SbiEngines)session.load(SbiEngines.class, engine.getId());
      SbiDomains hibState = (SbiDomains)session.load(SbiDomains.class, biobj.getStateID());
      SbiDomains hibObjectType = (SbiDomains)session.load(SbiDomains.class, biobj.getBiObjectTypeID());
      SbiObjects hibBIObj = new SbiObjects(biobj.getId());
      hibBIObj.setSbiEngines(hibEngine);
      hibBIObj.setDescr(biobj.getDescription());
View Full Code Here

    debug("newDocumentTemplateHandler", "start method");
    // get the id of the object
    String idStr = (String) request.getAttribute(ObjectsTreeConstants.OBJECT_ID);
    Integer biObjectID = new Integer(idStr);
    BIObject obj = DAOFactory.getBIObjectDAO().loadBIObjectById(biObjectID);
    Engine engine = obj.getEngine();
   
    // GET THE TYPE OF ENGINE (INTERNAL / EXTERNAL) AND THE SUITABLE BIOBJECT TYPES
    Domain engineType = null;
    Domain compatibleBiobjType = null;
    engineType = DAOFactory.getDomainDAO().loadDomainById(engine.getEngineTypeId());
    compatibleBiobjType = DAOFactory.getDomainDAO().loadDomainById(engine.getBiobjTypeId());
    String compatibleBiobjTypeCd = compatibleBiobjType.getValueCd();
    String biobjTypeCd = obj.getBiObjectTypeCode();
   
    // CHECK IF THE BIOBJECT IS COMPATIBLE WITH THE TYPES SUITABLE FOR THE ENGINE
    if (!compatibleBiobjTypeCd.equalsIgnoreCase(biobjTypeCd)) {
      // the engine document type and the biobject type are not compatible
       logger.fatal("Engine cannot execute input document type: " +
               "the engine " + engine.getName() + " can execute '" + compatibleBiobjTypeCd + "' type documents " +
               "while the input document is a '" + biobjTypeCd + "'.");
      Vector params = new Vector();
      params.add(engine.getName());
      params.add(compatibleBiobjTypeCd);
      params.add(biobjTypeCd);
      errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 2002, params));
      return;
    }
       
    // IF THE ENGINE IS EXTERNAL
    if ("EXT".equalsIgnoreCase(engineType.getValueCd())) {
      try {
        // instance the driver class
        String driverClassName = obj.getEngine().getDriverName();
        IEngineDriver aEngineDriver = (IEngineDriver)Class.forName(driverClassName).newInstance();
        EngineURL templateBuildUrl = null;
        try {
          templateBuildUrl = aEngineDriver.getNewDocumentTemplateBuildUrl(obj, profile);
        } catch (InvalidOperationRequest ior) {
          logger.info("Engine " + engine.getName() + " cannot build document template");
          Vector params = new Vector();
          params.add(engine.getName());
          errorHandler.addError(new EMFUserError(EMFErrorSeverity.INFORMATION, "1076", params));
          response.setAttribute(ObjectsTreeConstants.OBJECT_ID, idStr);
          response.setAttribute("biobject", obj);
          return;
        }
          // set into the reponse the url to be invoked 
        response.setAttribute(ObjectsTreeConstants.CALL_URL, templateBuildUrl);
        response.setAttribute(SpagoBIConstants.PUBLISHER_NAME, "TemplateBuildPublisher");
        response.setAttribute("biobject", obj);       
        response.setAttribute("operation", "newDocumentTemplate");
       
      } catch (Exception e) {
         logger.fatal("Error retrieving template build url", e);
            errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 100));
     
     
    // IF THE ENGINE IS INTERNAL 
    } else {
     
      String className = engine.getClassName();
      debug("execute", "Try instantiating class " + className + " for internal engine " + engine.getName() + "...");
      InternalEngineIFace internalEngine = null;
      // tries to instantiate the class for the internal engine
      try {
        if (className == null && className.trim().equals("")) throw new ClassNotFoundException();
        internalEngine = (InternalEngineIFace) Class.forName(className).newInstance();
      } catch (ClassNotFoundException cnfe) {
        logger.fatal("The class ['" + className + "'] for internal engine " + engine.getName() + " was not found.", cnfe);
        Vector params = new Vector();
        params.add(className);
        params.add(engine.getName());
        errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 2001, params));
        return;
      } catch (Exception e) {
        logger.fatal("Error while instantiating class " + className, e);
        errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 100));
        return;
      }
     
      debug("execute", "Class " + className + " instantiated successfully. Now engine's execution starts.");
     
      // starts engine's execution
      try {
        internalEngine.handleNewDocumentTemplateCreation(requestContainer, obj, response);
      } catch (InvalidOperationRequest ior) {
        logger.info("Engine " + engine.getName() + " cannot build document template");
        Vector params = new Vector();
        params.add(engine.getName());
        errorHandler.addError(new EMFUserError(EMFErrorSeverity.INFORMATION, "1076", params));
        response.setAttribute(ObjectsTreeConstants.OBJECT_ID, idStr);
        return;
      } catch (Exception e) {
        logger.fatal("Error while engine execution", e);
View Full Code Here

    debug("editDocumentTemplateHandler", "start method");
    // get the id of the object
    String idStr = (String) request.getAttribute(ObjectsTreeConstants.OBJECT_ID);
    Integer biObjectID = new Integer(idStr);
    BIObject obj = DAOFactory.getBIObjectDAO().loadBIObjectForDetail(biObjectID);
    Engine engine = obj.getEngine();
   
    // GET THE TYPE OF ENGINE (INTERNAL / EXTERNAL) AND THE SUITABLE BIOBJECT TYPES
    Domain engineType = null;
    Domain compatibleBiobjType = null;
    engineType = DAOFactory.getDomainDAO().loadDomainById(engine.getEngineTypeId());
    compatibleBiobjType = DAOFactory.getDomainDAO().loadDomainById(engine.getBiobjTypeId());
    String compatibleBiobjTypeCd = compatibleBiobjType.getValueCd();
    String biobjTypeCd = obj.getBiObjectTypeCode();
   
    // CHECK IF THE BIOBJECT IS COMPATIBLE WITH THE TYPES SUITABLE FOR THE ENGINE
    if (!compatibleBiobjTypeCd.equalsIgnoreCase(biobjTypeCd)) {
      // the engine document type and the biobject type are not compatible
       logger.fatal("Engine cannot execute input document type: " +
               "the engine " + engine.getName() + " can execute '" + compatibleBiobjTypeCd + "' type documents " +
               "while the input document is a '" + biobjTypeCd + "'.");
      Vector params = new Vector();
      params.add(engine.getName());
      params.add(compatibleBiobjTypeCd);
      params.add(biobjTypeCd);
      errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 2002, params));
      return;
    }
   
    // IF THE ENGINE IS EXTERNAL
    if ("EXT".equalsIgnoreCase(engineType.getValueCd())) {
      try {
        // instance the driver class
        String driverClassName = obj.getEngine().getDriverName();
        IEngineDriver aEngineDriver = (IEngineDriver)Class.forName(driverClassName).newInstance();
        EngineURL templateBuildUrl = null;
        try {
          templateBuildUrl = aEngineDriver.getEditDocumentTemplateBuildUrl(obj, profile);
        } catch (InvalidOperationRequest ior) {
          logger.info("Engine " + engine.getName() + " cannot build document template");
          Vector params = new Vector();
          params.add(engine.getName());
          errorHandler.addError(new EMFUserError(EMFErrorSeverity.INFORMATION, "1076", params));
          response.setAttribute(ObjectsTreeConstants.OBJECT_ID, idStr);
          return;
        }
          // set into the reponse the url to be invoked 
        response.setAttribute(ObjectsTreeConstants.CALL_URL, templateBuildUrl);
        response.setAttribute(SpagoBIConstants.PUBLISHER_NAME, "TemplateBuildPublisher");
        response.setAttribute("biobject", obj);
        response.setAttribute("operation", "newDocumentTemplate");
       
      } catch (Exception e) {
         logger.fatal("Error retrieving template build url", e);
            errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 100));
     
     
    // IF THE ENGINE IS INTERNAL 
    } else {
     
      String className = engine.getClassName();
      debug("execute", "Try instantiating class " + className + " for internal engine " + engine.getName() + "...");
      InternalEngineIFace internalEngine = null;
      // tries to instantiate the class for the internal engine
      try {
        if (className == null && className.trim().equals("")) throw new ClassNotFoundException();
        internalEngine = (InternalEngineIFace) Class.forName(className).newInstance();
      } catch (ClassNotFoundException cnfe) {
        logger.fatal("The class ['" + className + "'] for internal engine " + engine.getName() + " was not found.", cnfe);
        Vector params = new Vector();
        params.add(className);
        params.add(engine.getName());
        errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 2001, params));
        return;
      } catch (Exception e) {
        logger.fatal("Error while instantiating class " + className, e);
        errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, 100));
        return;
      }
     
      debug("execute", "Class " + className + " instantiated successfully. Now engine's execution starts.");
     
      // starts engine's execution
      try {
        internalEngine.handleDocumentTemplateEdit(requestContainer, obj, response);
      } catch (InvalidOperationRequest ior) {
        logger.info("Engine " + engine.getName() + " cannot build document template");
        Vector params = new Vector();
        params.add(engine.getName());
        errorHandler.addError(new EMFUserError(EMFErrorSeverity.INFORMATION, "1076", params));
        response.setAttribute(ObjectsTreeConstants.OBJECT_ID, idStr);
        return;
      } catch (Exception e) {
        logger.fatal("Error while engine execution", e);
View Full Code Here

      o.setLabel(label);
      o.setDescription(description);
      o.setVisible(new Integer(1));
     
      if(engineId!=null){
        Engine engine = DAOFactory.getEngineDAO().loadEngineByID(new Integer(engineId));
        o.setEngine(engine);
      }else{
        List<Engine> engines = DAOFactory.getEngineDAO().loadAllEnginesForBIObjectType(type);
        if(engines!=null && !engines.isEmpty()){
          o.setEngine(engines.get(0));
View Full Code Here

    logger.debug("IN");
    if (this.subObject == null) {
      throw new SpagoBIServiceException("", "no subobject set");
    }
    String url = null;
    Engine engine = this.getBIObject().getEngine();
    Domain engineType;
    try {
      engineType = DAOFactory.getDomainDAO().loadDomainById(
          engine.getEngineTypeId());
    } catch (EMFUserError e) {
      throw new SpagoBIServiceException("Impossible to load engine type domain", e);
    }

    // IF THE ENGINE IS EXTERNAL
    if ("EXT".equalsIgnoreCase(engineType.getValueCd())) {
      // instance the driver class
      String driverClassName = engine.getDriverName();
      IEngineDriver aEngineDriver = null;
      try {
        aEngineDriver = (IEngineDriver) Class.forName(driverClassName).newInstance();
      } catch (Exception e) {
        throw new SpagoBIServiceException("Cannot istantiate engine driver class: " + driverClassName, e);
      }
      // get the map of the parameters
      Map mapPars = aEngineDriver.getParameterMap(object, this.subObject, userProfile, executionRole);
      // adding "system" parameters
      addSystemParametersForExternalEngines(mapPars, locale);

      url = GeneralUtilities.getUrl(engine.getUrl(), mapPars);
    } else {
      throw new RuntimeException("Internal engines does not support subobjects!!");
    }
    logger.debug("OUT: returning url = [" + url + "]");
    return url;
View Full Code Here

TOP

Related Classes of it.eng.spagobi.engines.config.bo.Engine

Copyright © 2018 www.massapicom. 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.