private static Set<String> getUsedProjectNames(IModel<Project> model) { Workspace workspace = model.getObject().getParent(); if(workspace==null) { if (model instanceof AttachableModel<?>) { AttachableModel<?> a = (AttachableModel<?>) model; Object parent = a.getParent().getObject(); if (parent instanceof Workspace) { workspace = (Workspace) parent; } } } Set<String> usedNames = new HashSet<String>(); if(workspace!=null) { for (Project project : workspace.getChildren()) { if(project!=model.getObject()) usedNames.add(project.getName()); } } return usedNames; }
@Override public Workspace apply(Workspace object) { Project child = PropertiesFactory.eINSTANCE.createProject(); child.setName(uri.lastSegment()); object.getChildren().add(child); return object; } });
public List<String> computePossiblePermissions(UserManagement management) { Workspace workspace = (Workspace) resolver.resolve(ApplicationConstants.WORKSPACE_NAME); Set<String> permissions = new TreeSet<String>(); EList<Permission> available = management.getPermissions(); for (Permission permission : available) { permissions.add(permission.getName()); } EList<Project> children = workspace.getChildren(); for (Project project : children) { String name = project.getName(); permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, name, CommonPermissions.ACTION_CONFIG)); permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, name, CommonPermissions.ACTION_EDIT)); permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, name, CommonPermissions.ACTION_SUGGEST)); permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, name, CommonPermissions.ACTION_VIEW)); } permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, "*", CommonPermissions.ACTION_CONFIG)); permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, "*", CommonPermissions.ACTION_EDIT)); permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, "*", CommonPermissions.ACTION_SUGGEST)); permissions.add(CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, "*", CommonPermissions.ACTION_VIEW)); return new ArrayList<String>(permissions); }
EList<Project> children = workspace.getChildren(); for (Project other : children) { if(other==object)
private static void indexWorkspace(Workspace workspace, IndexWriter writer, IProgressMonitor monitor) throws CorruptIndexException, IOException { EList<Project> projects = workspace.getChildren(); SubMonitor submon = SubMonitor.convert(monitor,"Rebuilding Index", projects.size()*10); PropertyFileAnalyzer analyzer = new PropertyFileAnalyzer();
@Override protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { Project project = model.getObject(); CDOTransaction transaction = Activator.getDefault().getRepositoryConnector().openTransaction(); project = transaction.getObject(project); Preferences preferences = PreferencesUtil.scopeFor(project); try { PreferencesUtil.deleteNode(preferences); File directory = new File(project.absolutPath().toFileString()); FileUtil.delete(directory); project.getParent().getChildren().remove(project); 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(); } }