Project

General

Profile

« Previous | Next » 

Revision 5a407e53

Added by Andreas Müller over 3 years ago

update image imports to new apache commons imaging

View differences:

app-import/src/main/java/eu/etaxonomy/cdm/io/greece/ImageImportTest.java
11 11
import java.io.File;
12 12
import java.io.IOException;
13 13
import java.net.URI;
14
import java.util.ArrayList;
14
import java.util.List;
15 15

  
16
import org.apache.commons.imaging.ImageReadException;
17
import org.apache.commons.imaging.Imaging;
18
import org.apache.commons.imaging.common.GenericImageMetadata.GenericImageMetadataItem;
19
import org.apache.commons.imaging.common.ImageMetadata;
20
import org.apache.commons.imaging.common.ImageMetadata.ImageMetadataItem;
16 21
import org.apache.http.HttpException;
17 22
import org.apache.log4j.Logger;
18
import org.apache.sanselan.ImageReadException;
19
import org.apache.sanselan.Sanselan;
20
import org.apache.sanselan.common.IImageMetadata;
21
import org.apache.sanselan.common.ImageMetadata.Item;
22 23
import org.joda.time.DateTime;
23 24
import org.joda.time.DateTimeZone;
24 25
import org.joda.time.format.DateTimeFormat;
......
74 75

  
75 76
                //image metadata
76 77
                File imageFile = new File("");
77
                IImageMetadata metadata;
78
                ImageMetadata metadata;
78 79
                try {
79
                    metadata = Sanselan.getMetadata(uri.toURL().openStream(), null);
80
                    ArrayList<?> items = metadata.getItems();
81
                    for (Object object : items){
82
                        Item item = (Item) object;
83
                        System.out.println(item.getKeyword() +  ":    " + item.getText());
84
                        String value = removeQuots(item.getText());
85
                        if("Image Description".equalsIgnoreCase(item.getKeyword())){
86
//                          media.putDescription(Language.DEFAULT(), item.getText());
87
                        }else if ("date time original".equalsIgnoreCase(item.getKeyword())){
88
                            DateTimeFormatter f = DateTimeFormat.forPattern("yyyy:MM:dd HH:mm:ss");
89
                            DateTime created = f.withZone(DateTimeZone.forID("Europe/Athens")).parseDateTime(value);
90
                            System.out.println(created);
91

  
80
                    metadata = Imaging.getMetadata(uri.toURL().openStream(), null);
81
                    List<? extends ImageMetadataItem> items = metadata.getItems();
82
                    for (ImageMetadataItem metadataItem : items){
83
                        if (metadataItem instanceof GenericImageMetadataItem){
84
                            GenericImageMetadataItem item = (GenericImageMetadataItem) metadataItem;
85
    //                      System.out.println(item.getKeyword() +  ":    " + item.getText());
86
                            String value = removeQuots(item.getText());
87
                            if("Image Description".equalsIgnoreCase(item.getKeyword())){
88
    //                          media.putDescription(Language.DEFAULT(), item.getText());
89
                            }else if ("date time original".equalsIgnoreCase(item.getKeyword())){
90
                                DateTimeFormatter f = DateTimeFormat.forPattern("yyyy:MM:dd HH:mm:ss");
91
                                DateTime created = f.withZone(DateTimeZone.forID("Europe/Athens")).parseDateTime(value);
92
                                System.out.println(created);
93
                            }
94
                        }else{
95
                            throw new IllegalStateException("Unsupported ImageMetadataItem type: " + metadataItem.getClass().getName());
92 96
                        }
93 97
                    }
94 98
                } catch (ImageReadException | IOException e1) {

Also available in: Unified diff