aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2015-09-01 20:57:57 +0000
committerNick Burch <nick@apache.org>2015-09-01 20:57:57 +0000
commit8ea74b39d91155f2a728e13b6cc0bdbdc1d4d093 (patch)
treef8164b3e024eca216dd8b0c023aa1ce0f96e8555
parent546b36f6e066b8814b2923a20bad48184bb06113 (diff)
downloadpoi-8ea74b39d91155f2a728e13b6cc0bdbdc1d4d093.tar.gz
poi-8ea74b39d91155f2a728e13b6cc0bdbdc1d4d093.zip
Fix some Forbidden APIs errors
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1700669 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java b/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java
index b20fc575f0..53a8b9bb00 100644
--- a/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java
+++ b/src/java/org/apache/poi/hpsf/wellknown/SectionIDMap.java
@@ -19,6 +19,8 @@ package org.apache.poi.hpsf.wellknown;
import java.util.HashMap;
+import org.apache.poi.util.StringUtil;
+
/**
* <p>Maps section format IDs to {@link PropertyIDMap}s. It is
* initialized with two well-known section format IDs: those of the
@@ -33,11 +35,9 @@ import java.util.HashMap;
* <p>This {@link java.util.Map} expects the byte arrays of section format IDs
* as keys. A key maps to a {@link PropertyIDMap} describing the
* property IDs in sections with the specified section format ID.</p>
- *
- * @author Rainer Klute (klute@rainer-klute.de)
*/
+@SuppressWarnings({"rawtypes","unchecked"}) // Java Generics have issues on this style of class...
public class SectionIDMap extends HashMap {
-
/**
* <p>The SummaryInformation's section's format ID.</p>
*/
@@ -141,11 +141,9 @@ public class SectionIDMap extends HashMap {
*/
public PropertyIDMap get(final byte[] sectionFormatID)
{
- return (PropertyIDMap) super.get(new String(sectionFormatID));
+ return (PropertyIDMap)super.get(new String(sectionFormatID, StringUtil.UTF8));
}
-
-
/**
* <p>Returns the {@link PropertyIDMap} for a given section format
* ID.</p>
@@ -154,13 +152,11 @@ public class SectionIDMap extends HashMap {
* @deprecated Use {@link #get(byte[])} instead!
* @return the property ID map
*/
- public Object get(final Object sectionFormatID)
+ public PropertyIDMap get(final Object sectionFormatID)
{
return get((byte[]) sectionFormatID);
}
-
-
/**
* <p>Associates a section format ID with a {@link
* PropertyIDMap}.</p>
@@ -169,13 +165,19 @@ public class SectionIDMap extends HashMap {
* @param propertyIDMap the property ID map
* @return as defined by {@link java.util.Map#put}
*/
- public Object put(final byte[] sectionFormatID,
- final PropertyIDMap propertyIDMap)
+ public PropertyIDMap put(final byte[] sectionFormatID,
+ final PropertyIDMap propertyIDMap)
{
- return super.put(new String(sectionFormatID), propertyIDMap);
+ return (PropertyIDMap)super.put(new String(sectionFormatID, StringUtil.UTF8), propertyIDMap);
}
-
+ /**
+ * Associates the string representation of a section
+ * format ID with a {@link PropertyIDMap}
+ */
+ protected PropertyIDMap put(String key, PropertyIDMap value) {
+ return (PropertyIDMap)super.put(key, value);
+ }
/**
* @deprecated Use {@link #put(byte[], PropertyIDMap)} instead!
@@ -189,9 +191,10 @@ public class SectionIDMap extends HashMap {
* @return The return value remains undocumented since the method is
* deprecated.
*/
- public Object put(final Object key, final Object value)
+ public PropertyIDMap put(final Object key, final Object value)
{
+ if (key instanceof String)
+ return put((String)key, (PropertyIDMap) value);
return put((byte[]) key, (PropertyIDMap) value);
}
-
}