Package org.apache.axis2.deployment.repository.util

Examples of org.apache.axis2.deployment.repository.util.ArchiveReader


    public static void deployModuleServices(AxisModule module,
                                            ConfigurationContext configCtx) throws AxisFault {
        try {
            AxisConfiguration axisConfig = configCtx.getAxisConfiguration();
            ArchiveReader archiveReader = new ArchiveReader();
            PhasesInfo phasesInfo = axisConfig.getPhasesInfo();
            ClassLoader moduleClassLoader = module.getModuleClassLoader();
            ArrayList services = new ArrayList();
            InputStream in = moduleClassLoader.getResourceAsStream("aars/aars.list");
            if (in != null) {
                BufferedReader input;
                try {
                    input = new BufferedReader(new InputStreamReader(in));
                    String line;
                    while ((line = input.readLine()) != null) {
                        services.add(line);
                    }
                    input.close();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
            if (services.size() > 0) {
                for (int i = 0; i < services.size(); i++) {
                    String servicename = (String) services.get(i);
                    if (servicename == null || "".equals(servicename)) {
                        continue;
                    }
                    InputStream fin = moduleClassLoader.getResourceAsStream("aars/" + servicename);
                    if (fin == null) {
                        throw new AxisFault("No service archiev found : " + servicename);
                    }
                    File inputFile = Utils.createTempFile(servicename, fin);
                    ArchiveFileData filedata = new ArchiveFileData(inputFile, DeploymentConstants.TYPE_SERVICE, false);

                    filedata.setClassLoader(false,
                            moduleClassLoader);
                    HashMap wsdlservice = archiveReader.processWSDLs(filedata);
                    if (wsdlservice != null && wsdlservice.size() > 0) {
                        Iterator servicesitr = wsdlservice.values().iterator();
                        while (servicesitr.hasNext()) {
                            AxisService service = (AxisService) servicesitr.next();
                            Iterator operations = service.getOperations();
                            while (operations.hasNext()) {
                                AxisOperation axisOperation = (AxisOperation) operations.next();
                                phasesInfo.setOperationPhases(axisOperation);
                            }
                        }
                    }
                    AxisServiceGroup serviceGroup = new AxisServiceGroup(axisConfig);
                    serviceGroup.setServiceGroupClassLoader(
                            filedata.getClassLoader());
                    ArrayList serviceList = archiveReader.processServiceGroup(
                            filedata.getAbsolutePath(), filedata,
                            serviceGroup, false, wsdlservice,
                            configCtx);
                    for (int j = 0; j < serviceList.size(); j++) {
                        AxisService axisService = (AxisService) serviceList.get(j);
View Full Code Here


        try {
            InputStream servicexml = config.getServletContext().
                    getResourceAsStream("/WEB-INF/services.xml");
            if (servicexml != null) {
                HashMap wsdlServices = new HashMap();
                ArchiveReader archiveReader = new ArchiveReader();
                String path = config.getServletContext().getRealPath("/WEB-INF");
                if(path != null){
                    archiveReader.processFilesInFolder(new File(path),wsdlServices);
                }
                AxisServiceGroup serviceGroup = DeploymentEngine.buildServiceGroup(servicexml,
                        Thread.currentThread().getContextClassLoader(),
                        "annonServiceGroup", configContext,
                        archiveReader, wsdlServices);
View Full Code Here

            for (int i = 0; i < wsToDeploy.size(); i++) {
                ArchiveFileData currentArchiveFile = (ArchiveFileData) wsToDeploy.get(i);
                boolean explodedDir = currentArchiveFile.getFile().isDirectory();
                int type = currentArchiveFile.getType();
                try {
                    ArchiveReader archiveReader;
                    StringWriter errorWriter = new StringWriter();
                    switch (type) {
                        case TYPE_SERVICE :
                            currentArchiveFile.setClassLoader(explodedDir,
                                    axisConfig.getServiceClassLoader());
                            archiveReader = new ArchiveReader();
                            String serviceStatus = "";
                            try {
                                HashMap wsdlservice = archiveReader.processWSDLs(currentArchiveFile);
                                if (wsdlservice != null && wsdlservice.size() > 0) {
                                    Iterator services = wsdlservice.values().iterator();
                                    while (services.hasNext()) {
                                        AxisService service = (AxisService) services.next();
                                        Iterator operations = service.getOperations();
                                        while (operations.hasNext()) {
                                            AxisOperation axisOperation = (AxisOperation) operations.next();
                                            axisConfig.getPhasesInfo().setOperationPhases(axisOperation);
                                        }
                                    }
                                }
                                AxisServiceGroup sericeGroup = new AxisServiceGroup(axisConfig);
                                sericeGroup.setServiceGroupClassLoader(
                                        currentArchiveFile.getClassLoader());
                                ArrayList serviceList = archiveReader.processServiceGroup(
                                        currentArchiveFile.getAbsolutePath(), currentArchiveFile,
                                        sericeGroup, explodedDir, wsdlservice,
                                        configContext);
                                addServiceGroup(sericeGroup, serviceList, currentArchiveFile.getFile().toURL(), currentArchiveFile);
                                log.info(Messages.getMessage(DeploymentErrorMsgs.DEPLOYING_WS,
                                        currentArchiveFile.getName()));
                            } catch (DeploymentException de) {
                                de.printStackTrace();
                                log.error(Messages.getMessage(DeploymentErrorMsgs.INVALID_SERVICE,
                                        currentArchiveFile.getName(),
                                        de.getMessage()),
                                        de);
                                PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
                                de.printStackTrace(error_ptintWriter);
                                serviceStatus = "Error:\n" + errorWriter.toString();
                            } catch (AxisFault axisFault) {
                                log.error(Messages.getMessage(DeploymentErrorMsgs.INVALID_SERVICE,
                                        currentArchiveFile.getName(),
                                        axisFault.getMessage()),
                                        axisFault);
                                PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
                                axisFault.printStackTrace(error_ptintWriter);
                                serviceStatus = "Error:\n" + errorWriter.toString();
                            } catch (Exception e) {
                                if (log.isInfoEnabled()) {
                                    StringWriter sw = new StringWriter();
                                    PrintWriter pw = new PrintWriter(sw);
                                    e.printStackTrace(pw);
                                    log.info(Messages.getMessage(
                                            DeploymentErrorMsgs.INVALID_SERVICE,
                                            currentArchiveFile.getName(),
                                            sw.getBuffer().toString()));
                                }
                                PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
                                e.printStackTrace(error_ptintWriter);
                                serviceStatus = "Error:\n" + errorWriter.toString();
                            } catch (Throwable t) {
                                if (log.isInfoEnabled()) {
                                    StringWriter sw = new StringWriter();
                                    PrintWriter pw = new PrintWriter(sw);
                                    t.printStackTrace(pw);
                                    log.info(Messages.getMessage(
                                            DeploymentErrorMsgs.INVALID_SERVICE,
                                            currentArchiveFile.getName(),
                                            sw.getBuffer().toString()));
                                }
                                PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
                                t.printStackTrace(error_ptintWriter);
                                serviceStatus = "Error:\n" + errorWriter.toString();
                            } finally {
                                if (serviceStatus.startsWith("Error:")) {
                                    axisConfig.getFaultyServices().put(currentArchiveFile.getFile().getAbsolutePath(),
                                            serviceStatus);
                                }
                                currentArchiveFile = null;
                            }
                            break;
                        case TYPE_MODULE :
                            currentArchiveFile.setClassLoader(explodedDir,
                                    axisConfig.getModuleClassLoader());
                            archiveReader = new ArchiveReader();
                            String moduleStatus = "";
                            try {
                                AxisModule metaData = new AxisModule();
                                metaData.setModuleClassLoader(currentArchiveFile.getClassLoader());
                                metaData.setParent(axisConfig);
                                archiveReader.readModuleArchive(currentArchiveFile, metaData, explodedDir,
                                        axisConfig);
                                metaData.setFileName(currentArchiveFile.getFile().toURL());
                                addNewModule(metaData);
                                log.info(Messages.getMessage(DeploymentErrorMsgs.DEPLOYING_MODULE,
                                        metaData.getName().getLocalPart()));
View Full Code Here

        AxisModule axismodule;
        try {
            ArchiveFileData currentArchiveFile = new ArchiveFileData(modulearchive,
                    DeploymentConstants.TYPE_MODULE, false);
            axismodule = new AxisModule();
            ArchiveReader archiveReader = new ArchiveReader();

            currentArchiveFile.setClassLoader(false, config.getModuleClassLoader());
            axismodule.setModuleClassLoader(currentArchiveFile.getClassLoader());
            archiveReader.readModuleArchive(currentArchiveFile, axismodule,
                    false, config);
            ClassLoader moduleClassLoader = axismodule.getModuleClassLoader();
            Flow inflow = axismodule.getInFlow();

            if (inflow != null) {
View Full Code Here

  public static void deployModuleServices(AxisModule module,
      ConfigurationContext configCtx) throws AxisFault {
    try {
      AxisConfiguration axisConfig = configCtx.getAxisConfiguration();
      ArchiveReader archiveReader = new ArchiveReader();
      PhasesInfo phasesInfo = axisConfig.getPhasesInfo();
      final ClassLoader moduleClassLoader = module.getModuleClassLoader();
      ArrayList services = new ArrayList();
      final InputStream in = (InputStream) org.apache.axis2.java.security.AccessController
          .doPrivileged(new PrivilegedAction() {
            public Object run() {
              return moduleClassLoader
                  .getResourceAsStream("aars/aars.list");
            }
          });
      if (in != null) {
        BufferedReader input;
        try {
          input = new BufferedReader(
              (InputStreamReader) org.apache.axis2.java.security.AccessController
                  .doPrivileged(new PrivilegedAction() {
                    public Object run() {
                      return new InputStreamReader(in);
                    }
                  }));
          String line;
          while ((line = input.readLine()) != null) {
            line = line.trim();
            if (line.length() > 0 && line.charAt(0) != '#') {
              services.add(line);
            }
          }
          input.close();
        } catch (IOException ex) {
          ex.printStackTrace();
        }
      }
      if (services.size() > 0) {
        for (int i = 0; i < services.size(); i++) {
          final String servicename = (String) services.get(i);
          if (servicename == null || "".equals(servicename)) {
            continue;
          }
          InputStream fin = (InputStream) org.apache.axis2.java.security.AccessController
              .doPrivileged(new PrivilegedAction() {
                public Object run() {
                  return moduleClassLoader
                      .getResourceAsStream("aars/"
                          + servicename);
                }
              });
          if (fin == null) {
            throw new AxisFault("No service archive found : "
                + servicename);
          }
          File inputFile = Utils
              .createTempFile(
                  servicename,
                  fin,
                  (File) axisConfig
                      .getParameterValue(Constants.Configuration.ARTIFACTS_TEMP_DIR));
          DeploymentFileData filedata = new DeploymentFileData(
              inputFile);

          filedata
              .setClassLoader(
                  false,
                  moduleClassLoader,
                  (File) axisConfig
                      .getParameterValue(Constants.Configuration.ARTIFACTS_TEMP_DIR));
          HashMap wsdlservice = archiveReader.processWSDLs(filedata);
          if (wsdlservice != null && wsdlservice.size() > 0) {
            Iterator servicesitr = wsdlservice.values().iterator();
            while (servicesitr.hasNext()) {
              AxisService service = (AxisService) servicesitr
                  .next();
              Iterator operations = service.getOperations();
              while (operations.hasNext()) {
                AxisOperation axisOperation = (AxisOperation) operations
                    .next();
                phasesInfo.setOperationPhases(axisOperation);
              }
            }
          }
          AxisServiceGroup serviceGroup = new AxisServiceGroup(
              axisConfig);
          serviceGroup.setServiceGroupClassLoader(filedata
              .getClassLoader());
          ArrayList serviceList = archiveReader.processServiceGroup(
              filedata.getAbsolutePath(), filedata, serviceGroup,
              false, wsdlservice, configCtx);
          for (int j = 0; j < serviceList.size(); j++) {
            AxisService axisService = (AxisService) serviceList
                .get(j);
View Full Code Here

        this.axisConfig = configCtx.getAxisConfiguration();
    }
    //Will process the file and add that to axisConfig

    public void deploy(DeploymentFileData deploymentFileData) {
        ArchiveReader archiveReader = new ArchiveReader();
        String moduleStatus = "";
        StringWriter errorWriter = new StringWriter();
        boolean isDirectory = deploymentFileData.getFile().isDirectory();
        try {

            deploymentFileData.setClassLoader(isDirectory,
                                              axisConfig.getModuleClassLoader(),
                    (File)axisConfig.getParameterValue(Constants.Configuration.ARTIFACTS_TEMP_DIR),
                    this.axisConfig.isChildFirstClassLoading());
            AxisModule metaData = new AxisModule();
            metaData.setModuleClassLoader(deploymentFileData.getClassLoader());
            metaData.setParent(axisConfig);
            archiveReader.readModuleArchive(deploymentFileData, metaData, isDirectory, axisConfig);
            URL url = deploymentFileData.getFile().toURL();
            metaData.setFileName(url);
            DeploymentEngine.addNewModule(metaData, axisConfig);
            log.info(Messages.getMessage(DeploymentErrorMsgs.DEPLOYING_MODULE,
                                         metaData.getArchiveName(),
View Full Code Here

                    currentArchiveFile.setClassLoader();
                } catch (AxisFault axisFault) {
                    log.info("Setting Class Loader  " +axisFault);
                    continue;
                }
                ArchiveReader archiveReader = new ArchiveReader();
                String serviceStatus = "";
                StringWriter errorWriter= new StringWriter();
                switch (type) {
                    case SERVICE:
                        try {
                           // ServiceDescription service = archiveReader.createService(currentArchiveFile.getAbsolutePath());
                            ServiceDescription service = archiveReader.createService(currentArchiveFile);
                            archiveReader.readServiceArchive(currentArchiveFile.getAbsolutePath(), this, service);
                            addnewService(service);
                            log.info("Deployement WS Name  " + currentArchiveFile.getName());
                        } catch (DeploymentException de) {
                            log.info("Invalid service" + currentArchiveFile.getName());
                            log.info("DeploymentException  " + de);
                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
                            de.printStackTrace(error_ptintWriter);
                            serviceStatus = "Error:\n" + errorWriter.toString();
                        } catch (AxisFault axisFault) {
                            log.info("Invalid service" + currentArchiveFile.getName());
                            log.info("AxisFault  " + axisFault);
                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
                            axisFault.printStackTrace(error_ptintWriter);
                            serviceStatus = "Error:\n" + errorWriter.toString();
                        } catch (Exception e) {
                            log.info("Invalid service" + currentArchiveFile.getName());
                            log.info("Exception  " + e);
                            PrintWriter error_ptintWriter = new PrintWriter(errorWriter);
                            e.printStackTrace(error_ptintWriter);
                            serviceStatus = "Error:\n" + errorWriter.toString();
                        } finally {
                            if (serviceStatus.startsWith("Error:")) {
                                axisConfig.getFaulytServices().put(getAxisServiceName(currentArchiveFile.getName()), serviceStatus);
                            }
                            currentArchiveFile = null;
                        }
                        break;
                    case MODULE:
                        String moduleStatus = "";
                        try {
                            ModuleDescription metaData = new ModuleDescription();
                            archiveReader.readModuleArchive(currentArchiveFile.getAbsolutePath(), this, metaData);
                            addNewModule(metaData);
                            log.info("Moduel WS Name  " + currentArchiveFile.getName() + " modulename :" + metaData.getName());
                        } catch (DeploymentException e) {
                            log.info("Invalid module" + currentArchiveFile.getName());
                            log.info("DeploymentException  " + e);
View Full Code Here

    public ModuleDescription buildModule(File modulearchive) throws DeploymentException {
        ModuleDescription axismodule = null;
        try {
            currentArchiveFile = new ArchiveFileData(modulearchive, MODULE);
            axismodule = new ModuleDescription();
            ArchiveReader archiveReader = new ArchiveReader();
            archiveReader.readModuleArchive(currentArchiveFile.getAbsolutePath(), this, axismodule);
            currentArchiveFile.setClassLoader();
            Flow inflow = axismodule.getInFlow();
            if (inflow != null) {
                addFlowHandlers(inflow);
            }
View Full Code Here

    public void engageModule(QName moduleref) throws AxisFault {
        ModuleDescription module = getModule(moduleref);
        boolean isNewmodule = false;
        if(module == null ) {
            File file =  new  ArchiveReader().creatModuleArchivefromResource(moduleref.getLocalPart());
            module =  new DeploymentEngine().buildModule(file);
            isNewmodule = true;
        }
        if (module != null) {
            for (Iterator iterator = engagedModules.iterator(); iterator.hasNext();) {
View Full Code Here

                    metainf = "META-INF";
                }
            }
            HashMap servicesMap = new HashMap();
            if (wsdlfilesStream != null) {
                ArchiveReader reader = new ArchiveReader();
                BufferedReader input = new BufferedReader(new InputStreamReader(wsdlfilesStream));
                String line;
                while ((line = input.readLine()) != null) {
                    line = line.trim();
                    if (line.length() > 0 && line.charAt(0)!='#') {
                        line = metainf + "/" + line;
                        try {
                            List services = reader.getAxisServiceFromWsdl(
                                    serviceClassLoader.getResourceAsStream(line),
                                    serviceClassLoader, line);
                            if (services != null) {
                                for (int i = 0; i < services.size(); i++) {
                                    AxisService axisService = (AxisService) services.get(i);
View Full Code Here

TOP

Related Classes of org.apache.axis2.deployment.repository.util.ArchiveReader

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.