@Override public IModel<String> caseProjectLocale(ProjectLocale object) { if(object.getParent()==null && object.getParent().getTemplate()==null) return null; ProjectLocale template = object.getParent().getTemplate(); int propertyCount = template.getPropertyCount(); int translatedCount = object.getPropertyCount(); return new StringResourceModel(TRANSLATION_PERCENTAGE_KEY, parent, null, translatedCount,propertyCount,object.getPercentComplete()); }
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 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); }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ @Override public PropertyFile loadProperties() { URI path = absolutPath(); PropertiesResourceImpl resource = new PropertiesResourceImpl(path); Map<String, Object> options = new HashMap<String, Object>(); if(getProjectLocale()!=null && getProjectLocale().getParent()!=null && getProjectLocale().getParent().getParent()!=null) { options.put(PropertiesResourceImpl.OPTION_FILEMODE, getProjectLocale().getParent().getParent().getPropertyType()); } try { resource.load(options); } catch (FileNotFoundException e) { //The file does not exist, create a new one. logger.debug("Tried to load non-existing property file. Path: {}", path.path()); return PropertiesFactory.eINSTANCE.createPropertyFile(); } catch (IOException e) { throw new RuntimeException(e); } return (PropertyFile) resource.getContents().get(0); }
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); }
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; }
query.add(createProjectQuery(locale.getParent().getParent()), Occur.MUST); query.add(createVersionQuery(locale.getParent()), Occur.MUST); query.add(createLocaleQuery(locale), Occur.MUST); ResourceFolder folder = (ResourceFolder) scope; ProjectLocale locale = folder.getProjectLocale(); query.add(createProjectQuery(locale.getParent().getParent()), Occur.MUST); query.add(createVersionQuery(locale.getParent()), Occur.MUST); query.add(createLocaleQuery(locale), Occur.MUST); query.add(new PrefixQuery(new Term(QueryService.FIELD_FULL_PATH,folder.fullPath().path())), Occur.MUST); 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);
@SuppressWarnings({ "unchecked", "rawtypes" }) public static void addNewLocalizedDescriptor(PropertyFileDescriptor descriptor, ProjectLocale locale) { if (!descriptor.eIsSet(PropertiesPackage.Literals.PROPERTY_FILE_DESCRIPTOR__LOCATION)) throw new IllegalArgumentException("Property File Descriptor location is not set"); ProjectVersion version = locale.getParent(); ProjectLocale templateLocale = version.getTemplate(); URI templateResourceLocation = computeTemplateResourceLocation(locale.getLocale(), descriptor.getLocation(), templateLocale.getLocale(),version); Resolvable<?, ?> resolved = templateLocale.resolveChild(templateResourceLocation); PropertyFileDescriptor template = null; if (resolved instanceof PropertyFileDescriptor) { template = (PropertyFileDescriptor) resolved; } if (template == null) throw new IllegalArgumentException("Template property " + templateResourceLocation + " doesn't exist"); Resolvable container = getOrCreateFolder(locale, descriptor.getLocation().trimSegments(1).segments()); if (container.getChild(descriptor.getLocation().lastSegment()) != null) { PropertyFileDescriptor child = (PropertyFileDescriptor) container.getChild(descriptor.getLocation().lastSegment()); child.setMaster(null); container.getChildren().set(container.getChildren().indexOf(child), descriptor); locale.getDescriptors().remove(child); } else { container.getChildren().add(descriptor); } descriptor.setMaster(template); locale.getDescriptors().add(descriptor); }
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);
private static void createMissingChildren(ProjectLocale template, ProjectLocale other) { EList<PropertyFileDescriptor> descriptors = template.getDescriptors(); for (PropertyFileDescriptor descriptor : descriptors) { URI derivedLocation = computeLocaleResourceLocation(other.getLocale(), other.getParent(), descriptor.getLocation()); Resolvable<?, ?> child = other.resolveChild(derivedLocation); if(child==null){ Resolvable<?, ?> folder = getOrCreateFolder(other, derivedLocation.trimSegments(1).segments()); PropertyFileDescriptor localeDescriptor = PropertiesFactory.eINSTANCE.createPropertyFileDescriptor(); localeDescriptor.setMaster(descriptor); localeDescriptor.setVariant(other.getLocale()); localeDescriptor.setLocation(derivedLocation); localeDescriptor.setProjectLocale(other); localeDescriptor.setParent(folder); localeDescriptor.setName(URI.decode(derivedLocation.lastSegment())); } } }
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);