@Override public ProjectLocale apply(PropertyFileDescriptor object) { ProjectLocale locale = object.getProjectLocale(); if(!object.isMaster()) object = object.getMaster(); if(object!=null) PropertyResourceUtil.removeDescriptor(object); return locale; }; });
/** * Helper method. Create Map with K=Template Name, V=Descriptor.<br> * * This associates a property descriptor with the path of its respective template for faster lookups.<br> */ private Map<String, PropertyFileDescriptor> loadDescriptorsForLocale(Locale locale) { Map<String, PropertyFileDescriptor> ret = new LinkedHashMap<String, PropertyFileDescriptor>(); List<PropertyFileDescriptor> descriptors = null; /* * Load the List of descriptors available for this locale.<br> * Note that a null locale implies that either no source language was selected, or the * selected source language is the template language.<br> */ if (locale == null) { descriptors = projectVersion.getTemplate().getDescriptors(); } else { descriptors = projectVersion.getProjectLocale(locale).getDescriptors(); } for (PropertyFileDescriptor descriptor : descriptors) { ret.put(descriptor.isMaster() ? descriptor.getLocation().toString() : descriptor.getMaster().getLocation().toString(), descriptor); } return ret; }
PropertyFileDescriptor master = descriptor.isMaster() ? descriptor : descriptor.getMaster(); if(master==null) return Collections.emptyList();
@Override public IModel<String> casePropertyFileDescriptor(PropertyFileDescriptor object) { int propertyCount = object.getKeys(); if(object.isMaster()) { String message = NUMBER_OF_KEYS_KEY; message = MessageFormat.format(message, propertyCount); return new StringResourceModel(NUMBER_OF_KEYS_KEY, parent, null, propertyCount); } else { int templateCount = object.getMaster().getKeys(); return new StringResourceModel(TRANSLATION_PERCENTAGE_KEY, parent, null, propertyCount,templateCount,object.getPercentComplete()); } }
if(!descriptor.isMaster()) { PropertyFile masterFile = descriptor.getMaster().loadProperties(); masterProperties = masterFile.asMap();
protected List<PropertyPair> createContents() { PropertyFileDescriptor descriptor = model.getObject(); Multimap<String, Review> reviews = reviewModel.getObject(); PropertyFileDescriptor master = descriptor.isMaster() ? descriptor : descriptor.getMaster() ; Map<String, Property> translated = new HashMap<String, Property>(loadProperties(descriptor).asMap()); PropertyFile templateFile = loadProperties(master); List<PropertyPair> contents = new ArrayList<PropertyPair>(); for (Property property : templateFile.getProperties()) { // IModel<String> bind = model.bind(property.getKey()); // bind.set PropertyPair pair = new PropertyPair(property, translated.remove(property.getKey()), descriptor.getVariant(), descriptor.cdoID()); String key = pair.getKey(); if (mode.apply(pair, reviews.get(key))) contents.add(pair); } for (Property property : translated.values()) { PropertyPair pair = new PropertyPair(null, property, descriptor.getVariant(), descriptor.cdoID()); if (mode.apply(pair, reviews.get(pair.getKey()))) contents.add(pair); } return contents; }
private void createModels(IModel<PropertyFileDescriptor> model, String targetKey, PropertyListMode mode) { boolean isTemplateOnly = descriptor.isMaster(); Multimap<String, Review> reviews = reviewModel.getObject(); PropertyFileDescriptor master = isTemplateOnly ? descriptor : descriptor.getMaster();
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); }
descriptor.setKeys(properties.getProperties().size()); descriptor.updatePercentComplete(); if(descriptor.isMaster()) { EList<PropertyFileDescriptor> descriptors = descriptor.getDerivedDescriptors(); for (PropertyFileDescriptor child : descriptors) {