public Collection<ProjectVersion> getBranches(IModel<ProjectVersion> current) { if(current==null) return Collections.emptyList(); Project parent = current.getObject().getParent(); if(parent==null && current instanceof AttachableModel) { AttachableModel<ProjectVersion> model = (AttachableModel<ProjectVersion>)current; parent = (Project) model.getParent().getObject(); } if(parent==null) return Collections.emptyList(); return parent.getChildren(); }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public ProjectVersion getTerminology() { EList<Project> projects = getChildren(); for (Project project : projects) { if(project.isTerminology()) return project.getChildren().get(0); } return null; }
@Override public Project apply(Project object) { ProjectVersion child = PropertiesFactory.eINSTANCE.createProjectVersion(); ProjectLocale locale = PropertiesFactory.eINSTANCE.createProjectLocale(); child.getChildren().add(locale); child.setTemplate(locale); child.setName(uri.lastSegment()); object.getChildren().add(child); return object; } });
@Override protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { ProjectVersion projectVersion = model.getObject(); CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); projectVersion = transaction.getObject(projectVersion); Preferences preferences = PreferencesUtil.scopeFor(projectVersion); try { PreferencesUtil.deleteNode(preferences); File directory = new File(projectVersion.absolutPath().toFileString()); FileUtil.delete(directory); projectVersion.getParent().getChildren().remove(projectVersion); transaction.commit(); setResponsePage(SettingsPage.class, getPage().getPageParameters()); } catch (CommitException e) { logger.error("Commit failed",e); getSession().error(e.getMessage()); } catch (BackingStoreException e) { logger.error("Failed to delete project preferences",e); getSession().error(e.getMessage()); } finally { transaction.close(); } }