blob: a5e86f440acf91e889f2d8fed431460b1d8525d4 [file] [log] [blame]
function customLoopFlow(view,proxy,generic) {
// load some helper functions
// cocoon.load("fallback://lenya/modules/cforms/flow/lenyadoc-utils.js");
try {
var formDef = "fallback://lenya/modules/cforms/usecases/dynamicrepeater.xml";
var formBind = "fallback://lenya/modules/cforms/usecases/dynamicrepeater_binding.xml";
var formView = "usecases-view/menu/modules/cforms/usecases/dynamicrepeater_template.xml";
generic.form = new Form(formDef);
generic.form.setAttribute("counter", new java.lang.Integer(0));
generic.form.createBinding(formBind);
try {
var parser = cocoon.getComponent(Packages.org.apache.excalibur.xml.dom.DOMParser.ROLE);
var resolver = cocoon.getComponent(Packages.org.apache.cocoon.environment.SourceResolver.ROLE);
var source = resolver.resolveURI(proxy.getParameter('sourceUri'));
var is = new Packages.org.xml.sax.InputSource(source.getInputStream());
is.setSystemId(source.getURI());
generic.doc = parser.parseDocument(is);
} finally {
if (source != null)
resolver.release(source);
cocoon.releaseComponent(parser);
cocoon.releaseComponent(resolver);
}
generic.form.load(generic.doc);
generic.form.showForm(formView, {"usecase" : proxy});
} catch (exception) {
// if an exception was thrown by the view, allow the usecase to rollback the transition
log("error", "Exception during customLoopFlow: " + exception);
throw exception;
}
}
function customSubmitFlow(usecase, generic) {
generic.form.save(generic.doc);
usecase.setParameter("xml", generic.doc);
defaultSubmitFlow(usecase);
}