Package eu.scape_project.planning.model

Examples of eu.scape_project.planning.model.DigitalObject


            ByteStream bs = new ByteStream();
            bs.setData(out.toByteArray());
            bs.setSize(out.size());

            DigitalObject digitalObject = new DigitalObject();
            digitalObject.setFullname(PreservationActionPlanGenerator.FULL_NAME);
            digitalObject.setContentType("application/xml");
            digitalObject.setData(bs);

            digitalObjectManager.moveDataToStorage(digitalObject);

            if (plan.getPreservationActionPlan() != null && plan.getPreservationActionPlan().isDataExistent()) {
                bytestreamsToRemove.add(plan.getPreservationActionPlan().getPid());
            }

            plan.setPreservationActionPlan(digitalObject);
            addedBytestreams.add(digitalObject.getPid());
            plan.getPreservationActionPlan().touch();
        } catch (IOException e) {
            log.error("Error generating preservation action plan {}.", e.getMessage());
            throw new PlanningException("Error generating preservation action plan.", e);
        } catch (StorageException e) {
View Full Code Here


        }
        if (plan.getRecommendation().getAlternative().getExperiment().getWorkflow() == null) {
            throw new PlanningException("The recommendation experiment has no workflow defined.");
        }

        DigitalObject workflow = plan.getRecommendation().getAlternative().getExperiment().getWorkflow();
        DigitalObject copy = digitalObjectManager.getCopyOfDataFilledDigitalObject(workflow);
        digitalObjectManager.moveDataToStorage(copy);
        addedBytestreams.add(copy.getPid());
        plan.getExecutablePlanDefinition().setT2flowExecutablePlan(copy);
        plan.getExecutablePlanDefinition().getT2flowExecutablePlan().touch();
    }
View Full Code Here

     *            the executable plan as t2flow
     * @throws PlanningException
     *             if an error occurred during storing
     */
    private void storeExecutablePlan(String name, ByteStream executablePlan) throws PlanningException {
        DigitalObject object = new DigitalObject();
        object.setContentType("application/vnd.taverna.t2flow+xml");
        object.setFullname(name);
        object.setData(executablePlan);

        try {
            digitalObjectManager.moveDataToStorage(object);
            plan.getExecutablePlanDefinition().setT2flowExecutablePlan(object);
            plan.getExecutablePlanDefinition().getT2flowExecutablePlan().touch();
            addedBytestreams.add(object.getPid());
        } catch (StorageException e) {
            log.error("An error occurred while storing the executable plan: {}", e.getMessage());
            throw new PlanningException("An error occurred while storing the profile", e);
        }
    }
View Full Code Here

        List<SampleObject> allRecords = p.getSampleRecordsDefinition().getRecords();
        for (Alternative alternative : p.getAlternativesDefinition().getConsideredAlternatives()) {
            Experiment exp = alternative.getExperiment();

            for (SampleObject record : allRecords) {
                DigitalObject u = exp.getResults().get(record);

                if (u == null) {
                    exp.addRecord(record);
                    u = exp.getResults().get(record);
                }
View Full Code Here

     *            Alternative the file was uploaded for.
     * @param sampleObject
     *            Sample the file was uploaded for.
     */
    public void removeResultFile(Alternative alternative, SampleObject sampleObject) {
        DigitalObject resultFile = alternative.getExperiment().getResults().put(sampleObject, new DigitalObject());
        bytestreamsToRemove.add(resultFile.getPid());

        alternative.getExperiment().getResults().put(sampleObject, new DigitalObject());
    }
View Full Code Here

        List<SampleObject> allRecords = plan.getSampleRecordsDefinition().getRecords();
        for (Alternative alternative : runnableAlternatives) {
            Experiment exp = alternative.getExperiment();

            for (SampleObject record : allRecords) {
                DigitalObject u = exp.getResults().get(record);

                if (u.isDataExistent() && (u.getFitsXMLString() == null)) {
                    characteriseFits(u);
                }
            }
        }
View Full Code Here

     * @return the executable plan as digital object
     * @throws PlanningException
     *             if an error occurred during generation
     */
    public DigitalObject generateExecutablePlan() throws PlanningException {
        DigitalObject workflow = new DigitalObject();

        // Create digital object
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        OutputStreamWriter writer = new OutputStreamWriter(out);

        try {
            generator.generate(writer);
        } catch (IOException e) {
            log.warn("An error occured generating the executable plan.", e.getMessage());
            throw new PlanningException("An error occured generating the executable plan.", e);
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException e) {
                    log.warn("An error occured closing the executable plan generator writer.", e.getMessage());
                    throw new PlanningException("An error occured closing the executable plan generator writer.", e);
                }
            }
        }

        byte[] data = out.toByteArray();
        ByteStream bsData = new ByteStream();
        bsData.setData(data);

        workflow.setContentType("application/vnd.taverna.t2flow+xml");
        workflow.setData(bsData);
        workflow.setFullname(FileUtils.makeFilename(name + ".t2flow"));

        return workflow;
    }
View Full Code Here

            while (record != null) {
                if (record.isDataExistent()) {
                    MigrationResult migrationResult = null;

                    try {
                        DigitalObject workflow = a.getExperiment().getWorkflow();
                        if (workflow != null) {
                            byte[] workflowData = byteStreamManager.load(workflow.getPid());
                            workflow.getData().setData(workflowData);
                        }
                        DigitalObject objectToMigrate = digitalObjectManager.getCopyOfDataFilledDigitalObject(record);
                        migrationResult = migrationAction.migrate(a, objectToMigrate);
                    } catch (StorageException e) {
                        log.error("Failed to load sample object", e);
                    } catch (NullPointerException e) {
                        log.error(
                            "Caught nullpointer exception when running a migration tool. ### WRONG CONFIGURATION? ###",
                            e);
                    } catch (Throwable t) {
                        log.error("Caught unchecked exception when running a migration tool: " + t.getMessage(), t);
                    }

                    // Set detailed info before moving data to storage
                    extractDetailedInfos(a, record, migrationResult);

                    if (migrationResult != null) {
                        try {
                            if (migrationResult.isSuccessful()) {
                                DigitalObject experimentResultObject = a.getExperiment().getResults().get(record);
                                experimentResultObject.assignValues(migrationResult.getMigratedObject());
                                digitalObjectManager.moveDataToStorage(experimentResultObject);

                                addCriteria(a, record, migrationResult);
                            }
                        } catch (StorageException e) {
View Full Code Here

            } else {
                info.setProgramOutput(migrationResult.getReport());
            }

            // Execution claimed to be successful but size = 0
            DigitalObject migratedObject = migrationResult.getMigratedObject();
            if (migrationResult.isSuccessful() && (migratedObject == null || migratedObject.getData().getSize() == 0)) {
                info.setSuccessful(false);
                info.setProgramOutput(info.getProgramOutput()
                    + "\nSomething went wrong during migration. No result file has been generated.");
            }
           
View Full Code Here

        result.setSuccessful(true);
        result.setReport(tavernaExecutor.getOutputDoc());

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

        DigitalObject u = new DigitalObject();
        for (Entry<String, ?> entry : outputFiles.entrySet()) {
            SSHInMemoryTempFile resultFile = (SSHInMemoryTempFile) entry.getValue();
            u.getData().setData(resultFile.getData());
            u.setFullname(action.getShortname() + " - " + digitalObject.getFullname());
        }
        FormatInfo tFormat = new FormatInfo();
        result.setTargetFormat(tFormat);
        result.setMigratedObject(u);
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.