NIHVIVO-1564 Minor tweak to DumpDirective tests, and comments in BaseDumpDirective.

This commit is contained in:
ryounes 2011-04-20 15:41:05 +00:00
parent c7081f81cd
commit 9e847bad59
2 changed files with 39 additions and 29 deletions

View file

@ -166,7 +166,8 @@ public abstract class BaseDumpDirective implements TemplateDirectiveModel {
map.putAll( getTemplateModelDump( ( TemplateCollectionModel)model ) ); map.putAll( getTemplateModelDump( ( TemplateCollectionModel)model ) );
} else if ( model instanceof StringModel ) { } else if ( model instanceof StringModel ) {
// A StringModel can wrap either a String or a plain Java object.
// Unwrap it to figure out what to do.
Object unwrappedModel = DeepUnwrap.permissiveUnwrap(model); Object unwrappedModel = DeepUnwrap.permissiveUnwrap(model);
if (unwrappedModel instanceof String) { if (unwrappedModel instanceof String) {
@ -187,6 +188,7 @@ public abstract class BaseDumpDirective implements TemplateDirectiveModel {
// Nodes and transforms not included here // Nodes and transforms not included here
} else { } else {
// We shouldn't get here; provide as a safety net.
map.putAll( getTemplateModelDump( (TemplateModel)model ) ); map.putAll( getTemplateModelDump( (TemplateModel)model ) );
} }
} else { } else {
@ -444,7 +446,7 @@ public abstract class BaseDumpDirective implements TemplateDirectiveModel {
} }
private Map<String, Object> getTemplateModelDump(TemplateModel model) throws TemplateModelException { private Map<String, Object> getTemplateModelDump(TemplateModel model) throws TemplateModelException {
// One of the above cases should have applied. Track whether this actually occurs. // One of the more specific cases should have applied. Track whether this actually occurs.
log.debug("Found model with no known type"); log.debug("Found model with no known type");
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
Object unwrappedModel = DeepUnwrap.permissiveUnwrap(model); Object unwrappedModel = DeepUnwrap.permissiveUnwrap(model);

View file

@ -22,6 +22,7 @@ import java.util.Set;
import java.util.SortedMap; import java.util.SortedMap;
import java.util.TreeMap; import java.util.TreeMap;
import org.apache.commons.lang.time.DateUtils;
import org.apache.log4j.Level; import org.apache.log4j.Level;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.junit.Before; import org.junit.Before;
@ -154,7 +155,7 @@ public class DumpDirectiveTest {
Map<String, Object> dataModel = new HashMap<String, Object>(); Map<String, Object> dataModel = new HashMap<String, Object>();
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.set(91, Calendar.MAY, 5); c.set(1991, Calendar.MAY, 5);
Date myDate = c.getTime(); Date myDate = c.getTime();
dataModel.put("myDate", myDate); dataModel.put("myDate", myDate);
@ -880,7 +881,7 @@ public class DumpDirectiveTest {
private String firstName; private String firstName;
private String lastName; private String lastName;
private String nickname; private String nickname;
//private Date birthdate; private Date birthdate;
private boolean married; private boolean married;
private int id; private int id;
private String middleName; private String middleName;
@ -888,11 +889,11 @@ public class DumpDirectiveTest {
private Employee supervisor; private Employee supervisor;
private float salary; private float salary;
Employee(String firstName, String lastName, int id) { Employee(String firstName, String lastName, int id, Date birthdate) {
this.firstName = firstName; this.firstName = firstName;
this.lastName = lastName; this.lastName = lastName;
this.middleName = null; // test a null value this.middleName = null; // test a null value
//this.birthdate = birthdate; this.birthdate = birthdate;
this.married = true; this.married = true;
this.id = id; this.id = id;
this.nickname = ""; this.nickname = "";
@ -911,14 +912,13 @@ public class DumpDirectiveTest {
public void setNickname(String nickname) { public void setNickname(String nickname) {
this.nickname = nickname; this.nickname = nickname;
} }
public void setFavoriteColors(String...colors) { public void setFavoriteColors(String...colors) {
for (String color : colors) { for (String color : colors) {
favoriteColors.add(color); favoriteColors.add(color);
} }
} }
// Not available to templates
float getSalary() { float getSalary() {
return salary; return salary;
} }
@ -945,9 +945,9 @@ public class DumpDirectiveTest {
return nickname; return nickname;
} }
// public Date getBirthdate() { public Date getBirthdate() {
// return birthdate; return birthdate;
// } }
public int getId() { public int getId() {
return id; return id;
@ -973,13 +973,19 @@ public class DumpDirectiveTest {
private Employee getEmployee() { private Employee getEmployee() {
Employee jdoe = new Employee("John", "Doe", 34523); Calendar c = Calendar.getInstance();
c.set(1982, Calendar.MAY, 5);
c = DateUtils.truncate(c, Calendar.DATE);
Employee jdoe = new Employee("John", "Doe", 34523, c.getTime());
jdoe.setFavoriteColors("blue", "green"); jdoe.setFavoriteColors("blue", "green");
jdoe.setSalary(65000); jdoe.setSalary(65000);
Employee jsmith = new Employee("Jane", "Smith", 78234); c.clear();
c.set(1975, Calendar.OCTOBER, 25);
c = DateUtils.truncate(c, Calendar.DATE);
Employee jsmith = new Employee("Jane", "Smith", 78234, c.getTime());
jsmith.setFavoriteColors("red", "orange"); jsmith.setFavoriteColors("red", "orange");
jdoe.setSupervisor(jsmith); jdoe.setSupervisor(jsmith);
return jdoe; return jdoe;
@ -994,13 +1000,14 @@ public class DumpDirectiveTest {
if (exposureLevel != BeansWrapper.EXPOSE_NOTHING) { if (exposureLevel != BeansWrapper.EXPOSE_NOTHING) {
// Map<String, Object> birthdateExpectedDump = new HashMap<String, Object>(); Map<String, Object> birthdateExpectedDump = new HashMap<String, Object>();
// birthdateExpectedDump.put(Key.TYPE.toString(), Type.DATE); birthdateExpectedDump.put(Key.TYPE.toString(), Type.DATE);
// birthdateExpectedDump.put(Key.DATE_TYPE.toString(), DateType.UNKNOWN); birthdateExpectedDump.put(Key.DATE_TYPE.toString(), DateType.UNKNOWN);
// Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
// c.set(75, Calendar.MAY, 5); c.set(1982, Calendar.MAY, 5);
// birthdateExpectedDump.put(Key.VALUE.toString(), c.getTime()); c = DateUtils.truncate(c, Calendar.DATE);
// propertiesExpectedDump.put("birthdate", birthdateExpectedDump); birthdateExpectedDump.put(Key.VALUE.toString(), c.getTime());
propertiesExpectedDump.put("birthdate", birthdateExpectedDump);
Map<String, Object> fullNameExpectedDump = new HashMap<String, Object>(); Map<String, Object> fullNameExpectedDump = new HashMap<String, Object>();
fullNameExpectedDump.put(Key.TYPE.toString(), Type.STRING); fullNameExpectedDump.put(Key.TYPE.toString(), Type.STRING);
@ -1077,13 +1084,14 @@ public class DumpDirectiveTest {
// Properties // Properties
if (exposureLevel != BeansWrapper.EXPOSE_NOTHING) { if (exposureLevel != BeansWrapper.EXPOSE_NOTHING) {
// Map<String, Object> birthdateExpectedDump = new HashMap<String, Object>(); Map<String, Object> birthdateExpectedDump = new HashMap<String, Object>();
// birthdateExpectedDump.put(Key.TYPE.toString(), Type.DATE); birthdateExpectedDump.put(Key.TYPE.toString(), Type.DATE);
// birthdateExpectedDump.put(Key.DATE_TYPE.toString(), DateType.UNKNOWN); birthdateExpectedDump.put(Key.DATE_TYPE.toString(), DateType.UNKNOWN);
// Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
// c.set(75, Calendar.MAY, 5); c.set(1975, Calendar.OCTOBER, 25);
// birthdateExpectedDump.put(Key.VALUE.toString(), c.getTime()); c = DateUtils.truncate(c, Calendar.DATE);
// propertiesExpectedDump.put("birthdate", birthdateExpectedDump); birthdateExpectedDump.put(Key.VALUE.toString(), c.getTime());
propertiesExpectedDump.put("birthdate", birthdateExpectedDump);
Map<String, Object> fullNameExpectedDump = new HashMap<String, Object>(); Map<String, Object> fullNameExpectedDump = new HashMap<String, Object>();
fullNameExpectedDump.put(Key.TYPE.toString(), Type.STRING); fullNameExpectedDump.put(Key.TYPE.toString(), Type.STRING);