Package eu.scape_project.planning.model

Examples of eu.scape_project.planning.model.DigitalObject


     *             if an error occurred during generation
     */
    @Asynchronous
    public Future<DigitalObject> generateExecutablePlan(final String planName, final Alternative alternative,
        final List<String> measures, final String sourceMimetype, final String targetMimetype) throws PlanningException {
        DigitalObject workflow = new DigitalObject();

        String name = planName + " - " + alternative.getName();
        T2FlowExecutablePlanGenerator generator = new T2FlowExecutablePlanGenerator(name, user.getFullName());

        // Add ports
        generator.addSourcePort();
        generator.addTargetPort();

        // Migration action
        PreservationActionDefinition action = alternative.getAction();
        if (action != null) {
            try {
                WorkflowDescription wf = MyExperimentRESTClient.getWorkflow(action.getDescriptor());
                HashMap<String, String> parameters = new HashMap<String, String>();
                for (Parameter p : action.getParams()) {
                    parameters.put(p.getName(), p.getValue());
                }
                wf.readMetadata();
                String workflowContent = MyExperimentRESTClient.getWorkflowContent(wf);
                generator.setMigrationComponent(wf, workflowContent, parameters);
            } catch (Exception e) {
                log.warn("An error occured querying myExperiment migration component.", e.getMessage());
                throw new PlanningException("An error occured querying myExperiment migration component", e);
            }
        }

        // Add QA components
        addQaComponents(generator, measures, sourceMimetype, targetMimetype);

        // 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 new AsyncResult<DigitalObject>(workflow);
    }
View Full Code Here


    /**
     * Loads objects specified in the collection profile.
     */
    public void loadCollectionProfileElements() {
        DigitalObject profile = plan.getSampleRecordsDefinition().getCollectionProfile().getProfile();
        try {
            DigitalObject datafilledProfile = digitalObjectManager.getCopyOfDataFilledDigitalObject(profile);

            C3POProfileParser parser = new C3POProfileParser();
            parser.read(new ByteArrayInputStream(datafilledProfile.getData().getRealByteStream().getData()), false);

            collectionProfileElements = parser.getObjectIdentifiers();

            parser = null;
            datafilledProfile = null;
View Full Code Here

     * @param sampleObject
     *            SampleObject of the requested result file
     */
    public void downloadResultFile(Alternative alternative, SampleObject sampleObject) {
        try {
            DigitalObject resultFile = evaluateExperiments.fetchResultFile(alternative, sampleObject);
            if (resultFile != null) {
                downloader.download(resultFile);
            } else {
                log.debug("No result file exists for alternative " + alternative.getName() + " and sample "
                    + sampleObject.getFullname());
View Full Code Here

        if (object == null) {
            log.debug("No sample object provided.");
            return;
        }
        try {
            DigitalObject sampleObject = evaluateExperiments.fetchDigitalObject(object);
            if (sampleObject != null) {
                downloader.download(sampleObject);
            } else {
                log.debug("Sample object not found");
            }
View Full Code Here

    public void generateCharacterisationReports(SampleObject sample, Alternative alternative) {
        CharacterisationReportGenerator reportGen = new CharacterisationReportGenerator();

        sampleCharacterisationReportAsHTML = reportGen.generateHTMLReport(sample);

        DigitalObject resultObject = alternative.getExperiment().getResults().get(sample);
        resultCharacterisationReportAsHTML = reportGen.generateHTMLReport(resultObject);
    }
View Full Code Here

        }

        try {
            Future<DigitalObject> generatedWorkflow = asyncBuilder.generateExecutablePlan(plan.getPlanProperties()
                .getName(), alternative, measures, sourceMimetype, targetMimetypes.get(alternative));
            DigitalObject workflow = generatedWorkflow.get();
            developExperiments.setAlternativeWorkflow(alternative, workflow);
            facesMessages.addInfo("Experiment workflow generated.");
        } catch (PlanningException e) {
            facesMessages.addError("An error occured generating the executable plan.");
        } catch (InterruptedException e) {
View Full Code Here

     *
     * @param alternative
     *            the alternative download the workflow from
     */
    public void downloadExperimentWorkflow(final Alternative alternative) {
        DigitalObject workflow = alternative.getExperiment().getWorkflow();
        File file = byteStreamManager.getTempFile(workflow.getPid());
        downloader.download(workflow, file);
    }
View Full Code Here

        }

        try {
            planGenerator.setMigrationAction(actionInfos.get(selectedAlternative), parameters);
            planGenerator.addQaComponent(recommendedComponents);
            DigitalObject workflow = planGenerator.generateExecutablePlan();
            developExperiments.setAlternativeWorkflow(selectedAlternative, workflow);
            facesMessages.addInfo("Experiment workflow built.");
        } catch (PlanningException e) {
            facesMessages.addError("Could not generate workflow from the selected components: " + e.getMessage());
        }
View Full Code Here

     */
    public void uploadResultFile(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 {
            runExperiments.uploadResultFile(digitalObject, alternativeForNextUpload, sampleObjectForNextUpload);
        } catch (StorageException e) {
            log.error("Exception at trying to upload result file.", e);
View Full Code Here

     */
    public void downloadResultFile(Object alt, Object sampleObj) {
        Alternative alternative = (Alternative) alt;
        SampleObject sampleObject = (SampleObject) sampleObj;

        DigitalObject resultFile = null;

        try {
            resultFile = runExperiments.fetchResultFile(alternative, sampleObject);
        } catch (StorageException e) {
            log.error("Exception at trying to fetch result file for alternative " + alternative.getName()
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.