Package org.rhq.core.domain.content.transfer

Examples of org.rhq.core.domain.content.transfer.DeployIndividualPackageResponse


            ScriptDeployer deployer = new ScriptDeployer(jbossHomeDir, systemInfo, new RemoteDownloader(
                resourceContext, true, profileServiceConnection));
            ResourcePackageDetails packageDetails = packages.iterator().next();

            DeployIndividualPackageResponse scriptUpdateResult = deployer.update(packageDetails,
                resourceContext.getResourceType());

            response.setOverallRequestResult(scriptUpdateResult.getResult());
            response.addPackageResponse(scriptUpdateResult);
        } catch (Exception e) {
            response.setOverallRequestErrorMessage(e.getMessage());
            response.setOverallRequestResult(ContentResponseResult.FAILURE);
        }
View Full Code Here


        // Remove temporary files created by this deployment.
        deleteTemporaryFile(backupDir);
        deleteTemporaryFile(tempFile.getParentFile());

        DeployPackagesResponse response = new DeployPackagesResponse(ContentResponseResult.SUCCESS);
        DeployIndividualPackageResponse packageResponse = new DeployIndividualPackageResponse(packageDetails.getKey(),
            ContentResponseResult.SUCCESS);
        response.addPackageResponse(packageResponse);

        if (LOG.isDebugEnabled()) {
            LOG.debug("Updated " + resourceTypeName + " file '" + deploymentFile
View Full Code Here

     * @return response populated to reflect a failure
     */
    private DeployPackagesResponse failApplicationDeployment(String errorMessage, ResourcePackageDetails packageDetails) {
        DeployPackagesResponse response = new DeployPackagesResponse(ContentResponseResult.FAILURE);

        DeployIndividualPackageResponse packageResponse = new DeployIndividualPackageResponse(packageDetails.getKey(),
            ContentResponseResult.FAILURE);
        packageResponse.setErrorMessage(errorMessage);

        response.addPackageResponse(packageResponse);

        return response;
    }
View Full Code Here

                        .setOverallRequestErrorMessage("When deploying a patch, no other packages may be deployed at the same time.");
                    return response;
                }

                try {
                    DeployIndividualPackageResponse response = getWorkflowManager().run(pkg);

                    if (response.getResult() == ContentResponseResult.FAILURE) {
                        overallResult = ContentResponseResult.FAILURE;
                    }

                    // just in case response is null, it would throw NPE on the getResult() check above but the item
                    // would already be a member in individualResponses; moving the add below the check ensures that
                    // only non-null instances of individualResponses will ever make it into the List
                    individualResponses.add(response);
                } catch (Throwable throwable) {
                    log.error("Error deploying package: " + pkg, throwable);

                    // Don't forget to provide an individual response for the failed package.
                    DeployIndividualPackageResponse response = new DeployIndividualPackageResponse(pkg.getKey(),
                        ContentResponseResult.FAILURE);
                    response.setErrorMessage(ThrowableUtil.getStackAsString(throwable));
                    individualResponses.add(response);

                    overallResult = ContentResponseResult.FAILURE;
                }
            } else if (packageTypeName.equals(PACKAGE_TYPE_LIBRARY)) {
                if (packages.size() > 1) {
                    log.warn("Attempt to install more than one patch at a time, installation aborted.");

                    DeployPackagesResponse response = new DeployPackagesResponse(ContentResponseResult.FAILURE);
                    response
                        .setOverallRequestErrorMessage("When deploying a patch, no other packages may be deployed at the same time.");
                    return response;
                } else {
                    deployJarLibrary(pkg, contentServices);
                }
            }
        }

        DeployPackagesResponse response = new DeployPackagesResponse(overallResult);
        response.getPackageResponses().addAll(individualResponses);

        return response;
    }
View Full Code Here

        try {
            downloadBits(packageDetails.getKey(), destinationFileLocation);
        } catch (Throwable throwable) {
            log.error("Error deploying package: " + packageDetails, throwable);
            DeployIndividualPackageResponse response = new DeployIndividualPackageResponse(packageDetails.getKey(),
                ContentResponseResult.FAILURE);
            response.setErrorMessage(ThrowableUtil.getStackAsString(throwable));
            individualResponses.add(response);
            overallResult = ContentResponseResult.FAILURE;
        }

        DeployPackagesResponse response = new DeployPackagesResponse(overallResult);
        response.getPackageResponses().addAll(individualResponses);
        return response;
    }
