Package eu.planets_project.services.datatypes

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


            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(IDENITFY_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()), IDENTIFY_EVENT);
          dgoB = addEvent(dgoB, eIdentifyFormat, URI.create(types[0]), false);
             }
           }

      // 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());


     
      // Migration service
      DigitalObject dgoC = null;
          wfResultItem.addLogInfo("STEP 4: Starting migration");
          wfResultItem.addLogInfo("processingDigo.getPermanentUri(): " + processingDigo.getPermanentUri() +
              ", dgoB.getPermanentUri(): " + dgoB.getPermanentUri());
         
        DataRegistry dataRegistry = DataRegistryFactory.getDataRegistry();
        URI baseUri = DataRegistryFactory.createDataRegistryIdFromName(DOJCRConstants.REGISTRY_NAME);
      wfResultItem.addLogInfo("base URI: " + baseUri);
      URI resUri = URI.create(baseUri.toString() + dgoB.getPermanentUri().toString());
      wfResultItem.addLogInfo("resUri: " + resUri);

      URI dgoCRef = runMigration(migrate, resUri, true);
      wfResultItem.addLogInfo("Completed migration. URI: " + dgoCRef);
     
      // Add migration resulting text to metadata
      if (dgoCRef != null) {
        try {
          baseUri = new PDURI(dgoCRef.normalize()).formDataRegistryRootURI();
          wfResultItem.addLogInfo("migration base URI: " + baseUri);
     
          dgoC = dataRegistry.getDigitalObjectManager(baseUri).retrieve(dgoCRef)
          wfResultItem.addLogInfo("dgoC: " + dgoC.toString());
          if (dgoC != null && dgoB.getPermanentUri() != null) {
              Event eMigration = buildEvent(dgoB.getPermanentUri(), MIGRATE_EVENT);
            dgoC = addEvent(dgoC, eMigration, null, true);
               }

        } catch (Exception e) {
          wfResultItem.addLogInfo("migration error: " + e.getMessage());
        }
      }
     
      // Insert in JCR repository
            wfResultItem.addLogInfo("STEP 5: Insert in JCR repository. initial digital object: " + dgoC.toString());
            dgoC = dodm.store(MIGRATE_PATH, dgoC, true);
           wfResultItem.addLogInfo("Completed storing in JCR repository: " + dgoC.toString());
                                           
            wfResultItem.setEndTime(System.currentTimeMillis());

      wfResultItem
        .addLogInfo("Successfully completed workflow for digitalObject with permanent uri:"
View Full Code Here


                                           , DigitalObject newObject
                                           )
       throws ItemNotFoundException, RepositoryException, DigitalObjectNotFoundException,
              DigitalObjectUpdateException
    {
      DigitalObject _retVal = null;
      Node node = null;
      try {
         openSession();
       
         node = findNodeByPermanentUri(permanentUri);
         // new object contains new parameters to be updated
         if (newObject != null)
         {
           int updateRes = updateDigitalObjectParameters(node, includeContent, newObject);
           if (updateRes != DOJCRConstants.RESULT_OK)
           {
             _log.log(Level.INFO, "Could not update digital object. Result: " + updateRes);
             throw new DigitalObjectUpdateException(
                 "Could not update digital object. Result: " + updateRes);
           }
         }
         DigitalObjectContent content = evaluateContent(node, includeContent, permanentUri.toString());
         _retVal = fillDigitalObject(node, content);
           _log.log(Level.INFO, "retrieveDigitalObjectDefinition() retrieve completed. " + _retVal.toString());
      } catch (DigitalObjectTooLargeException tle) {
        _log.log(Level.INFO, DIGITAL_OBJECT_TOO_LARGE + tle.getMessage(), tle);
         try {
          DigitalObjectContent content =
            evaluateContentByReference(permanentUri.toString());
View Full Code Here

            if (uriStr != null)
            {
                  URI newUri = URI.create(uriStr);
                  if (newUri != null)
                  {
                  DigitalObject newDigitalObject = retrieveDigitalObjectDefinition(newUri, false);
                      if (newDigitalObject != null)
                      {
                     _list.add(newDigitalObject);
                      }
                }
View Full Code Here

   *        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, boolean cleanup)
    {
    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

   *        This is a new digital object metadata object
   * @return changed digital object with new metadata list value
   */
  public static DigitalObject addMetadata(DigitalObject digitalObject, Metadata newMetadata)
    {
    DigitalObject res = null;
   
      if (digitalObject != null && newMetadata != 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.DigitalObjectManager#retrieve(java.net.URI)
   */
  public DigitalObject retrieve(URI pdURI, boolean includeContent)
      throws DigitalObjectNotFoundException
  {
    DigitalObject retObj = null;
    try {
      retObj = jcrManager.retrieveDigitalObjectDefinition(pdURI, includeContent);
    } catch (Exception _exp) {
      _log.log(Level.INFO, "Couldn't retrieve Digital Object: " + _exp.getMessage(), _exp);
      throw new DigitalObjectNotFoundException("Couldn't retrieve Digital Object", _exp);
View Full Code Here

  public DigitalObject updateDigitalObject( DigitalObject newObject
                                      , boolean includeContent
                                      )
      throws DigitalObjectUpdateException
  {
    DigitalObject retObj = null;
    try {
      retObj = jcrManager.updateDigitalObject(newObject, includeContent);
    } catch (Exception _exp) {
      _log.log(Level.INFO, "Couldn't update Digital Object: " + _exp.getMessage(), _exp);
      throw new DigitalObjectUpdateException("Couldn't update Digital Object", _exp);
View Full Code Here

  public void store(URI pdURI, DigitalObject digitalObject)
      throws DigitalObjectNotStoredException
    {
    try {

      DigitalObject dobj = store(pdURI, digitalObject, true);
      _log.log(Level.INFO, dobj.toXml())
     
    } catch (Exception _exp) {
      _log.log(Level.INFO, "Couldn't store Digital Object: ",_exp);
      throw new DigitalObjectNotStoredException("Couldn't store Digital Object", _exp);
    }
View Full Code Here

   * @throws DigitalObjectNotStoredException
   */
  public DigitalObject store(URI uri, DigitalObject digitalObject, boolean includeContent)
      throws DigitalObjectNotStoredException
    {
    DigitalObject res = null;
    try {
      Event eIngest = buildIngestEvent(includeContent);
      List<Event> lEvents = digitalObject.getEvents();
      //add the ingest event
      lEvents.add(eIngest);
     
      //create an updated DigitalObject
      DigitalObject digoUpdated = new DigitalObject.Builder(digitalObject.getContent())
               .title(digitalObject.getTitle())
            .permanentUri(digitalObject.getPermanentUri())
                .manifestationOf(digitalObject.getManifestationOf())
                .format(digitalObject.getFormat())
                .metadata((Metadata[]) digitalObject.getMetadata().toArray(new Metadata[0]))
View Full Code Here

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

    try {
      // Migration service
      DigitalObject dgoB = null;
          wfResultItem.addLogInfo("STEP 1: Starting migration");
          wfResultItem.addLogInfo("processingDigo.getPermanentUri(): " + processingDigo.getPermanentUri() +
              ", dgoA.getPermanentUri(): " + dgoA.getPermanentUri());
      URI dgoBRef = runMigration(migrate, dgoA.getPermanentUri(), true);
      wfResultItem.addLogInfo("Completed migration. URI: " + dgoBRef);
     
      // Add migration resulting text to metadata
      if (dgoBRef != null) {
        try {
            DataRegistry dataRegistry = DataRegistryFactory.getDataRegistry();
          URI baseUri = new PDURI(dgoBRef.normalize()).formDataRegistryRootURI();
          wfResultItem.addLogInfo("base URI " + baseUri);
     
          dgoB = dataRegistry.getDigitalObjectManager(baseUri).retrieve(dgoBRef)
          wfResultItem.addLogInfo("dgoB: " + dgoB.toString());
          if (dgoB != null && dgoA.getPermanentUri() != null) {
              Event eMigration = buildEvent(dgoA.getPermanentUri());
            dgoB = addEvent(dgoB, eMigration);
               }

        } catch (Exception e) {
          wfResultItem.addLogInfo("migration error: " + e.getMessage());
        }
      }
     
      // Insert in JCR repository
            wfResultItem.addLogInfo("STEP 2: Insert in JCR repository. initial digital object: " + dgoB.toString());
            // Manage the Digital Object Data Registry:
            wfResultItem.addLogInfo("Initialize JCR repository instance.");
            JcrDigitalObjectManagerImpl dodm =
               (JcrDigitalObjectManagerImpl) JcrDigitalObjectManagerImpl.getInstance();
            dgoB = dodm.store(PERMANENT_URI_PATH, dgoB, true);
           wfResultItem.addLogInfo("Completed storing in JCR repository: " + dgoB.toString());
                                           
            wfResultItem.setEndTime(System.currentTimeMillis());

      wfResultItem
        .addLogInfo("Successfully completed workflow for digitalObject with permanent uri:"
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.