package org.nightlabs.jfire.trade.admin.ui.editor;
import javax.jdo.FetchPlan;
import org.nightlabs.jdo.NLJDOHelper;
import org.nightlabs.jfire.base.login.ui.part.ICloseOnLogoutEditorPart;
import org.nightlabs.jfire.base.ui.entity.editor.ActiveEntityEditor;
import org.nightlabs.jfire.store.Unit;
import org.nightlabs.jfire.store.dao.UnitDAO;
import org.nightlabs.jfire.store.id.UnitID;
import org.nightlabs.progress.ProgressMonitor;
public class UnitEditor
extends ActiveEntityEditor
implements ICloseOnLogoutEditorPart
{
public static final String ID_EDITOR = UnitEditor.class.getName();
public static final String[] FETCH_GROUP = new String[] {
FetchPlan.DEFAULT,
Unit.FETCH_GROUP_NAME,
Unit.FETCH_GROUP_SYMBOL};
@Override
protected String getEditorTitleFromEntity(Object entity) {
Unit unit = (Unit) entity;
return unit.getUnitID() + ": " + unit.getName().getText();
}
@Override
protected Object retrieveEntityForEditorTitle(ProgressMonitor monitor) {
UnitEditorInput input=(UnitEditorInput)getEditorInput();
UnitID unitID = input.getJDOObjectID();
assert unitID != null;
Unit unit = UnitDAO.sharedInstance().getUnit(
unitID,
FETCH_GROUP,
NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT,
monitor);
return unit;
}
}