Package eu.scape_project.planning.model

Examples of eu.scape_project.planning.model.DigitalObject


     *            the result object
     * @param sampleObject
     *            the sample object
     */
    private void setResultName(MigrationResult result, DigitalObject sampleObject) {
        DigitalObject resultObject = result.getMigratedObject();
        if (resultObject != null) {
            String resultName = "result.";
            if (sampleObject.getFullname() != null) {
                resultName = sampleObject.getFullname() + ".";
            }
            if (result.getTargetFormat() != null) {
                resultName = resultName + result.getTargetFormat().getDefaultExtension();
                resultObject.getFormatInfo().assignValues(result.getTargetFormat());
            }
            resultObject.setFullname(resultName);
        }
    }
View Full Code Here


     */
    public void uploadReport(FileUploadEvent event) {
        UploadedFile file = event.getUploadedFile();

        // Put file-data into a digital object
        DigitalObject digitalObject = new DigitalObject();
        digitalObject.setFullname(file.getName());
        digitalObject.getData().setData(file.getData());
        digitalObject.setContentType(file.getContentType());

        try {
            digitalObjectManager.moveDataToStorage(digitalObject);
            plan.getPlanProperties().setReportUpload(digitalObject);
        } catch (StorageException e) {
            log.error("Exception at trying to upload report for plan with id " + plan.getId() + ": ", e);
            facesMessages.addError("Unable to upload report");
            return;
        }

        log.info("Uploaded report '" + digitalObject.getFullname() + "' for plan with id " + plan.getId());
        save(plan, user);
    }
