mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2025-10-04 11:26:44 -04:00
TMI-98: Fix PSDMetadata to include layer info + Cleanup and other minor fixes.
This commit is contained in:
@@ -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...
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user