@Override public PropertyFile load(CDOID key) throws Exception { CDOObject object = view.getObject(key); if (object instanceof PropertyFileDescriptor) { PropertyFileDescriptor descriptor = (PropertyFileDescriptor) object; PropertyFile properties = descriptor.loadProperties(); return properties; } throw new IllegalArgumentException("Object is not a PropertyFileDescriptor: "+object); }
@Override public Map<String, Property> apply(IModel<PropertyFileDescriptor> from) { return from.getObject().loadProperties().asMap(); }
@Override protected void onSubmit() { super.onSubmit(); for (FileUpload fileUpload : fileUploadField.getFileUploads()) { PropertyFileDescriptor descriptor = getModel().getObject(); try { PropertyFile file = descriptor.loadProperties(fileUpload.getInputStream()); persist(file); } catch (IOException e) { LOG.error("Failed to retrieve uploaded file for"+descriptor.getLocation(),e); } } }
protected List<PropertyPair> createContents() { PropertyFileDescriptor descriptor = model.getObject(); Multimap<String, Review> reviews = reviewModel.getObject(); PropertyFileDescriptor master = descriptor.getMaster(); Map<String, Property> translated = descriptor.loadProperties().asMap(); PropertyFile templateFile = master.loadProperties(); 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; }
PropertyFile properties = descriptor.loadProperties();
public List<Document> createDocuments(PropertyFileDescriptor descriptor) { PropertyFile file = descriptor.loadProperties(); List<Document> documents = new ArrayList<Document>(file.getProperties().size()); PropertyFile masterFile = descriptor.getMaster().loadProperties(); masterProperties = masterFile.asMap();
@Override protected void onSubmit() { super.onSubmit(); IModel<List<? extends PropertyPair>> model = getModel(); List<? extends PropertyPair> list = model.getObject(); PropertyFileDescriptor descriptor = PropertyEditorPanel.this.getModelObject(); PropertyFile file = descriptor.loadProperties(); Map<String, Property> map = file.asMap(); for (PropertyPair pair : list) { Property translation = pair.getTranslation(); if(translation==null) continue; if (map.containsKey(translation.getKey())) { Property property = map.get(translation.getKey()); property.setComment(translation.getComment()); property.setValue(translation.getValue()); } else file.getProperties().add(translation); } propertyPersistence.saveProperties(descriptor, file); getSession().info("Saved successfully"); try { //TODO: this is very unclean... // give it some time to store the values Thread.sleep(500); } catch (InterruptedException e) { logger.error("Interrupted while waiting for property persistence",e); } } };
/** * Merges a {@link Map} of {@link Property}s into the existing {@link PropertyFileDescriptor}.<br> * TODO: Possibly merge with persist logic in {@link PropertyListPanel}.<br> * * @return count of updated properties.<br> */ private static int merge(Map<String, Property> newProperties, PropertyFileDescriptor descriptor) throws ExecutionException { PropertyFile existingFile = getPersistenceService().loadProperties(descriptor); Map<String, Property> existingProperties = existingFile.asMap(); Map<String, Property> master = descriptor.getMaster().loadProperties().asMap(); int updateCount = 0; for (Property newProperty : newProperties.values()) { Property existingProperty = existingProperties.get(newProperty.getKey()); if (!master.containsKey(newProperty.getKey())) { continue; // we're not creating new K/V pairs, only updating. } if (!updatePropertyValue(newProperty, existingProperty)) { continue; // not setting null, but we allow empty (value deletion). } updateExistingProperty(existingFile, existingProperty, newProperty); updateCount++; // trigger persist. } if (updateCount > 0) { getPersistenceService().saveProperties(descriptor, existingFile); } return updateCount; }
PropertyFile propertyFile = descriptor.loadProperties(); descriptor.setKeys(propertyFile.getProperties().size()); descriptor.updatePercentComplete(); PropertyFile translatedFile = fileDescriptor.loadProperties(); int size = translatedFile.getProperties().size(); fileDescriptor.setKeys(size);
Map<String, Object> options = createOptions(descriptor); if (new File(path.toFileString()).exists()) { PropertyFile original = descriptor.loadProperties(); PropertyDifferentiator differentiator = new PropertyDifferentiator(original); PropertiesResourceImpl resource = new PropertiesResourceImpl(path);
private void newTranslationMatch(File file) { File template = getPropertyScanner().findTemplate(file, getScanConfig()); //don't do anything if the template doesn't exist yet if(template==null || !template.isFile()) return; Locale locale = getPropertyScanner().getLocale(file); ProjectLocale projectLocale = getOrCreateProjectLocale(locale); URI location = calculateLocation(file); //Test if this descriptor is already available PropertyFileDescriptor descriptor = (PropertyFileDescriptor) projectLocale.resolveChild(location); if(descriptor==null) { descriptor = createDescriptor(projectLocale, location); } // load file to initialize statistics; PropertyFile propertyFile = descriptor.loadProperties(); descriptor.setKeys(propertyFile.getProperties().size()); Resolvable<?, ?> resolvable = getProjectVersion().getTemplate().resolveChild(calculateLocation(template)); if (resolvable instanceof PropertyFileDescriptor) { PropertyFileDescriptor templateDescriptor = (PropertyFileDescriptor) resolvable; descriptor.setMaster(templateDescriptor); } descriptor.updatePercentComplete(); }
PropertyFile translatedFile = translatedDescriptor.loadProperties(); int size = translatedFile.getProperties().size(); translatedDescriptor.setKeys(size);
PropertyFileDescriptor descriptor = findDescriptor(makeURI(fileDiff.getNewPath())); if (descriptor != null) { PropertyFile properties = descriptor.loadProperties(); descriptor.setKeys(properties.getProperties().size()); descriptor.updatePercentComplete();
PropertyFile propertyFile = descriptor.loadProperties(); descriptor.setKeys(propertyFile.getProperties().size()); descriptor.updatePercentComplete();