public boolean addDateField(String fieldName, String fieldPrettyName, String dformat, int emptyIsToday) { if (get(fieldName) == null) { DateClass date_class = new DateClass(); date_class.setName(fieldName); date_class.setPrettyName(fieldPrettyName); if (dformat != null) { date_class.setDateFormat(dformat); } date_class.setObject(this); date_class.setEmptyIsToday(emptyIsToday); put(fieldName, date_class); return true; } return false; }
public int getPicker() { return getIntValue("picker"); }
public String getDateFormat() { return getStringValue("dateFormat"); }
@Override public BaseProperty fromString(String value) { BaseProperty property = newProperty(); if ((value == null) || (value.equals(""))) { if (getEmptyIsToday() == 1) { property.setValue(new Date()); } return property; } try { SimpleDateFormat sdf = new SimpleDateFormat(getDateFormat()); property.setValue(sdf.parse(value)); } catch (ParseException e) { return null; } return property; }
@Override public void fromSearchMap(XWikiQuery query, Map<String, String[]> map) { String[] data = map.get(""); if ((data != null) && (data.length == 1)) { query.setParam(getObject().getName() + "_" + getName(), fromString(data[0]).getValue()); } else { data = map.get("lessthan"); if ((data != null) && (data.length == 1)) { query.setParam(getObject().getName() + "_" + getName() + "_lessthan", fromString(data[0]).getValue()); } data = map.get("morethan"); if ((data != null) && (data.length == 1)) { query.setParam(getObject().getName() + "_" + getName() + "_morethan", fromString(data[0]).getValue()); } } } }
@Override public void displayEdit(StringBuffer buffer, String name, String prefix, BaseCollection object, XWikiContext context) { input input = new input(); BaseProperty prop = (BaseProperty) object.safeget(name); if (prop != null) { input.setValue(toFormString(prop)); } input.setType("text"); input.setName(prefix + name); input.setID(prefix + name); input.setSize(getSize()); input.setDisabled(isDisabled()); buffer.append(input.toString()); }
input1.setName(prefix + name + "_morethan"); input1.setID(prefix + name); input1.setSize(getSize()); String fieldFullName = getFieldFullName(); DateProperty dprop = new DateProperty(); dprop.setValue(value); input1.setValue(toFormString(dprop)); input2.setName(prefix + name + "_lessthan"); input2.setID(prefix + name); input2.setSize(getSize()); value = (Date) criteria.getParameter(fieldFullName + "_lessthan"); if (value != null) { DateProperty dprop = new DateProperty(); dprop.setValue(value); input2.setValue(toFormString(dprop));
public BaseCollection newObject(XWikiContext context) { return new DateClass(); } }
public String toFormString(BaseProperty property) { if (property.getValue() == null) { return ""; } SimpleDateFormat sdf = new SimpleDateFormat(getDateFormat()); return sdf.format(property.getValue()); }
@Override public BaseProperty newProperty() { BaseProperty property = new DateProperty(); property.setName(getName()); return property; }
public int getEmptyIsToday() { return getIntValue("emptyIsToday"); }
public int getSize() { return getIntValue("size"); }