}
public WOComponent massModify() {
EOEditingContext localContext = ERXEC.newEditingContext(false); // we will never validate or save this one
EOEnterpriseObject newEO = ERXEOControlUtilities.createAndInsertObject(localContext, d2wContext().entity().name());
EditPageInterface epi=(EditPageInterface)D2W.factory().pageForConfigurationNamed((String)d2wContext().valueForKey("massModificationPageConfiguration"),
session());
epi.setObject(newEO);
_MassModificatorConfirmationDelegate cb=new _MassModificatorConfirmationDelegate();
cb.eo=newEO;
cb.nextPage=context().page();
cb.entityName=d2wContext().entity().name();
cb.list=(NSArray)valueForBinding("list");
epi.setNextPageDelegate(cb);
WOComponent result=(WOComponent)epi;
D2WContext editContext=(D2WContext)result.valueForKey("d2wContext");
editContext.takeValueForKey("massModify", "subTask");
// we then wipe any default value that might have been put in the EO
NSArray dpk=(NSArray)editContext.valueForKey("displayPropertyKeys");
cb.displayPropertyKeys=dpk;
for (Enumeration e=dpk.objectEnumerator(); e.hasMoreElements();) {
String key=(String)e.nextElement();
if(key.matches("^((\\w+).?)+$")) {
newEO.takeValueForKey(null,key);
// we don't care much about back relationships..
}
}
return result;
}