View Full Code Here

    /**
     * Method responsible for removing a report from a plan.
     */
    public void removeReport() {
        try {
            DigitalObject report = plan.getPlanProperties().getReportUpload();
            byteStreamManager.delete(report.getPid());

            plan.getPlanProperties().setReportUpload(new DigitalObject());
        } catch (StorageException e) {
            log.error("Error at removing report from plan with id " + plan.getId(), e);
            facesMessages.addError("Unable to remove report");
            return;
        }
View Full Code Here

     * Method responsible for starting the plan-report download in the users
     * web-selenium.
     */
    public void downloadReport() {
        try {
            DigitalObject digitalObject = plan.getPlanProperties().getReportUpload();
            downloader.download(digitalObjectManager.getCopyOfDataFilledDigitalObject(digitalObject));
        } catch (StorageException e) {
            log.error("Error at fetching report for plan with id " + plan.getId(), e);
            facesMessages.addError("Unable to fetch report");
        }
View Full Code Here

            result.setReport(r.getReport());
           
            byte[] migratedFile = new byte[]{};
            try {
                migratedFile = FileUtils.getBytesFromFile(new File(outputFile));
                DigitalObject u = new DigitalObject();
                u.getData().setData(migratedFile);
                FormatInfo tFormat = new FormatInfo();
                tFormat.setDefaultExtension(config.getOutEnding());
                result.setTargetFormat(tFormat);
                result.setMigratedObject(u);
            } catch (Exception e) {
View Full Code Here

     * @return A copy of the result file as DigitalObject
     * @throws StorageException
     *             if any error occurred retrieving the result file
     */
    public DigitalObject fetchResultFile(Alternative alternative, SampleObject sampleObject) throws StorageException {
        DigitalObject digitalObject = alternative.getExperiment().getResults().get(sampleObject);

        return digitalObjectManager.getCopyOfDataFilledDigitalObject(digitalObject);
    }
View Full Code Here

    public void setAlternativeWorkflow(final Alternative alternative, final DigitalObject workflow)
        throws PlanningException {
        try {
            digitalObjectManager.moveDataToStorage(workflow);

            DigitalObject oldWorkflow = alternative.getExperiment().getWorkflow();
            if (oldWorkflow != null && oldWorkflow.isDataExistent()) {
                bytestreamsToRemove.add(oldWorkflow.getPid());
            }

            plan.setExperimentWorkflow(alternative, workflow);
            alternative.getAction().setActionIdentifier("myExperiment-plan");
            addedBytestreams.add(workflow.getPid());
View Full Code Here

                    String samplePid = sample.getPid();
                    if (samplePid != null) {
                        sample.getData().setData(bytestreamManager.load(samplePid));
                    }

                    DigitalObject r = alternative.getExperiment().getResults().get(sample);
                    if ((r != null) && (r.getPid() != null)) {
                        r = digitalObjectManager.getCopyOfDataFilledDigitalObject(r);
                    }

                    try {
                        for (IObjectEvaluator evaluator : objEvaluators) {
View Full Code Here

     * @param recommendedAlternative
     *            Recommended alternative.
     */
    public void recommendAlternative(Alternative recommendedAlternative) {
        plan.getRecommendation().setAlternative(recommendedAlternative);
        DigitalObject executablePlan = plan.getExecutablePlanDefinition().getT2flowExecutablePlan();
        if (executablePlan != null) {
            plan.getExecutablePlanDefinition().setT2flowExecutablePlan(null);
            bytestreamsToRemove.add(executablePlan.getPid());
        }
        plan.getRecommendation().touch();
    }
View Full Code Here

        return result.isSuccessful();
    }

    @Override
    public MigrationResult migrate(Alternative alternative, DigitalObject digitalObject) throws PlatoException {
        DigitalObject workflow = alternative.getExperiment().getWorkflow();
        MigrationResult result = new MigrationResult();
        result.setSourceFormat(digitalObject.getFormatInfo());
        result.setSuccessful(false);

        // Prepare executor
        SSHTavernaExecutor tavernaExecutor = new SSHTavernaExecutor();
        tavernaExecutor.init();
        SSHTavernaExecutor.ByteArraySourceFile workflowFile = tavernaExecutor.new ByteArraySourceFile(
            FileUtils.makeFilename(workflow.getFullname()), workflow.getData().getData());
        tavernaExecutor.setWorkflow(workflowFile);

        // Input
        HashMap<String, Object> inputData = new HashMap<String, Object>();
        SSHTavernaExecutor.ByteArraySourceFile sourceFile = tavernaExecutor.new ByteArraySourceFile(
            FileUtils.makeFilename(digitalObject.getFullname()), digitalObject.getData().getData());
        inputData.put("source", sourceFile);
        tavernaExecutor.setInputData(inputData);

        // Outputs
        tavernaExecutor.setOutputPorts(null);
        HashMap<String, SSHInMemoryTempFile> requestedFiles = new HashMap<String, SSHInMemoryTempFile>(1);
        SSHInMemoryTempFile tempFile = new SSHInMemoryTempFile();
        requestedFiles.put("target", tempFile);
        tavernaExecutor.setOutputFiles(requestedFiles);

        // Execute
        try {
            tavernaExecutor.execute();
            result.setReport(tavernaExecutor.getOutputDoc());

            // Migrated file
            Map<String, ?> outputFiles = tavernaExecutor.getOutputFiles();

            DigitalObject migrated = new DigitalObject();
            for (Entry<String, ?> entry : outputFiles.entrySet()) {
                SSHInMemoryTempFile resultFile = (SSHInMemoryTempFile) entry.getValue();
                migrated.getData().setData(resultFile.getData());
                migrated.setFullname(alternative.getAction().getShortname() + " - " + digitalObject.getFullname());
            }
            result.setMigratedObject(migrated);
            result.setTargetFormat(migrated.getFormatInfo());
            result.setSuccessful(migrated.isDataExistent());

            // Measures
            Map<String, ?> outputData = tavernaExecutor.getOutputData();
            Map<String, Measurement> measurements = new HashMap<String, Measurement>();
            for (Entry<String, ?> outputEntry : outputData.entrySet()) {
View Full Code Here

TOP

Related Classes of eu.scape_project.planning.model.DigitalObject

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.