Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)

57478: Merged V4.2-BUG-FIX (4.2.1) to HEAD-BUG-FIX (Cloud/4.3)
      57288: Merged V4.1-BUG-FIX (4.1.7) to V4.2-BUG-FIX (4.2.1)
         57264: ALF-14221: Creation and Modification Date Tests Fail in Timezones Other than BST
            - Set default time zone to Europe/London in AbstractMetadataExtracterTest
         MNT-9566: Intermittent test failure OpenDocumentMetadataExtracterTest.testSupportedMimetypes
            - Changed OpenDocumentMetadataExtracterTest to run against date objects rather than strings


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@61820 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2014-02-11 20:45:06 +00:00
parent 4c972ad079
commit 57f7266e48
2 changed files with 35 additions and 15 deletions

View File

@@ -24,6 +24,7 @@ import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TimeZone;
import junit.framework.TestCase; import junit.framework.TestCase;
@@ -41,6 +42,7 @@ import org.alfresco.service.namespace.QName;
import org.alfresco.util.ApplicationContextHelper; import org.alfresco.util.ApplicationContextHelper;
import org.alfresco.util.PropertyMap; import org.alfresco.util.PropertyMap;
import org.alfresco.util.TempFileProvider; import org.alfresco.util.TempFileProvider;
import org.joda.time.DateTimeZone;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
/** /**
@@ -84,6 +86,11 @@ public abstract class AbstractMetadataExtracterTest extends TestCase
// perform a little cleaning up // perform a little cleaning up
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
TempFileProvider.TempFileCleanerJob.removeFiles(now); TempFileProvider.TempFileCleanerJob.removeFiles(now);
TimeZone tz = TimeZone.getTimeZone("Europe/London");
TimeZone.setDefault(tz);
// Joda time has already grabbed the JVM zone so re-set it here
DateTimeZone.setDefault(DateTimeZone.forTimeZone(tz));
} }
/** /**

View File

@@ -19,6 +19,10 @@
package org.alfresco.repo.content.metadata; package org.alfresco.repo.content.metadata;
import java.io.Serializable; import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map; import java.util.Map;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
@@ -34,6 +38,8 @@ import org.alfresco.service.namespace.QName;
public class OpenDocumentMetadataExtracterTest extends AbstractMetadataExtracterTest public class OpenDocumentMetadataExtracterTest extends AbstractMetadataExtracterTest
{ {
private OpenDocumentMetadataExtracter extracter; private OpenDocumentMetadataExtracter extracter;
private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
@Override @Override
public void setUp() throws Exception public void setUp() throws Exception
@@ -81,21 +87,28 @@ public class OpenDocumentMetadataExtracterTest extends AbstractMetadataExtracter
protected void testFileSpecificMetadata(String mimetype, protected void testFileSpecificMetadata(String mimetype,
Map<QName, Serializable> properties) Map<QName, Serializable> properties)
{ {
// Check for two cases try
if(mimetype.equals("application/vnd.oasis.opendocument.text")) {
{ // Check for two cases
assertEquals( if(mimetype.equals("application/vnd.oasis.opendocument.text"))
"Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, {
"2005-09-06T23:34:00.000+01:00", assertEquals(
DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_CREATED))); "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype,
} DATE_FORMAT.parse("2005-09-06T23:34:00.000+0100"),
else if(mimetype.equals("application/vnd.oasis.opendocument.graphics")) DefaultTypeConverter.INSTANCE.convert(Date.class, properties.get(ContentModel.PROP_CREATED)));
{ }
assertEquals( else if(mimetype.equals("application/vnd.oasis.opendocument.graphics"))
"Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, {
"2006-01-27T11:46:11.000Z", assertEquals(
DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_CREATED))); "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype,
} DATE_FORMAT.parse("2006-01-27T11:46:11.000+0000"),
DefaultTypeConverter.INSTANCE.convert(Date.class, properties.get(ContentModel.PROP_CREATED)));
}
}
catch (ParseException e)
{
fail(e.getMessage());
}
} }
} }