fix error 500 with missing timestamps

This commit is contained in:
Sebastian Sdorra
2011-02-13 18:27:33 +01:00
parent cb6357f53c
commit b69b6cb9fd

View File

@@ -363,10 +363,18 @@ public abstract class AbstractManagerResource<T extends ModelObject,
*/ */
private Response createResponse(Request request, T item) private Response createResponse(Request request, T item)
{ {
EntityTag e = new EntityTag(Integer.toString(item.hashCode())); Response.ResponseBuilder builder = null;
Date lastModified = getLastModified(item); Date lastModified = getLastModified(item);
Response.ResponseBuilder builder = EntityTag e = new EntityTag(Integer.toString(item.hashCode()));
request.evaluatePreconditions(lastModified, e);
if (lastModified != null)
{
builder = request.evaluatePreconditions(lastModified, e);
}
else
{
builder = request.evaluatePreconditions(e);
}
if (builder == null) if (builder == null)
{ {
@@ -389,9 +397,13 @@ public abstract class AbstractManagerResource<T extends ModelObject,
*/ */
private Response createResponse(Request request, Collection<T> items) private Response createResponse(Request request, Collection<T> items)
{ {
Response.ResponseBuilder builder = null;
Date lastModified = getLastModified(manager); Date lastModified = getLastModified(manager);
Response.ResponseBuilder builder =
request.evaluatePreconditions(lastModified); if (lastModified != null)
{
builder = request.evaluatePreconditions(lastModified);
}
if (builder == null) if (builder == null)
{ {
@@ -415,7 +427,15 @@ public abstract class AbstractManagerResource<T extends ModelObject,
*/ */
private Date getLastModified(LastModifiedAware item) private Date getLastModified(LastModifiedAware item)
{ {
return new Date(item.getLastModified()); Date lastModified = null;
Long l = item.getLastModified();
if (l != null)
{
lastModified = new Date(l);
}
return lastModified;
} }
//~--- fields --------------------------------------------------------------- //~--- fields ---------------------------------------------------------------