Package eu.planets_project.services.datatypes

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


  }
 
  @Test
  public void testInsertFragmentIntoZipTypeDigitalObject() {
    printTestTitle("Test insertFragmentIntoZipTypeDigitalObject()");
    DigitalObject result = DigitalObjectUtils.createZipTypeDigitalObject(testFolder, "insertFragmentTest.zip", false, false, true);
    List<String> fragments = result.getFragments();
    DigitalObject insertionResult = null;
    Random random = new Random();
    int index = random.nextInt(fragments.size());
    System.err.println("Getting file: " + fragments.get(index));
    File toInsert = new File("IF/common/src/test/resources/test_zip/images/test_gif/laptop.gif");
    insertionResult = DigitalObjectUtils.insertFragment(result, toInsert, new String("insertedFiles\\images\\" + toInsert.getName()), false);
View Full Code Here


  }
 
  @Test
  public void testRemoveFragmentFromZipTypeDigitalObject() {
    printTestTitle("Test removeFragmentFromZipTypeDigitalObject()");
    DigitalObject result = DigitalObjectUtils.createZipTypeDigitalObject(removeZip, "removeFragmentTest.zip", false, false, true);
    printDigOb(result);
    DigitalObject removeResult = DigitalObjectUtils.removeFragment(result, new String("insertedFiles\\images\\laptop.gif"), false);
    DigitalObjectUtils.toFile(removeResult, new File(work_folder, removeResult.getTitle()));
    printDigOb(removeResult);
  }
View Full Code Here

     * TODO: Should go into a DigitalObjectUtilsTests class
     */
    @Test
    public void contentSizeCalculation() {
        int size = 23823;
        DigitalObject bytes1 = new DigitalObject.Builder(Content.byValue(new byte[size])).build();
        long bytes = DigitalObjectUtils.getContentSize(bytes1);
        assertEquals("Counted, shallow byte[] size is not correct.", size, bytes);
    }
View Full Code Here

        WorkflowResult wfResult = null;
        int count = 0;
        List<DigitalObject> objects = new ArrayList<DigitalObject>();
        log.trace(WorkflowTemplateHelper.overview(this));
        String metadata;
        DigitalObject tmpDo;
        try {
            for (DigitalObject dgo : this.getData()) {
                metadata = null;
                tmpDo = dgo;
                log.info("Processing file #" + (count + 1));
                try {
                 
                    // Identify
                    String[] types = runIdentification(dgo, wfResult);
                    log.info(new Message("Identification", new Parameter("File", dgo.getTitle()), new Parameter(
                            "Result", Arrays.asList(types).toString())));

                    // Extract metadata - will otherwise get lost between steps!
                    List<Metadata> mList = dgo.getMetadata();

                    if ((mList != null) && (mList.size() > 0)) {
                        metadata = mList.get(0).getContent();
                    }

                    if (metadata == null) {
                        log.warn("No metadata contained in DigitalObject!");
                    } else {
                        log.info("Extracted metadata: " + metadata);
                    }
                   
                    // Migrate
                    try {
                        FormatRegistry fr = FormatRegistryFactory.getFormatRegistry();
                        String ext = fr.getFirstExtension(new URI(types[0]));
                        log.info("Getting extension: " + ext);
                        if (ext != null) {
                            dgo = runMigrateService(dgo, fr.createExtensionUri(ext), wfResult);
                            dgo = new DigitalObject.Builder(dgo.getContent())
                                .title(tmpDo.getTitle().substring(0, tmpDo.getTitle().lastIndexOf(".")))
                                .build();
                            objects.add(dgo);
                            log.info(new Message("Migration", new Parameter("Input", ext), new Parameter("Result", dgo
                                    .getTitle())));
                        }
View Full Code Here

         
          //the service's input
          byte[] array = FileUtils.readFileToByteArray(f1);
         
          //the service call and it's result
            DigitalObject digitalObject = extractor.migrate(
                    new DigitalObject.Builder(Content.byValue(array))
                            .build(), null, null, null).getDigitalObject();
            byte[] results = IOUtils.toByteArray(digitalObject.getContent().getInputStream());
      String xcdl = new String(results,"UTF-8");
     
      if(xcdl==null){
            throw new Exception("XCDL extraction failed - please check service logs for details");
          }
View Full Code Here

        Service service = Service.create(url, new QName(PlanetsServices.NS,
            Compare.NAME));
        Compare comparator = service.getPort(Compare.class);

          //the service call and it's result
          DigitalObject x1 = new DigitalObject.Builder(Content.byValue(xcdl1.getBytes())).build();
          DigitalObject x2 = new DigitalObject.Builder(Content.byValue(xcdl2.getBytes())).build();
          List<Property> result = comparator.compare(x1, x2, null).getProperties();
         
          if(result==null){
            throw new Exception("XCDL comparison failed - please check service logs for details");
          }
View Full Code Here

           
            // Process each in turn:
            for( String filename : job.getDigitalObjects() ) {
                Calendar start = Calendar.getInstance();
                log.info("Running job: "+(i+1)+"/"+total);
                DigitalObject dob = dh.get(filename).getDigitalObject();
                WorkflowResult wfr = null;
               
                // Actually run the workflow:
                try {
                    wfr = this.executeWorkflowOn(job, dob);
View Full Code Here

     */
    private void testCompareThis( File purl1, File purl2, boolean same ) throws MalformedURLException {
        System.out.println("Comparing "+purl1.getName()+" against "+purl2.getName());
        // Construct digital objects
        DigitalObjectContent c1 = Content.byReference(purl1.toURL());
        DigitalObject o1 = new DigitalObject.Builder(c1).permanentUri(purl1.toURI()).build();
       
        DigitalObjectContent c2 = Content.byReference(purl2.toURL());
        DigitalObject o2 = new DigitalObject.Builder(c2).permanentUri(purl2.toURI()).build();
       
        /* Now pass this to the service */
        CompareResult ir = ids.compare( o1, o2, null);
       
        /* Check the result */
 
View Full Code Here

   * @see eu.planets_project.ifr.core.storage.api.DigitalObjectManager#retrieve(java.net.URI)
   */
  @Override
  public DigitalObject retrieve(URI pdURI) throws DigitalObjectNotFoundException {
    // OK, let's look it up in the HashMap
    DigitalObject retrievedObject = this.objectMap.get(pdURI.normalize());
   
    // We need to check the null
    if (retrievedObject == null)
      throw new DigitalObjectNotFoundException("The Digital Object not found by " + this.getName());
   
View Full Code Here

        }

        // Loop over cached objects:
        List<DigitalObject> dobs = new ArrayList<DigitalObject>();
        for (Object cacheIdo : prop.values()) {
            DigitalObject dob = recoverDigitalObject((String) cacheIdo);
            if (dob != null) {
                dobs.add(dob);
            }

        }
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.