You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/03/31 19:44:34 UTC
svn commit: r1875965 -
/pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java
Author: tilman
Date: Tue Mar 31 19:44:33 2020
New Revision: 1875965
URL: http://svn.apache.org/viewvc?rev=1875965&view=rev
Log:
PDFBOX-4071: simplify code, use functional syntax, avoid ClassCastException
Modified:
pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java
Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java?rev=1875965&r1=1875964&r2=1875965&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java (original)
+++ pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java Tue Mar 31 19:44:33 2020
@@ -624,23 +624,24 @@ public class XMPSchema extends AbstractS
*/
private void removeUnqualifiedArrayValue(String arrayName, String fieldValue)
{
- ArrayProperty array = (ArrayProperty) getAbstractProperty(arrayName);
- if (array != null)
+ AbstractField abstractProperty = getAbstractProperty(arrayName);
+ if (!(abstractProperty instanceof ArrayProperty))
{
- List<AbstractField> toDelete = new ArrayList<>();
- for (AbstractField abstractField : array.getContainer().getAllProperties())
- {
- AbstractSimpleProperty tmp = (AbstractSimpleProperty) abstractField;
- if (tmp.getStringValue().equals(fieldValue))
- {
- toDelete.add(tmp);
- }
- }
- for (AbstractField aToDelete : toDelete)
+ return;
+ }
+
+ ArrayProperty array = (ArrayProperty) abstractProperty;
+
+ List<AbstractField> toDelete = new ArrayList<>();
+ for (AbstractField abstractField : array.getContainer().getAllProperties())
+ {
+ AbstractSimpleProperty tmp = (AbstractSimpleProperty) abstractField;
+ if (tmp.getStringValue().equals(fieldValue))
{
- array.getContainer().removeProperty(aToDelete);
+ toDelete.add(tmp);
}
}
+ toDelete.forEach(aToDelete -> array.getContainer().removeProperty(aToDelete));
}
/**
@@ -706,15 +707,12 @@ public class XMPSchema extends AbstractS
*/
public List<String> getUnqualifiedBagValueList(String bagName)
{
- ArrayProperty array = (ArrayProperty) getAbstractProperty(bagName);
- if (array != null)
- {
- return array.getElementsAsString();
- }
- else
+ AbstractField abstractProperty = getAbstractProperty(bagName);
+ if (abstractProperty instanceof ArrayProperty)
{
- return null;
+ return ((ArrayProperty) getAbstractProperty(bagName)).getElementsAsString();
}
+ return null;
}
/**
@@ -740,23 +738,24 @@ public class XMPSchema extends AbstractS
*/
public void removeUnqualifiedArrayValue(String arrayName, AbstractField fieldValue)
{
- ArrayProperty array = (ArrayProperty) getAbstractProperty(arrayName);
- if (array != null)
+ AbstractField abstractProperty = getAbstractProperty(arrayName);
+ if (!(abstractProperty instanceof ArrayProperty))
{
- List<AbstractField> toDelete = new ArrayList<>();
- for (AbstractField abstractField : array.getContainer().getAllProperties())
- {
- AbstractSimpleProperty tmp = (AbstractSimpleProperty) abstractField;
- if (tmp.equals(fieldValue))
- {
- toDelete.add(tmp);
- }
- }
- for (AbstractField aToDelete : toDelete)
+ return;
+ }
+
+ ArrayProperty array = (ArrayProperty) abstractProperty;
+
+ List<AbstractField> toDelete = new ArrayList<>();
+ for (AbstractField abstractField : array.getContainer().getAllProperties())
+ {
+ AbstractSimpleProperty tmp = (AbstractSimpleProperty) abstractField;
+ if (tmp.equals(fieldValue))
{
- array.getContainer().removeProperty(aToDelete);
+ toDelete.add(tmp);
}
}
+ toDelete.forEach((aToDelete) -> array.getContainer().removeProperty(aToDelete));
}
/**
@@ -852,15 +851,12 @@ public class XMPSchema extends AbstractS
*/
public List<String> getUnqualifiedSequenceValueList(String seqName)
{
- ArrayProperty array = (ArrayProperty) getAbstractProperty(seqName);
- if (array != null)
+ AbstractField abstractProperty = getAbstractProperty(seqName);
+ if (abstractProperty instanceof ArrayProperty)
{
- return array.getElementsAsString();
- }
- else
- {
- return null;
+ return ((ArrayProperty) abstractProperty).getElementsAsString();
}
+ return null;
}
/**
@@ -873,22 +869,23 @@ public class XMPSchema extends AbstractS
*/
public void removeUnqualifiedSequenceDateValue(String seqName, Calendar date)
{
- ArrayProperty seq = (ArrayProperty) getAbstractProperty(seqName);
- if (seq != null)
+ AbstractField abstractProperty = getAbstractProperty(seqName);
+ if (!(abstractProperty instanceof ArrayProperty))
{
- List<AbstractField> toDelete = new ArrayList<>();
- for (AbstractField tmp : seq.getContainer().getAllProperties())
- {
- if (tmp instanceof DateType && ((DateType) tmp).getValue().equals(date))
- {
- toDelete.add(tmp);
- }
- }
- for (AbstractField aToDelete : toDelete)
+ return;
+ }
+
+ ArrayProperty seq = (ArrayProperty) abstractProperty;
+
+ List<AbstractField> toDelete = new ArrayList<>();
+ for (AbstractField tmp : seq.getContainer().getAllProperties())
+ {
+ if (tmp instanceof DateType && ((DateType) tmp).getValue().equals(date))
{
- seq.getContainer().removeProperty(aToDelete);
+ toDelete.add(tmp);
}
}
+ toDelete.forEach((aToDelete) -> seq.getContainer().removeProperty(aToDelete));
}
/**
@@ -931,17 +928,18 @@ public class XMPSchema extends AbstractS
*/
public List<Calendar> getUnqualifiedSequenceDateValueList(String seqName)
{
- List<Calendar> retval = null;
- ArrayProperty seq = (ArrayProperty) getAbstractProperty(seqName);
- if (seq != null)
+ AbstractField abstractProperty = getAbstractProperty(seqName);
+ if (!(abstractProperty instanceof ArrayProperty))
{
- retval = new ArrayList<>();
- for (AbstractField child : seq.getContainer().getAllProperties())
+ return null;
+ }
+ ArrayProperty seq = (ArrayProperty) abstractProperty;
+ List<Calendar> retval = new ArrayList<>();
+ for (AbstractField child : seq.getContainer().getAllProperties())
+ {
+ if (child instanceof DateType)
{
- if (child instanceof DateType)
- {
- retval.add(((DateType) child).getValue());
- }
+ retval.add(((DateType) child).getValue());
}
}
return retval;
@@ -985,10 +983,7 @@ public class XMPSchema extends AbstractS
reordered.add(tmp);
toDelete.add(tmp);
}
- for (AbstractField aToDelete : toDelete)
- {
- alt.removeProperty(aToDelete);
- }
+ toDelete.forEach(aToDelete -> alt.removeProperty(aToDelete));
it = reordered.iterator();
while (it.hasNext())
{