private Map<String, Object> createOptions(PropertyFileDescriptor descriptor) { Map<String, Object> options = new HashMap<String, Object>(); if (descriptor.getProjectLocale() != null && descriptor.getProjectLocale().getParent() != null && descriptor.getProjectLocale().getParent().getParent() != null) { ProjectVersion version = descriptor.getProjectLocale().getParent(); Project project = version.getParent(); String propertyType = project.getPropertyType(); options.put(PropertiesResourceImpl.OPTION_FILEMODE, propertyType); } return options; }
@Override public ProjectLocale apply(PropertyFileDescriptor object) { ProjectLocale locale = object.getProjectLocale(); if(!object.isMaster()) object = object.getMaster(); if(object!=null) PropertyResourceUtil.removeDescriptor(object); return locale; }; });
@Override public String getRequiredPermission() { Project project = getModel().getObject().getProjectLocale().getParent().getParent(); return CommonPermissions.constructPermission(CommonPermissions.PROJECT, project.getName(), CommonPermissions.ACTION_VIEW); }
@Override public String getRequiredPermission() { Project project = getModel().getObject().getProjectLocale().getParent().getParent(); return CommonPermissions.constructPermission(CommonPermissions.PROJECT, project.getName(), CommonPermissions.ACTION_VIEW); }
query.add(new TermQuery(new Term(QueryService.FIELD_LOCALE, descriptor.getProjectLocale().getLocale().toString())), Occur.MUST_NOT);
private Project getProject(PropertyPair pair) { try { CDOObject object = Activator.getDefault().getRepositoryLookup().resolve(pair.getDescriptorID()); if (object instanceof PropertyFileDescriptor) { PropertyFileDescriptor descriptor = (PropertyFileDescriptor)object; return descriptor.getProjectLocale().getParent().getParent(); } } catch (Exception e) { logger.error("Failed to lookup project for "+pair); } return null; }
private void addLinkList(final PropertyListMode currentMode) { List<ReviewParticipant> activeReviews = PropertyListModeFactory.filterActiveReviews(getModel().getObject().getProjectLocale().getParent().getParent(),reviewParticipants); List<PropertyListMode> values = PropertyListModeFactory.all(activeReviews); ListView<PropertyListMode> mode = new ListView<PropertyListMode>("view-mode", values) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<PropertyListMode> item) { String mode = item.getModelObject().name().toLowerCase(); BookmarkablePageLink<Object> link = new BookmarkablePageLink<Object>("link", getPage().getClass(), new PageParameters(getPageParameters()).set("mode", mode)); link.setBody(Model.of("Show "+ mode)); item.add(link); if (item.getModelObject() == currentMode) item.add(new AttributeModifier("class", "active")); } }; add(mode); }
for (Property property : properties) { Document doc = new Document(); ProjectLocale locale = descriptor.getProjectLocale(); ProjectVersion version = locale.getParent(); Project project = version.getParent();
private static boolean hasPermission(PropertyFileDescriptor model, Session session, String permission) { ProjectVersion version = model.getProjectLocale().getParent(); if (version.isReadOnly()) return false; if (session instanceof CDOAuthenticatedSession) { Project project = version.getParent(); CDOAuthenticatedSession authSession = (CDOAuthenticatedSession) session; return authSession.hasPermission(CommonPermissions.constructPermission(CommonPermissions.PROJECT, project.getName(), permission)); } return false; }
protected boolean hasEditPermission(PropertyFileDescriptor descriptor) { Session session = getSession(); if (session instanceof CDOAuthenticatedSession) { CDOAuthenticatedSession authSession = (CDOAuthenticatedSession) session; User user = authSession.getUser(); if(user!=null) { Project project = descriptor.getProjectLocale().getParent().getParent(); String permission = CommonPermissions.constructPermissionName(CommonPermissions.PROJECT, project.getName(), CommonPermissions.ACTION_EDIT); return user.hasPermission(permission); } } return false; }
@Override protected void construct() { super.construct(); editKind = computeEditKind(); List<ReviewParticipant> activeReviews = PropertyListModeFactory.filterActiveReviews(getModel().getObject().getProjectLocale().getParent().getParent(),reviewParticipants); mode = PropertyListModeFactory.allAsMap(activeReviews).get(getPageParameters().get("mode").toString()); addLinkList(activeReviews,mode); reviewModel = new LoadableDetachableModel<Multimap<String, Review>>() { private static final long serialVersionUID = 1L; @Override protected Multimap<String, Review> load() { return buildReviewMap(getModelObject()); } }; createModels(getModel(), targetKey, mode); }
private EditKind computeEditKind() { ProjectVersion version = getModel().getObject().getProjectLocale().getParent(); if (version.isReadOnly()) return EditKind.READONLY; Session session = getSession(); if (session instanceof CDOAuthenticatedSession) { Project project = version.getParent(); CDOAuthenticatedSession authSession = (CDOAuthenticatedSession) session; if (authSession.hasPermission(CommonPermissions.constructPermission(CommonPermissions.PROJECT, project.getName(), CommonPermissions.ACTION_EDIT))) return EditKind.EDIT; if (authSession .hasPermission(CommonPermissions.constructPermission(CommonPermissions.PROJECT, project.getName(), CommonPermissions.ACTION_SUGGEST))) return EditKind.SUGGEST; } return EditKind.READONLY; }
public static void removeDescriptor(PropertyFileDescriptor descriptor) { if (descriptor.isMaster()) { EList<PropertyFileDescriptor> derivedDescriptors = descriptor.getDerivedDescriptors(); for (PropertyFileDescriptor derived : derivedDescriptors) { derived.setProjectLocale(null); Resolvable<?, ?> parent = derived.getParent(); if(parent!=null) { //update the percentage of all derived resources parent.updatePercentComplete(); if(parent.getChildren().size()==1 && parent instanceof ResourceFolder) { deleteFolder((ResourceFolder) parent); } } EcoreUtil.remove(derived); } } else { descriptor.setMaster(null); } Resolvable<?, ?> parent = descriptor.getParent(); if(parent!=null && parent.getChildren().size()==1 && parent instanceof ResourceFolder) deleteFolder((ResourceFolder) parent); EcoreUtil.remove(descriptor); descriptor.getProjectLocale().getDescriptors().remove(descriptor); }
query.add(createProjectQuery(descriptor.getProjectLocale().getParent().getParent()), Occur.MUST); query.add(createVersionQuery(descriptor.getProjectLocale().getParent()), Occur.MUST); query.add(createLocaleQuery(descriptor.getProjectLocale()), Occur.MUST); query.add(createDescriptorQuery(descriptor), Occur.MUST);
super.construct(); List<ReviewParticipant> activeReviews = PropertyListModeFactory.filterActiveReviews(getModel().getObject().getProjectLocale().getParent().getParent(),reviewParticipants); mode = PropertyListModeFactory.allAsMap(activeReviews).get(getPageParameters().get("mode").toString()); addLinkList(activeReviews,mode);
public PropertyEditorPanel(PropertyFileDescriptor object, PageParameters parameters) { super("content", object, parameters); List<ReviewParticipant> activeReviews = PropertyListModeFactory.filterActiveReviews(getModel().getObject().getProjectLocale().getParent().getParent(),reviewParticipants); PropertyListMode mode = PropertyListModeFactory.allAsMap(activeReviews).get(parameters.get("mode").toString()); addLinkList(mode);