Package eu.planets_project.ifr.core.wee.api.workflow

Examples of eu.planets_project.ifr.core.wee.api.workflow.WorkflowResultItem


   */
  public URI runMigration() throws Exception {

    // an object used for documenting the results of a service action
    // document the service type and start-time
    WorkflowResultItem wfResultItem;
    if (endOfRoundtripp) {
      wfResultItem = new WorkflowResultItem(pedigreeDigoRef,
          WorkflowResultItem.SERVICE_ACTION_FINAL_MIGRATION, System
              .currentTimeMillis(), wfi
              .getWorkflowReportingLogger());
    } else {
      wfResultItem = new WorkflowResultItem(pedigreeDigoRef,
          WorkflowResultItem.SERVICE_ACTION_MIGRATION, System
              .currentTimeMillis(), wfi
              .getWorkflowReportingLogger());
    }
    wfi.addWFResultItem(wfResultItem);

    try {
      // get all parameters that were added in the configuration file
      List<Parameter> parameterList;
      if (wfi.getServiceCallConfigs(migrationService) != null) {
        parameterList = wfi.getServiceCallConfigs(migrationService)
            .getAllPropertiesAsParameters();
      } else {
        parameterList = new ArrayList<Parameter>();
      }
      wfResultItem.setServiceParameters(parameterList);

      // get from config: migrate_to_fmt for this service
      URI migrateToURI, migrateFromURI;
      if(this.outputFormat!=null){
        //e.g. when using a identification prior to chose the output format
        migrateToURI = this.outputFormat;
      }
      else{
        //get the ones from the ServiceCallConfigs
        migrateToURI = wfi.getServiceCallConfigs(migrationService)
        .getPropertyAsURI(WorkflowTemplate.SER_PARAM_MIGRATE_TO);
      }
      wfResultItem.addLogInfo("set migrate to: " + migrateToURI);
     
      if(this.inputFormat!=null){
        //e.g. when using a identification prior to chose the input format
        migrateFromURI = this.inputFormat;
      }
      else{
        //get the ones from the ServiceCallConfigs
        migrateFromURI = wfi.getServiceCallConfigs(migrationService)
        .getPropertyAsURI(WorkflowTemplate.SER_PARAM_MIGRATE_FROM);
      }
      wfResultItem.addLogInfo("set migrate from: " + migrateFromURI);

      if ((migrateToURI == null) && (migrateFromURI == null)) {
        String err = "No parameter for: 'migrate_to/from_filetype' specified";
        wfResultItem.addLogInfo(err);
        throw new Exception(err);
      }

      // document
      wfResultItem.setInputDigitalObjectRef(digOToMigrateRef);
      wfResultItem.setServiceParameters(parameterList);
      wfResultItem.setStartTime(System.currentTimeMillis());
      // document the endpoint if available - retrieve from
      // WorkflowContext
      String endpoint = wfi.getWorkflowContext().getContextObject(
          migrationService, WorkflowContext.Property_ServiceEndpoint,
          java.lang.String.class);
      if (endpoint != null) {
        wfResultItem.setServiceEndpoint(new URL(endpoint));
      }
      ServiceDescription serDescr = migrationService.describe();
      wfResultItem.setServiceDescription(serDescr);

      //retrieve the actual digital object
      DigitalObject digoToMigrate = dataRegistry.retrieve(digOToMigrateRef);
     
      // now call the migration
      MigrateResult migrateResult = migrationService.migrate(
          digoToMigrate, migrateFromURI, migrateToURI, parameterList);

      // document
      wfResultItem.setEndTime(System.currentTimeMillis());
      ServiceReport report = migrateResult.getReport();
      // report service status and type
      wfResultItem.setServiceReport(report);
      if (report.getType() == Type.ERROR) {
        String s = "Service execution failed: " + report.getMessage();
        wfResultItem.addLogInfo(s);
        throw new Exception(s);
      }

      DigitalObject migOutput = migrateResult.getDigitalObject();

      // add Migration Event to DigitalObject
      Event migrEvent = buildMigrationOutputEvent(digoToMigrate,
          parameterList, wfResultItem.getStartTime(), wfResultItem
              .getDuration(),serDescr,endpoint);

      List<Event> lEvents = migOutput.getEvents();
      lEvents.add(migrEvent);

      // create an updated DigitalObject containing the Migration-Event
      // note, as the FileSystemDigoManager requires a title != null, we'll use a random one here
      String title = (migOutput.getTitle()==null) ? UUID.randomUUID()+"" : migOutput.getTitle();
      URI suggStorageURI = helperCreateDOMURIWithFileExtension(wfi.getWorklowInstanceID(),digOToMigrateRef,dataRepositoryID,migrateToURI);
      DigitalObject digoUpdated = new DigitalObject.Builder(migOutput
          .getContent()).title(title).permanentUri(
          migOutput.getPermanentUri()).manifestationOf(
          migOutput.getManifestationOf()).format(
          migOutput.getFormat()).metadata(
          (Metadata[]) migOutput.getMetadata().toArray(
              new Metadata[0])).events(
          (Event[]) lEvents.toArray(new Event[0])).build();

     
      // decide in which repository to store the received DigitalObject
      URI digoRef;
      if(this.dataRepositoryID!=null){
        digoRef = wfi.storeDigitalObjectInRepository(suggStorageURI, digoUpdated, dataRepositoryID);
      }
      else{
        //in this case use the default data registry manager location for persisting
        digoRef = wfi.storeDigitalObject(digoUpdated);
      }
     
      wfResultItem.addLogInfo("storing digital object with permanent URI: "
          + digoRef);
      wfResultItem.setOutputDigitalObjectRef(digoRef);
      wfResultItem.addLogInfo("migration completed");

      return digoRef;

    } catch (Exception e) {
      wfResultItem.addLogInfo("migration failed " + e);
      throw e;
    }
  }
