TMI-98: Fix PSDMetadata to include layer info + Cleanup and other minor fixes.

This commit is contained in:
Harald Kuhr
2015-02-26 21:51:48 +01:00
parent 1cbfb1a074
commit c3cafc63d8
13 changed files with 284 additions and 72 deletions

View File

@@ -49,6 +49,12 @@ class IPTCEntry extends AbstractEntry {
return "RecordVersion";
case IPTC.TAG_SOURCE:
return "Source";
case IPTC.TAG_CAPTION:
return "Caption";
case IPTC.TAG_COPYRIGHT_NOTICE:
return "CopyrightNotice";
case IPTC.TAG_BY_LINE:
return "ByLine";
// TODO: More tags...
}

View File

@@ -31,6 +31,8 @@ package com.twelvemonkeys.imageio.metadata.psd;
import com.twelvemonkeys.imageio.metadata.AbstractEntry;
import com.twelvemonkeys.lang.StringUtil;
import java.lang.reflect.Field;
/**
* PhotoshopEntry
*
@@ -53,6 +55,39 @@ class PSDEntry extends AbstractEntry {
@Override
public String getFieldName() {
Class[] classes = new Class[] {getPSDClass()};
for (Class cl : classes) {
Field[] fields = cl.getDeclaredFields();
for (Field field : fields) {
try {
if (field.getType() == Integer.TYPE && field.getName().startsWith("RES_")) {
field.setAccessible(true);
if (field.get(null).equals(getIdentifier())) {
return StringUtil.lispToCamel(field.getName().substring(4).replace("_", "-").toLowerCase(), true);
}
}
}
catch (IllegalAccessException e) {
// Should never happen, but in case, abort
break;
}
}
}
return name;
}
private Class<?> getPSDClass() {
// TODO: Instead, move members to metadata module PSD class!
try {
return Class.forName("com.twelvemonkeys.imageio.plugins.psd.PSD");
}
catch (ClassNotFoundException ignore) {
}
return PSD.class;
}
}