Package eu.planets_project.pp.plato.model

Examples of eu.planets_project.pp.plato.model.DigitalObject


         * map sample records to uploads and their xcdlDescriptions, if present
         */
        for (String key : tempUploads.keySet()) {
            SampleObject rec = records.get(key);
            if (rec != null) {
                DigitalObject result = tempUploads.get(key);
                getResults().put(rec, result);
            }
        }
       
        /*
 
View Full Code Here


    }

    public void prepareTempFileSaving() {
        for (Alternative a: selectedPlan.getAlternativesDefinition().getConsideredAlternatives()) {
            for (SampleObject so: selectedPlan.getSampleRecordsDefinition().getRecords()) {
                DigitalObject result = a.getExperiment().getResults().get(so);
                if (tempFiles.containsKey(result)) {
                    try {
                        File file = new File(tempFiles.get(result));
                        byte[] data = FileUtils.getBytesFromFile(file);
                        DigitalObject storedResult = em.merge(result);
                        storedResult.getData().setData(data);
                        a.getExperiment().getResults().put(so,storedResult);
                    } catch (IOException e) {
                        log.error(e);
                    }
                }
View Full Code Here

        List<SampleObject> allRecords = selectedPlan.getSampleRecordsDefinition().getRecords();
        for (Alternative alternative : consideredAlternatives) {
            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

     */
    public void removeUpload(Object object) {
        log.debug("Object: " + object);
        if (object instanceof SampleObject) {
            SampleObject sample = (SampleObject) object;
            selectedAlternative.getExperiment().getResults().put(sample, new DigitalObject());
            log.debug("File in RunExperiment removed");
            showUpload.setBool(false);
        } else {
            failure("Couldn't remove upload");
        }
View Full Code Here

     */
    public void download(Object object) {
        if (object == null) {
           failure("Couldn't start download process");
        }else{
            DigitalObject up = (DigitalObject)object;
            if (tempFiles.containsKey(up)) {
                //download TEMPFILE
                Downloader.instance().download(up,tempFiles.get(up));
            } else {
                // we have to merge it back into the session because we the data bytestream
                // is lazy loaded
                DigitalObject u = (DigitalObject)em.merge(up);
                Downloader.instance().download(u);
            }
        }
    }
View Full Code Here

        pad.setParamByName("settings", settings);

        StringBuffer runDescription = new StringBuffer();

        if (action instanceof IMigrationAction) {
            DigitalObject migrationResultObject;
            DigitalObject experimentResultObject;
            MigrationResult migrationResult = null;
            IMigrationAction migrationAction = (IMigrationAction) action;
            //                int nextIndex = experimentStatus.getNextSampleIndex();
            SampleObject record = experimentStatus.getNextSample(); //null;
            //                if (nextIndex >= 0 && nextIndex < selectedPlan.getSampleRecordsDefinition().getRecords().size()) {
            //                    record = selectedPlan.getSampleRecordsDefinition().getRecords().get(nextIndex);
            //                }
            //experimentStatus.getNextSample();
            while (record != null) {
                if (record.isDataExistent()) {

                    // objectTomigrate is only being read, needs to be merged to lazily get the data out
                    SampleObject objectToMigrate = em.merge(record);

                    try {
                        // ACTION HAPPENS HERE:
                        migrationResult =  migrationAction.migrate(pad, objectToMigrate);
                    } catch (NullPointerException npe) {
                        log.error("Caught nullpointer exception when running a migration tool. ### WRONG CONFIGURATION? ###",npe);
                    } catch (Throwable t) {
                        log.error("Caught unchecked exception when running a migration tool: "+t.getMessage(),t);
                        //throw new PlatoServiceException("Could not run service "+a.getName()+" on object "+record.getShortName(),t);
                    }

                    if (migrationResult != null) {

                        if (migrationResult.isSuccessful() && migrationResult.getMigratedObject() != null) {
                           
                            experimentResultObject = a.getExperiment().getResults().get(record);
                            migrationResultObject = migrationResult.getMigratedObject();
                            experimentResultObject.setContentType(migrationResultObject.getContentType());
                            experimentResultObject.getFormatInfo().assignValues(migrationResultObject.getFormatInfo());

                            int size = saveTempFile(experimentResultObject,migrationResultObject);
                            experimentResultObject.getData().setSize(size);
                            experimentResultObject.setFullname(migrationResultObject.getFullname());

                            characterise(experimentResultObject);
                            characteriseFits(experimentResultObject);
                            experimentResultObject.setJhoveXMLString(jHoveAdaptor.describe(tempFiles.get(experimentResultObject)));
                        }

                        // set detailed infos depending on migration result
                        extractDetailedInfos(a.getExperiment(), record, migrationResult);
View Full Code Here

        FormatIdentification ident = null;
       
        String filename = tempFiles.get(dobject);
       
        if (filename == null || "".equals(filename)) {
            DigitalObject o2 = em.merge(dobject);
            try {
                ident = DROIDIntegration.getInstance().identifyFormat(
                        o2.getData().getData(),
                        o2.getFullname());
            } catch (Exception e) {
                log.error(e.getMessage(),e);
            }   
        } else {
            ident = DROIDIntegration.getInstance().identify(filename);
View Full Code Here

        ArrayList<String> failed = new ArrayList<String>();
       
        for(Alternative alt : consideredAlternatives) {
            for (SampleObject record : records) {
                // each experiment has one experiment result per sample record
                DigitalObject result = alt.getExperiment().getResults().get(record);
               
                XcdlDescription xcdl = null;
                if ((result != null)&&(result.isDataExistent())) {
                    try {
                        String filepath = tempFiles.get(result);
                        if ((filepath != null) && (!"".equals(filepath))) {
                            xcdl = extractor.extractProperties(result.getFullname(), filepath);
                        } else {
                            // we have to merge it back into the session because we the data bytestream
                            // is lazy loaded
                            DigitalObject u = (DigitalObject)em.merge(result);
                            xcdl = extractor.extractProperties(u);
                            // Should we call System.gc afterwards?
                        }
                        // there should be a file now
                        if (xcdl == null) {
View Full Code Here

        if (fits == null) {
            log.debug("FITS is not available and needs to be reconfigured.");
            return null;
        }
        if(object instanceof DigitalObject){
            DigitalObject dObject = (DigitalObject)object;
            if (dObject != null && dObject.isDataExistent()) {
                try {
                    String fitsXML = null;
                    String filepath =  tempFiles.get(dObject);
                    if ((filepath != null) && (!"".equals(filepath))) {
                        fitsXML = fits.characterise(new File(filepath));
                    } else {
                        DigitalObject mergedObj = em.merge(dObject);
                        saveTempFile(mergedObj, dObject);
                        filepath =  tempFiles.get(dObject);
                        fitsXML = fits.characterise(new File(filepath));
                    }
                    dObject.setFitsXMLString(fitsXML);
View Full Code Here

     *
     * @param upload file that shall be downloaded
     */
    public void download(Object object) {
        if (object instanceof DigitalObject) {
            DigitalObject o = em.merge((DigitalObject)object);
            Downloader.instance().download(o);
        }
    }
View Full Code Here

TOP

Related Classes of eu.planets_project.pp.plato.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.