View Full Code Here


    try {
      // get the digital objects and iterate one by one
      for (DigitalObject dgoA : this.getData()) {

        // document all general actions for this digital object
        WorkflowResultItem wfResultItem = new WorkflowResultItem(dgoA.getPermanentUri(),
            WorkflowResultItem.GENERAL_WORKFLOW_ACTION, System
                .currentTimeMillis(),this.getWorkflowReportingLogger());
        this.addWFResultItem(wfResultItem);
        wfResultItem.addLogInfo("working on workflow template: "+this.getClass().getName());

        // start executing on digital ObjectA
        this.processingDigo = dgoA;

        try {
          // Migrate Object round-trip
            wfResultItem.addLogInfo("starting migration A-B");
          URI dgoB = runMigration(migrate1, dgoA.getPermanentUri(), false);
            wfResultItem.addLogInfo("completed migration A-B");
            wfResultItem.addLogInfo("starting migration B-C");
          URI dgoC = runMigration(migrate2, dgoB, true);
            wfResultItem.addLogInfo("completed migration B-C");

          //TODO: use the identification service for data enrichment (e.g. mime type of output object)
           
          wfResultItem
            .addLogInfo("successfully completed workflow for digitalObject with permanent uri:"
                + processingDigo);
          wfResultItem.setEndTime(System.currentTimeMillis());

        } catch (Exception e) {
          String err = "workflow execution error for digitalObject #"
              + count + " with permanent uri: " + processingDigo
              + "";
          wfResultItem.addLogInfo(err + " " + e);
          wfResultItem.setEndTime(System.currentTimeMillis());
        }
        count++;
      }

      this.getWFResult().setEndTime(System.currentTimeMillis());
View Full Code Here

                } catch (Exception e) {
                  String err = "workflow execution error for digitalObject #" + count;
                    log.error(err);
                    log.error(e.getClass() + ": " + e.getMessage());
                    System.out.println(e);
                    WorkflowResultItem wfResultItem = new WorkflowResultItem(dgo.getPermanentUri(),
                        WorkflowResultItem.GENERAL_WORKFLOW_ACTION,
                        System.currentTimeMillis());
                    wfResultItem.addLogInfo(err);
                    wfResult.addWorkflowResultItem(wfResultItem);
                }
                count++;
            }
        } finally {
View Full Code Here

    private String[] runIdentification(DigitalObject digo, WorkflowResult wfresult) throws Exception {
        log.info("STEP 1: Identification...");
       
        //an object used to ducument the results of a service call for the WorkflowResult
        //document the service type and start-time
        WorkflowResultItem wfResultItem = new WorkflowResultItem(
            WorkflowResultItem.SERVICE_ACTION_IDENTIFICATION,
            System.currentTimeMillis());
        wfresult.addWorkflowResultItem(wfResultItem);
       
        //get the parameters that were passed along in the configuration
        List<Parameter> parameterList;
        if(this.getServiceCallConfigs(identify)!=null){
          parameterList = this.getServiceCallConfigs(identify).getAllPropertiesAsParameters();
        }else{
          parameterList = new ArrayList<Parameter>();
        }
 
        //now actually execute the identify operation of the service
        IdentifyResult results = identify.identify(digo, parameterList);
       
        //document the end-time and input digital object and the params
        wfResultItem.setEndTime(System.currentTimeMillis());
        wfResultItem.setInputDigitalObject(digo);
        wfResultItem.setServiceParameters(parameterList);
        wfResultItem.setServiceEndpoint(identify.describe().getEndpoint());
       
        //have a look at the service's results
        ServiceReport report = results.getReport();
        List<URI> types = results.getTypes();

        //report service status and type
        wfResultItem.setServiceReport(report);

        if (report.getType() == Type.ERROR) {
            String s = "Service execution failed: " + report.getMessage();
            log.debug(s);
            wfResultItem.addLogInfo(s);
            throw new Exception(s);
        }

        if (types.size() < 1) {
            String s = "The specified file type is currently not supported by this workflow";
            log.debug(s);
            wfResultItem.addLogInfo(s);
            throw new Exception(s);
        }

        String[] strings = new String[types.size()];
        int count = 0;
        for (URI uri : types) {
            strings[count] = uri.toASCIIString();
            log.debug(strings[count]);
            //document the result
            wfResultItem.addExtractedInformation(strings[count]);
            count++;
        }
        return strings;
    }
View Full Code Here

            throws Exception {
        log.info("STEP 2: Migrating ...");
    //an object used to ducument the results of a service call for the WorkflowResult
    //document the service type and start-time
    WorkflowResultItem wfResultItem = new WorkflowResultItem(
        WorkflowResultItem.SERVICE_ACTION_FINAL_MIGRATION, System
            .currentTimeMillis());
    wfresult.addWorkflowResultItem(wfResultItem);
   
      try {
      // URI migrateFromURI = new URI(migrateFrom);
      URI migrateToURI = this.getServiceCallConfigs(this.migrate)
          .getPropertyAsURI(SER_PARAM_MIGRATE_TO);
      // Create service parameter list
      List<Parameter> parameterList = new ArrayList<Parameter>();
      Parameter pCompressionType = this.getServiceCallConfigs(
          this.migrate).getPropertyAsParameter("compressionType");
      if (pCompressionType != null) {
        parameterList.add(pCompressionType);
      }
      Parameter pCompressionQuality = this.getServiceCallConfigs(
          this.migrate).getPropertyAsParameter("compressionQuality");
      if (pCompressionQuality != null) {
        parameterList.add(pCompressionQuality);
      }
      wfResultItem.setServiceEndpoint(migrate.describe().getEndpoint());
      wfResultItem.setStartTime(System.currentTimeMillis());
      wfResultItem.setInputDigitalObject(digO);
      wfResultItem.setServiceParameters(parameterList);
     
      //migrate
      MigrateResult migrateResult = this.migrate.migrate(digO,
          migrateFromURI, migrateToURI, parameterList);
     
      wfResultItem.setEndTime(System.currentTimeMillis());
      wfResultItem.addLogInfo("migration from: "+migrateFromURI+" to: "+migrateToURI+" took place");
      ServiceReport report = migrateResult.getReport();
      //report service status and type
      wfResultItem.setServiceReport(report);
      if (report.getType() == Type.ERROR) {
        String s = "Service execution failed: " + report.getMessage();
        log.debug(s);
        wfResultItem.addLogInfo(s);
        throw new Exception(s);
      }
      //add report on outputDigitalObject
      wfResultItem.setOutputDigitalObject(migrateResult
          .getDigitalObject());
      return migrateResult.getDigitalObject();
    } catch (Exception e) {
      wfResultItem.addLogInfo("Migration failed "+e);
      throw e;
    }
    }
View Full Code Here

    @SuppressWarnings("finally")
  public WorkflowResult execute(DigitalObject dgoA) {
           
      //document all general actions for this digital object
      // document all general actions for this digital object
    WorkflowResultItem wfResultItem = new WorkflowResultItem(
        dgoA.getPermanentUri(),
        WorkflowResultItem.GENERAL_WORKFLOW_ACTION,
        System.currentTimeMillis(),
        this.getWorkflowReportingLogger());
    this.addWFResultItem(wfResultItem);
   
      wfResultItem.addLogInfo("working on workflow template: "+this.getClass().getName());
      wfResultItem.addLogInfo("workflow-instance id: "+this.getWorklowInstanceID());
     
       //start executing on digital ObjectA
      this.processingDigo = dgoA.getPermanentUri();
     
        try {
          //identify format before migration roundtripp
          wfResultItem.addLogInfo("starting identify object A format: ");
          URI dgoAFormat = identifyFormat(identify1,dgoA.getPermanentUri());
          wfResultItem.addLogInfo("completed identify object A format: "+dgoAFormat);
         
          // Migrate Object round-trip
            wfResultItem.addLogInfo("starting migration A-B");
            URI dgoBRef = runMigration(migrate1,dgoA.getPermanentUri(),false);
              wfResultItem.addLogInfo("completed migration A-B");
              wfResultItem.addLogInfo("starting migration B-C");
            URI dgoCRef = runMigration(migrate2,dgoBRef,false);
              wfResultItem.addLogInfo("completed migration B-C");
              wfResultItem.addLogInfo("starting migration C-D");
            URI dgoDRef = runMigration(migrate3,dgoCRef,false);
              wfResultItem.addLogInfo("completed migration C-D");
              wfResultItem.addLogInfo("starting migration D-E");
            //this object is documented as main experiment outcome file
            URI dgoERef = runMigration(migrate4,dgoDRef,true);
              wfResultItem.addLogInfo("completed migration D-E");
           
            //identify format after migration roundtripp
            wfResultItem.addLogInfo("starting identify object E format: ");
            URI dgoEFormat = identifyFormat(identify1,dgoERef);
            wfResultItem.addLogInfo("completed identify object E format: "+dgoEFormat);
           
            wfResultItem.addLogInfo("starting XCDL extraction for A");
            URI dgoAXCDL = runMigration(migratexcdl1,dgoA.getPermanentUri(),false);
              wfResultItem.addLogInfo("completed XCDL extraction for A");
              wfResultItem.addLogInfo("starting XCDL extraction for B");
            URI dgoEXCDL = runMigration(migratexcdl1,dgoERef,false);
              wfResultItem.addLogInfo("completed XCDL extraction for B");
           
            //perform object comparison
              wfResultItem.addLogInfo("starting comparisson for XCDL1 and XCDL2");
            this.compareDigitalObjectsIdentical(dgoAXCDL, dgoEXCDL);
              wfResultItem.addLogInfo("completed comparisson for XCDL1 and XCDL2");
           
              wfResultItem.addLogInfo("successfully completed workflow for digitalObject with permanent uri:"+processingDigo);
              wfResultItem.setEndTime(System.currentTimeMillis());
           
        } catch (Exception e) {
          String err = "workflow execution error for digitalObject with permanent uri: "+processingDigo+"";           
            wfResultItem.addLogInfo(err+" "+e);
            wfResultItem.setEndTime(System.currentTimeMillis());
        }
           
    return this.getWFResult();
    }
View Full Code Here

   * @return
   * @throws Exception
   */
   private URI identifyFormat(Identify identifyService, URI digoRef) throws Exception{
    
     WorkflowResultItem wfResultItem = new WorkflowResultItem(this.processingDigo,
          WorkflowResultItem.SERVICE_ACTION_IDENTIFICATION, System
              .currentTimeMillis());
     
     wfResultItem.setInputDigitalObjectRef(digoRef);
      this.getWFResult().addWorkflowResultItem(wfResultItem);
   
    // get all parameters that were added in the configuration file
    List<Parameter> parameterList;
    if (this.getServiceCallConfigs(identifyService) != null) {
      parameterList = this.getServiceCallConfigs(identifyService)
          .getAllPropertiesAsParameters();
    } else {
      parameterList = new ArrayList<Parameter>();
    }
 
    // document
    wfResultItem.setServiceParameters(parameterList);
    // document the endpoint if available - retrieve from WorkflowContext
    String endpoint = this.getWorkflowContext().getContextObject(
        identifyService, WorkflowContext.Property_ServiceEndpoint,
        java.lang.String.class);
    if (endpoint != null) {
      wfResultItem.setServiceEndpoint(new URL(endpoint));
    }
    wfResultItem.setStartTime(System.currentTimeMillis());
   
    //resolve the digital Object reference
    DigitalObject digo = this.retrieveDigitalObjectDataRegistryRef(digoRef);
   
    //call the identification service
    IdentifyResult identifyResults = identifyService.identify(digo,parameterList);
   
    // document
    wfResultItem.setEndTime(System.currentTimeMillis());
    ServiceReport report = identifyResults.getReport();
    // report service status and type
    wfResultItem.setServiceReport(report);
    if (report.getType() == Type.ERROR) {
      String s = "Service execution failed: " + report.getMessage();
      wfResultItem.addLogInfo(s);
      throw new Exception(s);
    }
   
    //document the comparison's output
    URI ret = null;
    if((identifyResults.getTypes()!=null)&&(identifyResults.getTypes().size()>0)){
      wfResultItem.addLogInfo("identifying properties of object: "+digo.getPermanentUri());
      for(URI uri : identifyResults.getTypes()){
        if(ret == null){
          ret = uri;
        }
        String extractedInfo = "[uri: "+uri+"] \n";
        wfResultItem.addExtractedInformation(extractedInfo);
      }
    }
    else{
      String s = "Identification failed: format not identified";
      wfResultItem.addLogInfo(s);
      throw new Exception(s);
    }

    wfResultItem.addLogInfo("Identification completed, using format: "+ret);
    return ret;
   }
View Full Code Here

     * @throws Exception
     */
    private void compareDigitalObjectsIdentical(URI digo1Ref, URI digo2Ref) throws Exception {
   
      //creating the logger
      WorkflowResultItem wfResultItem = new WorkflowResultItem(
            WorkflowResultItem.SERVICE_ACTION_COMPARE,
            System.currentTimeMillis());
         this.addWFResultItem(wfResultItem);
       wfResultItem.setAboutExecutionDigoRef(processingDigo);
      
        try {
      //FIXME: using a static list of properties ... this should move to the configuration file
      List<Parameter> configProperties = comparexcdl1.convert(CONFIG);
     
      //document
      wfResultItem.setServiceParameters(configProperties);
      wfResultItem.setStartTime(System.currentTimeMillis());
      // document the endpoint if available - retrieve from WorkflowContext
      String endpoint = this.getWorkflowContext().getContextObject(
          comparexcdl1, WorkflowContext.Property_ServiceEndpoint,
          java.lang.String.class);
      if (endpoint != null) {
        wfResultItem.setServiceEndpoint(new URL(endpoint));
      }
         
          DigitalObject digo1 = this.getDataRegistry().retrieve(digo1Ref);
          DigitalObject digo2 = this.getDataRegistry().retrieve(digo2Ref);
     
          //call the comparison service
      CompareResult result = comparexcdl1.compare(digo1, digo2,
          configProperties);
       
      //document
      wfResultItem.setEndTime(System.currentTimeMillis());
      ServiceReport report = result.getReport();
      //report service status and type
      wfResultItem.setServiceReport(report);
      if (report.getType() == Type.ERROR) {
        String s = "Service execution failed: " + report.getMessage();
        wfResultItem.addLogInfo(s);
        throw new Exception(s);
      }
      //document: add report on outputDigitalObject
      wfResultItem.addExtractedInformation(result.getProperties().toString());
      wfResultItem.addLogInfo("comparisson completed");
     
    } catch (Exception e) {
      wfResultItem.addLogInfo("comparisson failed: "+e);
      throw e;
    }
    }
View Full Code Here

   * @throws Exception
     */
    private String[] runIdentification(DigitalObject digo) throws Exception {       
        //an object used to ducument the results of a service call for the WorkflowResult
        //document the service type and start-time
        WorkflowResultItem wfResultItem = new WorkflowResultItem(
            WorkflowResultItem.SERVICE_ACTION_IDENTIFICATION,
            System.currentTimeMillis());
      wfResultItem.addLogInfo("STEP 1: Identification");
       
        //get the parameters that were passed along in the configuration
        List<Parameter> parameterList;
        if(this.getServiceCallConfigs(identify)!=null){
          parameterList = this.getServiceCallConfigs(identify).getAllPropertiesAsParameters();
        }else{
          parameterList = new ArrayList<Parameter>();
        }
 
        //now actually execute the identify operation of the service
        IdentifyResult results = identify.identify(digo, parameterList);
       
        //document the end-time and input digital object and the params
        wfResultItem.setEndTime(System.currentTimeMillis());
        wfResultItem.setInputDigitalObject(digo);
        wfResultItem.setServiceParameters(parameterList);
        wfResultItem.setServiceEndpoint(identify.describe().getEndpoint());
       
        //have a look at the service's results
        ServiceReport report = results.getReport();
        List<URI> types = results.getTypes();

        //report service status and type
        wfResultItem.setServiceReport(report);

        if (report.getType() == Type.ERROR) {
            String s = "Service execution failed: " + report.getMessage();
            wfResultItem.addLogInfo(s);
            throw new Exception(s);
        }

        if (types.size() < 1) {
            String s = "The specified file type is currently not supported by this workflow";
            wfResultItem.addLogInfo(s);
            throw new Exception(s);
        }

        String[] strings = new String[types.size()];
        int count = 0;
        for (URI uri : types) {
            strings[count] = uri.toASCIIString();
            //document the result
            wfResultItem.addExtractedInformation(strings[count]);
            count++;
        }
        return strings;
    }
View Full Code Here

   */
  @SuppressWarnings("finally")
  public WorkflowResult execute(DigitalObject dgoA) {

    // document all general actions for this digital object
    WorkflowResultItem wfResultItem = new WorkflowResultItem(
        dgoA.getPermanentUri(),
        WorkflowResultItem.GENERAL_WORKFLOW_ACTION,
        System.currentTimeMillis(),
        this.getWorkflowReportingLogger());
    this.addWFResultItem(wfResultItem);
    wfResultItem.addLogInfo("working on workflow template: " + this.getClass().getName());
    wfResultItem.addLogInfo("workflow-instance id: " + this.getWorklowInstanceID());

    // start executing on digital ObjectA
    this.processingDigo = dgoA;

    try {
            // Identification service for data enrichment (e.g. mime type of output object)
            String[] types = runIdentification(dgoA);
            wfResultItem.addLogInfo("Completed identification. result" + Arrays.asList(types).toString());

            // Extract metadata - will otherwise get lost between steps!
            String metadata = "";
            List<Metadata> mList = dgoA.getMetadata();
            if ((mList != null) && (mList.size() > 0)) {
                metadata = mList.get(0).getContent();
            }

            if (metadata == null) {
              wfResultItem.addLogInfo("No metadata contained in DigitalObject!");
            } else {
              wfResultItem.addLogInfo("Extracted metadata: " + metadata);
            }
             
      // Insert in JCR repository
            wfResultItem.addLogInfo("STEP 2: Insert in JCR repository. initial digital object: " + dgoA.toString());
            // Manage the Digital Object Data Registry:
            wfResultItem.addLogInfo("Initialize JCR repository instance.");
            JcrDigitalObjectManagerImpl dodm =
               (JcrDigitalObjectManagerImpl) JcrDigitalObjectManagerImpl.getInstance();
            DigitalObject dgoB = dodm.store(PERMANENT_URI_PATH, dgoA, true);
           wfResultItem.addLogInfo("Completed storing in JCR repository: " + dgoB.toString());
           
           // Enrich digital object with format information from identification service
           if (types != null) {
             wfResultItem.addLogInfo("Identified formats count: " + types.length);
        for (int i=0; i<types.length; i++) {
          wfResultItem.addLogInfo("type[" + i + "]: " + types[i]);
        }     

        if (types[0] != null) {
            Event eIdentifyFormat = buildEvent(URI.create(types[0].toString()));
          dgoB = addEvent(dgoB, eIdentifyFormat, URI.create(types[0]));
             }
           }

      // Update digital object in JCR repository
            wfResultItem.addLogInfo("STEP 3: Update digital object in JCR repository. initial digital object: " +
                dgoB.toString());
           dgoB = dodm.updateDigitalObject(dgoB, false);
           wfResultItem.addLogInfo("Completed update in JCR repository. result digital object: " + dgoB.toString());

            wfResultItem.setEndTime(System.currentTimeMillis());

      wfResultItem
        .addLogInfo("Successfully completed workflow for digitalObject with permanent uri:"
            + processingDigo);
      wfResultItem.setEndTime(System.currentTimeMillis());

    } catch (Exception e) {
      String err = "workflow execution error for digitalObject with permanent uri: " + processingDigo;
      wfResultItem.addLogInfo(err + " " + e);
      wfResultItem.setEndTime(System.currentTimeMillis());
    }
   
    return this.getWFResult();
  }
View Full Code Here

TOP

Related Classes of eu.planets_project.ifr.core.wee.api.workflow.WorkflowResultItem

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.