1 | package eu.clarin.cmdi.vlo.importer; |
---|
2 | |
---|
3 | import java.util.HashMap; |
---|
4 | import java.util.Map; |
---|
5 | |
---|
6 | import eu.clarin.cmdi.vlo.FacetConstants; |
---|
7 | |
---|
8 | public class ResourceTypePostProcessor implements PostProcessor { |
---|
9 | |
---|
10 | private Map<String, String> resourceTypeMap = null; |
---|
11 | |
---|
12 | @Override |
---|
13 | public String process(String value) { |
---|
14 | String result = value; |
---|
15 | if (value != null) { |
---|
16 | String newVal = getResourceTypeMap().get(value.trim().toLowerCase()); |
---|
17 | if (newVal != null) { |
---|
18 | result = newVal; |
---|
19 | } |
---|
20 | } |
---|
21 | return result; |
---|
22 | } |
---|
23 | |
---|
24 | private Map<String, String> getResourceTypeMap() { |
---|
25 | if (resourceTypeMap == null) { |
---|
26 | resourceTypeMap = new HashMap<String, String>(); |
---|
27 | // OLAC DCMIType values. |
---|
28 | resourceTypeMap.put("still image", FacetConstants.RESOURCE_TYPE_IMAGE); |
---|
29 | resourceTypeMap.put("sound", FacetConstants.RESOURCE_TYPE_AUDIO); |
---|
30 | resourceTypeMap.put("moving image", FacetConstants.RESOURCE_TYPE_VIDEO); |
---|
31 | resourceTypeMap.put("text", FacetConstants.RESOURCE_TYPE_TEXT); // Transformes uppercase Text -> text |
---|
32 | resourceTypeMap.put("audio/mp3", FacetConstants.RESOURCE_TYPE_AUDIO); |
---|
33 | resourceTypeMap.put("audio/mpeg", FacetConstants.RESOURCE_TYPE_AUDIO); |
---|
34 | resourceTypeMap.put("audio/wav", FacetConstants.RESOURCE_TYPE_AUDIO); |
---|
35 | resourceTypeMap.put("audio/x-wav", FacetConstants.RESOURCE_TYPE_AUDIO); |
---|
36 | |
---|
37 | resourceTypeMap.put("text/xml", FacetConstants.RESOURCE_TYPE_TEXT); |
---|
38 | resourceTypeMap.put("text/html", FacetConstants.RESOURCE_TYPE_TEXT); |
---|
39 | } |
---|
40 | return resourceTypeMap; |
---|
41 | } |
---|
42 | |
---|
43 | } |
---|