Bug 51374 - Fixed incorrect setting of lastPrinted OOXML core property

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1135997 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yegor Kozlov 2011-06-15 11:15:40 +00:00
parent 7e73b04df6
commit ffc5d68b12
3 changed files with 59 additions and 1 deletions

View File

@ -34,6 +34,7 @@
<changes>
<release version="3.8-beta4" date="2011-??-??">
<action dev="poi-developers" type="add">51374 - Fixed incorrect setting of lastPrinted OOXML core property </action>
<action dev="poi-developers" type="add">51351 - Word to XSL-FO converter</action>
<action dev="poi-developers" type="add">50458 - Fixed missing shapeId in XSSF drawings </action>
<action dev="poi-developers" type="add">51339 - Fixed arithmetic rounding in formula evaluation </action>

View File

@ -292,7 +292,7 @@ public final class PackagePropertiesPart extends PackagePart implements
* @return A string representation of the last printed date.
*/
public String getLastPrintedPropertyString() {
return getDateValue(created);
return getDateValue(lastPrinted);
}
/**

View File

@ -29,6 +29,7 @@ import junit.framework.TestCase;
import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
import org.apache.poi.openxml4j.util.Nullable;
import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
@ -123,4 +124,60 @@ public final class TestPackageCoreProperties extends TestCase {
assertEquals("MyTitle", props.getTitleProperty().getValue());
assertEquals("2", props.getVersionProperty().getValue());
}
public void testCoreProperties_bug51374() throws Exception {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
df.setTimeZone(TimeZone.getTimeZone("UTC"));
String strDate = "2007-05-12T08:00:00Z";
Date date = df.parse(strDate);
OPCPackage pkg = new ZipPackage();
PackagePropertiesPart props = (PackagePropertiesPart)pkg.getPackageProperties();
// created
assertEquals("", props.getCreatedPropertyString());
assertNull(props.getCreatedProperty().getValue());
props.setCreatedProperty((String)null);
assertEquals("", props.getCreatedPropertyString());
assertNull(props.getCreatedProperty().getValue());
props.setCreatedProperty(new Nullable<Date>());
assertEquals("", props.getCreatedPropertyString());
assertNull(props.getCreatedProperty().getValue());
props.setCreatedProperty(new Nullable<Date>(date));
assertEquals(strDate, props.getCreatedPropertyString());
assertEquals(date, props.getCreatedProperty().getValue());
props.setCreatedProperty(strDate);
assertEquals(strDate, props.getCreatedPropertyString());
assertEquals(date, props.getCreatedProperty().getValue());
// lastPrinted
assertEquals("", props.getLastPrintedPropertyString());
assertNull(props.getLastPrintedProperty().getValue());
props.setLastPrintedProperty((String)null);
assertEquals("", props.getLastPrintedPropertyString());
assertNull(props.getLastPrintedProperty().getValue());
props.setLastPrintedProperty(new Nullable<Date>());
assertEquals("", props.getLastPrintedPropertyString());
assertNull(props.getLastPrintedProperty().getValue());
props.setLastPrintedProperty(new Nullable<Date>(date));
assertEquals(strDate, props.getLastPrintedPropertyString());
assertEquals(date, props.getLastPrintedProperty().getValue());
props.setLastPrintedProperty(strDate);
assertEquals(strDate, props.getLastPrintedPropertyString());
assertEquals(date, props.getLastPrintedProperty().getValue());
// modified
assertNull(props.getModifiedProperty().getValue());
props.setModifiedProperty((String)null);
assertNull(props.getModifiedProperty().getValue());
props.setModifiedProperty(new Nullable<Date>());
assertNull(props.getModifiedProperty().getValue());
props.setModifiedProperty(new Nullable<Date>(date));
assertEquals(strDate, props.getModifiedPropertyString());
assertEquals(date, props.getModifiedProperty().getValue());
props.setModifiedProperty(strDate);
assertEquals(strDate, props.getModifiedPropertyString());
assertEquals(date, props.getModifiedProperty().getValue());
}
}