Guard against Community/Collection metadata having only whitespace characters and eliminate cases where null pointer exceptions would be thrown.

git-svn-id: http://scm.dspace.org/svn/repo/branches/dspace-1_5_x@3024 9c30dcfa-912a-0410-8fc2-9e0234be79fd
This commit is contained in:
Mark Diggory
2008-07-31 23:23:06 +00:00
parent 8d93f1d810
commit 77cb5d313d
2 changed files with 41 additions and 20 deletions

View File

@@ -349,7 +349,7 @@ public class Community extends DSpaceObject
public String getMetadata(String field)
{
String metadata = communityRow.getStringColumn(field);
return (metadata == null) ? "" : metadata;
return (metadata == null) ? "" : metadata.trim();
}
/**
@@ -366,7 +366,8 @@ public class Community extends DSpaceObject
*/
public void setMetadata(String field, String value)throws MissingResourceException
{
if ((field.trim()).equals("name") && (value.trim()).equals(""))
if ((field.trim()).equals("name")
&& (value == null || value.trim().equals("")))
{
try
{
@@ -377,7 +378,21 @@ public class Community extends DSpaceObject
value = "Untitled";
}
}
communityRow.setColumn(field, value);
/*
* Set metadata field to null if null
* and trim strings to eliminate excess
* whitespace.
*/
if(value == null)
{
communityRow.setColumnNull(field);
}
else
{
communityRow.setColumn(field, value.trim());
}
modifiedMetadata = true;
addDetails(field);
}