Project

General

Profile

Download (2.17 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2009 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10
package eu.etaxonomy.cdm.common.mediaMetaData;
11

    
12
import java.io.IOException;
13
import java.net.URI;
14

    
15

    
16
/**
17
 * @author k.luther
18
 * @date 27.11.2009
19
 *
20
 */
21
public final class MetaDataFactory {
22
	
23
	private static MetaDataFactory instance;
24
	
25
	private MetaDataFactory(){
26
		
27
	}
28
	public synchronized static MetaDataFactory getInstance() {
29
        if (instance == null) {
30
            instance = new MetaDataFactory();
31
        }
32
        return instance;
33
    }
34
	public MediaMetaData readMediaData(URI uri, MimeType mimetype, Integer timeOut) throws IOException{
35
		//MediaMetaData metaData = MediaMetaData.newInstance();
36
		//MimeType mimeType = metaData.readMediaInfo(uri);
37
		switch (mimetype){
38
			case JPEG:
39
				JpegImageMetaData jpegMediaMetaData = JpegImageMetaData.newInstance();
40
				jpegMediaMetaData.readMetaData(uri, timeOut);
41
				((ImageMetaData)jpegMediaMetaData).readImageInfo(uri, timeOut);
42
				return jpegMediaMetaData;
43
			case TIFF:
44
				TiffImageMetaData tiffMetaData = TiffImageMetaData.newInstance();
45
				tiffMetaData.readMetaData(uri, timeOut);
46
				((ImageMetaData)tiffMetaData).readImageInfo(uri, timeOut);
47
				return tiffMetaData;
48
			case IMAGE:
49
				ImageMetaData imageMetaData = ImageMetaData.newInstance();
50
				imageMetaData.readImageInfo(uri, timeOut);
51
				if (imageMetaData.mimeType.equals(MimeType.JPEG.getMimeType())){
52
					JpegImageMetaData jpegMediaMetaData2 = JpegImageMetaData.newInstance();
53
					jpegMediaMetaData2.readMetaData(uri, timeOut);
54
					return jpegMediaMetaData2;
55
				}else if (imageMetaData.mimeType.equals(MimeType.TIFF.getMimeType())){
56
					TiffImageMetaData tiffMetaData2 = TiffImageMetaData.newInstance();
57
					tiffMetaData2.readMetaData(uri, timeOut);
58
					((ImageMetaData)tiffMetaData2).readImageInfo(uri, timeOut);
59
					return tiffMetaData2;
60
				} else {
61
					return imageMetaData;
62
				}				
63
			default:
64
				break;
65
		}
66
		return null;
67
		
68
			
69
	}
70
}
71

    
(5-5/7)