Package eu.planets_project.services.datatypes

Examples of eu.planets_project.services.datatypes.DigitalObject$Adapter


   *        This is a format identified by identification service
   * @return changed digital object with new content value
   */
  public static DigitalObject addEvent(DigitalObject digitalObject, Event newEvent, URI identifiedFormat)
    {
    DigitalObject res = null;
   
      if (digitalObject != null && newEvent != null)
      {
        DigitalObject.Builder b = new DigitalObject.Builder(digitalObject.getContent());
        if (digitalObject.getTitle() != null) b.title(digitalObject.getTitle());
View Full Code Here


     * @see eu.planets_project.ifr.core.storage.api.DigitalObjectManagerBase#retrieve(java.net.URI)
     */
    @Override
    public DigitalObject retrieve(URI pdURI)
        throws DigitalObjectNotFoundException {
      DigitalObject retObj = null;
     
      try {
        URI httpURI = getOriginalUri(pdURI);
        log.info("JcrDigitalObjectManagerBase retrieve() httpURI: " + httpURI + ", pdURI: " + pdURI)
        if (!httpURI.equals(pdURI)) {
View Full Code Here

        this.processingDigo = dgoA;

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

            wfResultItem
              .addLogInfo("successfully completed workflow for digitalObject with permanent uri:"
                  + processingDigo);
View Full Code Here

                       
                        FormatRegistry fr = FormatRegistryFactory.getFormatRegistry();
                        //String ext = fr.getFirstExtension(new URI(types[0]));
                        log.info("Getting extension: " + ext);
                        if (ext != null) {
                            DigitalObject dgoOut = runMigrateService(dgo, fr.createExtensionUri(ext), wfResult);
                           
                            objects.add(dgoOut);
                            log.info(new Message("Migration", new Parameter("Input", ext), new Parameter("Result", dgo
                                    .getTitle())));
                        }
View Full Code Here

            parameterList.add(pCompressionQuality);
        }

        MigrateResult migrateResult = this.migrate.migrate(digO, migrateFromURI, migrateToURI, parameterList);
       
        DigitalObject dgoOut = migrateResult.getDigitalObject();
       
        //put filename without extenstion if empty
        if(dgoOut.getTitle() == null) {
          String title_ = digO.getTitle().substring(0,digO.getTitle().lastIndexOf('.'));
          if(migrateToURI.toString().toLowerCase().lastIndexOf("siard") > 0) title_ = title_ + ".siard";
          dgoOut = (new DigitalObject.Builder(dgoOut)).title(title_).build();
        }
View Full Code Here

      }
      ServiceDescription serDescr = compareService.describe();
      wfResultItem.setServiceDescription(serDescr);

      //retrieve the digital objects from their data registry location
      DigitalObject digo1 = this.retrieveDigitalObjectDataRegistryRef(digo1Ref);
      DigitalObject digo2 = this.retrieveDigitalObjectDataRegistryRef(digo2Ref);
     
      // now call the comparison
      CompareResult compareResult = compareService.compare(digo1,digo2, parameterList);
     
      // document
      wfResultItem.setEndTime(System.currentTimeMillis());
      ServiceReport report = compareResult.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
      if((compareResult.getProperties()!=null)&&(compareResult.getProperties().size()>0)){
        wfResultItem.addLogInfo("Comparing properties of object A: "+digo1.getPermanentUri()+" with object B: "+digo2.getPermanentUri());
        for(Property p : compareResult.getProperties()){
          String extractedInfo = "[name: "+p.getName()+" value: "+p.getValue()+" untit: "+p.getUnit()+" description:"+p.getDescription()+"] \n";
          wfResultItem.addExtractedInformation(extractedInfo);
        }
      }
View Full Code Here

      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";
View Full Code Here

          log.info("   " + sTypes1[k]);
        }     


        //call a migration service - and use output of service1 as input
        DigitalObject migDigO =  runMigrationService(dgo,sTypes1[sTypes1.length - 1],wfResult);
        log.info("ran execute(): migration1 for digitalObject");
       
        //Call identification service2 on the migration services output.
        String[] sTypes2 = runIdentification2(migDigO, wfResult);
         log.debug("ran execute(): identification2: identified #"+ sTypes2.length+ "of types, checking if the expected one is contained");
View Full Code Here

        , DigitalObject digitalObject
        , boolean includeContent
        )
    throws DigitalObjectNotStoredException
    {
    DigitalObject resVal = digitalObject;
      try {                 
      _log.log(Level.INFO, "storeDigitalObjectDefinition()" + digitalObject.toString());
        openSession();

        uri = URI.create(PERMANENT_URI + uri.toString());
      _log.log(Level.INFO, "storeDigitalObjectDefinition() uri: " + uri.toString());
            Node doNode = createDocumentNode
                  (uri.toString().concat(DOJCRConstants.JCR_PATH_SEPARATOR + DOJCRConstants.DOJCR));
        dumpNode(doNode);
            String path = doNode.getPath();
        if (doNode.getIndex() > 1)
            {
              path = doNode.getPath().substring
                    (0, doNode.getPath().indexOf(DOJCRConstants.NODE_INDEX_BEGIN));
            }
        _log.log(Level.INFO, "+++ path: " + path);
        URI permanentUri = URI.create(path + DOJCRConstants.JCR_PATH_SEPARATOR + doNode.getIndex());
      _log.log(Level.INFO, "storeDigitalObjectDefinition() calculated permanentUri: " +
             permanentUri.toString());
          storeStringValue(doNode, digitalObject.getTitle(), DOJCRConstants.DOJCR_TITLE);
          if (permanentUri != null)
             storeStringValue(doNode, permanentUri.toString(), DOJCRConstants.DOJCR_PERMANENT_URI);
          if (digitalObject.getFormat() != null)
          {
             storeStringValue
                   ( doNode
                 , digitalObject.getFormat().toString()
                 , DOJCRConstants.DOJCR_FORMAT
                 );
          }
          if (digitalObject.getManifestationOf() != null)
          {
                storeStringValue
                   ( doNode
                   , digitalObject.getManifestationOf().toString()
                   , DOJCRConstants.DOJCR_MANIFESTATION_OF
                   );
          }
       
          if (digitalObject.getContent() != null)
        {
              _log.log(Level.INFO, "store content.");
        if (includeContent)
        {
          long contentLen = digitalObject.getContent().length();
            _log.log(Level.INFO, "contentLen: " + contentLen);         
            storeContent
               ( digitalObject.getContent().getInputStream()
               , uri.toString().concat
                     ( DOJCRConstants.JCR_PATH_SEPARATOR
                 + DOJCRConstants.DOJCR
                 + insertNodeIndexToPath(doNode.getIndex())
                 )
               );
        }
        }
     
          checkResult (storeMetadataList(digitalObject.getMetadata(), doNode));
            checkResult (storeEventsList(digitalObject.getEvents(), doNode));
        session.save();

            _log.log(Level.INFO, "storing permanentUri: " + permanentUri.toString());
        /*try {
                _log.log(Level.INFO, "storing digitalObject.content: " + digitalObject.getContent().read().read());
        } catch (IOException e) {
          e.printStackTrace();
        }  */
        if (digitalObject.getTitle() != null) {
               _log.log(Level.INFO, "storing digitalObject.title: " + digitalObject.getTitle());
        }
           
        DigitalObject.Builder b = new DigitalObject.Builder(
            Content.byReference(URI.create((getResolverPath() + permanentUri)).toURL()));
        if (digitalObject.getTitle() != null) b.title(digitalObject.getTitle());
        if (permanentUri != null) b.permanentUri(permanentUri);
        if (digitalObject.getFormat() != null) b.format(digitalObject.getFormat());
        if (digitalObject.getManifestationOf() != null)
          b.manifestationOf(digitalObject.getManifestationOf());
        if (digitalObject.getMetadata() != null)
          b.metadata((Metadata[]) digitalObject.getMetadata().toArray(new Metadata[0]));
        if (digitalObject.getEvents() != null)
          b.events((Event[]) digitalObject.getEvents().toArray(new Event[0]));
            resVal = b.build();
            _log.log(Level.INFO, "storing completed. ");
            resVal.toString();
      } catch (Exception e) {
        _log.log(Level.INFO, "storeDigitalObjectDefinition() error: " + e.getMessage(), e);       
      throw new DigitalObjectNotStoredException("storeDigitalObjectDefinition() error: ", e);
      } finally {
        closeSession();
View Full Code Here

     * @throws  DigitalObjectNotFoundException
     */
    public DigitalObject fillDigitalObject(Node node, DigitalObjectContent content)
       throws ItemNotFoundException, RepositoryException, DigitalObjectNotFoundException
    {
      DigitalObject _retVal = null;
      try {
          String _title = getStrProperty(node, DOJCRConstants.DOJCR_TITLE);
          String _format = getStrProperty(node, DOJCRConstants.DOJCR_FORMAT);
          String _permanentUri = getStrProperty(node, DOJCRConstants.DOJCR_PERMANENT_URI);
          String _manifestationOf = getStrProperty(node, DOJCRConstants.DOJCR_MANIFESTATION_OF);
         List<Metadata> metadataResList = retrieveMetadataList(node);
         Metadata[] metaList = (Metadata[]) metadataResList.toArray(new Metadata[0])
         List<Event> eventResList = retrieveEventList(node);
         Event[] eventList = (Event[]) eventResList.toArray(new Event[0]);

       DigitalObject.Builder b = new DigitalObject.Builder(content);
       if (_title != null) b.title(_title);
       if (_permanentUri != null) b.permanentUri(URI.create(_permanentUri));
       if (_format != null) b.format(URI.create(_format));
       if (_manifestationOf != null) b.manifestationOf(URI.create(_manifestationOf));
       if (metaList != null) b.metadata(metaList);
       if (eventList != null) b.events(eventList);
           _retVal = b.build();
           _log.log(Level.INFO, "fillDigitalObject() retrieve completed. " + _retVal.toString());
      } catch (Exception e) {
        _log.log(Level.INFO, DIGITAL_OBJECT_NOT_FOUND + e.getMessage(), e);
          throw new DigitalObjectNotFoundException(DIGITAL_OBJECT_NOT_FOUND + e.getMessage());
      }
     
View Full Code Here

TOP

Related Classes of eu.planets_project.services.datatypes.DigitalObject$Adapter

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.