package er.corebusinesslogic;
import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.directtoweb.D2W;
import com.webobjects.directtoweb.EditPageInterface;
import com.webobjects.eocontrol.EOEditingContext;
import com.webobjects.foundation.NSArray;
import er.extensions.appserver.ERXApplication;
import er.extensions.components.ERXStatelessComponent;
import er.extensions.eof.ERXEC;
public class ERCListHelpText extends ERXStatelessComponent {
/**
* Do I need to update serialVersionUID?
* See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the
* <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a>
*/
private static final long serialVersionUID = 1L;
public String key;
public ERCListHelpText(WOContext context) {
super(context);
}
public boolean showList() {
return booleanValueForBinding("showList", ERXApplication.isDevelopmentModeSafe());
}
public ERCHelpText text() {
return ERCHelpText.clazz.helpTextForKey(session().defaultEditingContext(), key);
}
public WOComponent edit() {
EOEditingContext ec = ERXEC.newEditingContext();
ec.lock();
try {
ERCHelpText text = ERCHelpText.clazz.helpTextForKey(ec, key);
if(text == null) {
text = ERCHelpText.clazz.createAndInsertObject(ec);
text.setKey(key);
}
EditPageInterface page = D2W.factory().editPageForEntityNamed(ERCHelpText.ENTITY, session());
page.setObject(text);
page.setNextPage(context().page());
return (WOComponent)page;
} finally {
ec.unlock();
}
}
public NSArray keys() {
return ERCDisplayHelpText.textsOnPage();
}
}