package org.nightlabs.jfire.department.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.department.Department; import org.nightlabs.jfire.department.dao.DepartmentDAO; import org.nightlabs.jfire.department.id.DepartmentID; import org.nightlabs.progress.ProgressMonitor; public class DepartmentEditor extends ActiveEntityEditor implements ICloseOnLogoutEditorPart { public static final String EDITOR_ID = DepartmentEditor.class.getName(); // private DepartmentEditorInput departmentEditorInput; private static final String[] FETCH_GROUPS = new String[] { FetchPlan.DEFAULT, Department.FETCH_GROUP_NAME }; @Override protected String getEditorTitleFromEntity(Object entity) { return entity instanceof Department ? ((Department)entity).getName().getText() : null; } @Override protected Object retrieveEntityForEditorTitle(ProgressMonitor monitor) { DepartmentID departmentID = ((DepartmentEditorInput)getEditorInput()).getJDOObjectID(); assert departmentID != null; return DepartmentDAO.sharedInstance().getDepartment(departmentID, FETCH_GROUPS, NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, monitor); } // @Override // public void init(IEditorSite site, IEditorInput input) // throws PartInitException { // super.init(site, input); // departmentEditorInput = (DepartmentEditorInput)input; // Job job = new Job("Loading Department.........") // { // @Override // protected IStatus run(ProgressMonitor monitor) // throws Exception // { // final Department department = DepartmentDAO.sharedInstance().getDepartment( // departmentEditorInput.getJDOObjectID(), // FETCH_GROUPS, // NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, monitor); // Display.getDefault().asyncExec(new Runnable() // { // public void run() // { // setPartName(department.getName().getText()); // setTitleToolTip(department.getName().getText()); // } // }); // // return Status.OK_STATUS; // } // }; // job.setPriority(org.eclipse.core.runtime.jobs.Job.SHORT); // job.schedule(); // } @Override public void dispose() { super.dispose(); } }