View Full Code Here

                response.setOverallRequestErrorMessage("Rolled Back: " + result.getFailureDescription());
            } else {
                response.setOverallRequestResult(ContentResponseResult.SUCCESS);
                //we just deployed a different file on the AS7 server, so let's refresh ourselves
                deploymentFile = determineDeploymentFile();
                DeployIndividualPackageResponse packageResponse = new DeployIndividualPackageResponse(detail.getKey(),
                    ContentResponseResult.SUCCESS);
                response.addPackageResponse(packageResponse);
            }

        } catch (Exception e) {
View Full Code Here

        }
    }

    public DeployIndividualPackageResponse update(ResourcePackageDetails existingPackage, ResourceType resourceType) {
        File script = null;
        DeployIndividualPackageResponse response = new DeployIndividualPackageResponse(existingPackage.getKey());
       
        try {
           
            ResourcePackageDetails details = existingPackage;
            script = downloader.prepareArchive(details.getKey(), resourceType);

            String targetFileName = script.getName();

            Configuration deploymentConfig = details.getDeploymentTimeConfiguration();
            if (deploymentConfig != null) {
                targetFileName = deploymentConfig.getSimpleValue(PROP_TARGET_FILE_NAME, targetFileName);
            }

            File target = new File(binDir, targetFileName);

            if (!ScriptFileFinder.getScriptFileFilter(systemInfo).accept(target)) {
                response.setResult(ContentResponseResult.FAILURE);
                response.setErrorMessage("The supplied filename has a wrong extension. One of: "
                    + ScriptFileFinder.getSupportedFileExtensions(systemInfo) + " was expected.");

                return response;
            }

            if (!target.exists()) {
                response.setResult(ContentResponseResult.FAILURE);
                response.setErrorMessage("A file called '" + targetFileName
                    + "' already exists in the server bin directory.");

                return response;
            }

            FileUtil.copyFile(script, target);
            //this should be the case, but let's just make sure the script is executable.
            target.setExecutable(true, false);

            response.setResult(ContentResponseResult.SUCCESS);
           
            return response;
        } catch (Exception e) {
            response.setErrorMessage(e.getMessage());
            response.setResult(ContentResponseResult.FAILURE);
           
            return response;
        } finally {
            if (script != null) {
                downloader.destroyArchive(script);
View Full Code Here

        mockContentServices.setFilename("test-patch.zip");

        // Test
        JBPMWorkflowManager manager = new JBPMWorkflowManager(mockContentContext, mockFacade,
            getJBossPaths(jbossPluginConfiguration));
        DeployIndividualPackageResponse response = manager.run(packageDetails);

        assert response.getResult() == ContentResponseResult.SUCCESS : "Incorrect response status. Expected: Success, Found: "
            + response.getResult();

        List<DeployPackageStep> steps = response.getDeploymentSteps();

        assert steps != null : "Null steps found in response";
        assert steps.size() == 8 : "Incorrect number of steps. Expected: 8, Found: " + steps.size();

        for (DeployPackageStep step : steps) {
View Full Code Here

        mockContentServices.setFilename("nonexistent-file");

        // Test
        JBPMWorkflowManager manager = new JBPMWorkflowManager(mockContentContext, mockFacade,
            getJBossPaths(jbossPluginConfiguration));
        DeployIndividualPackageResponse response = manager.run(packageDetails);

        assert response.getResult() == ContentResponseResult.FAILURE : "Incorrect response status. Expected: Failed, Found: "
            + response.getResult();

        List<DeployPackageStep> steps = response.getDeploymentSteps();

        assert steps != null : "Null steps found in response";
        assert steps.size() == 8 : "Incorrect number of steps. Expected: 8, Found: " + steps.size();

        int counter = 0;
View Full Code Here

            ASUploadConnection uploadConnection = new ASUploadConnection(getServerComponent().getASConnection(),
                packageName);
            OutputStream out = uploadConnection.getOutputStream();
            if (out == null) {
                response.addPackageResponse(new DeployIndividualPackageResponse(details.getKey(),
                    ContentResponseResult.FAILURE));
                continue;
            }

            try {
                contentServices.downloadPackageBits(cctx, details.getKey(), out, false);
            } catch (Exception e) {
                uploadConnection.cancelUpload();
                response.addPackageResponse(new DeployIndividualPackageResponse(details.getKey(),
                    ContentResponseResult.FAILURE));
                continue;
            }

            JsonNode uploadResult = uploadConnection.finishUpload();

            if (uploadResult.has(OUTCOME)) {
                String outcome = uploadResult.get(OUTCOME).getTextValue();
                if (outcome.equals(SUCCESS)) { // Upload was successful, so now add the file to the server group
                    JsonNode resultNode = uploadResult.get("result");
                    String hash = resultNode.get("BYTES_VALUE").getTextValue();
                    ASConnection connection = getASConnection();

                    Address deploymentsAddress = new Address();
                    deploymentsAddress.add("deployment", packageName);
                    Operation step1 = new Operation("add", deploymentsAddress);
                    //                    step1.addAdditionalProperty("hash", new PROPERTY_VALUE("BYTES_VALUE", hash));
                    List<Object> content = new ArrayList<Object>(1);
                    Map<String, Object> contentValues = new HashMap<String, Object>();
                    contentValues.put("hash", new PROPERTY_VALUE("BYTES_VALUE", hash));
                    content.add(contentValues);
                    step1.addAdditionalProperty("content", content);

                    step1.addAdditionalProperty("name", packageName);

                    Address serverGroupAddress = new Address(context.getResourceKey());
                    serverGroupAddress.add("deployment", packageName);
                    Operation step2 = new Operation("add", serverGroupAddress);
                    Operation step3 = new Operation("deploy", serverGroupAddress);

                    CompositeOperation cop = new CompositeOperation();
                    cop.addStep(step1);
                    cop.addStep(step2);
                    cop.addStep(step3);

                    Result result = connection.execute(cop);
                    if (!result.isSuccess()) // TODO get failure message into response
                        response.addPackageResponse(new DeployIndividualPackageResponse(details.getKey(),
                            ContentResponseResult.FAILURE));
                    else {
                        DeployIndividualPackageResponse individualPackageResponse = new DeployIndividualPackageResponse(
                            details.getKey(), ContentResponseResult.SUCCESS);
                        response.addPackageResponse(individualPackageResponse);
                        response.setOverallRequestResult(ContentResponseResult.SUCCESS);
                    }
                } else
                    response.addPackageResponse(new DeployIndividualPackageResponse(details.getKey(),
                        ContentResponseResult.FAILURE));
            } else {
                response.addPackageResponse(new DeployIndividualPackageResponse(details.getKey(),
                    ContentResponseResult.FAILURE));
            }
        }

        return response;
View Full Code Here

TOP

Related Classes of org.rhq.core.domain.content.transfer.DeployIndividualPackageResponse

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.