@Override public void propertyChange(PropertyChangeEvent evt) { Object source = evt.getSource(); if (source instanceof IEntity) { IComponentDescriptor<?> componentDescriptor = getBackendController().getEntityFactory() .getComponentDescriptor(((IEntity) source) .getComponentContract()); IPropertyDescriptor propertyDescriptor = componentDescriptor.getPropertyDescriptor(evt.getPropertyName()); if (propertyDescriptor != null && !propertyDescriptor.isComputed()) { lifecycledEntities.remove(source); } } } };
/** * Directly get a property value out of the property store without any other * operation. * * @param proxy * the proxy to straight get the property from. * @param propertyName * the name of the property. * @return the property value or null. */ protected Object straightGetProperty(Object proxy, String propertyName) { IPropertyDescriptor propertyDescriptor = componentDescriptor.getPropertyDescriptor(propertyName); if (propertyDescriptor == null || (propertyDescriptor.isComputed() && propertyDescriptor.getPersistenceFormula() == null)) { return null; } Object propertyValue = retrievePropertyValue(propertyName); if (propertyValue == null && propertyDescriptor instanceof IBooleanPropertyDescriptor) { return Boolean.FALSE; } return propertyValue; }
/** * Gets whether the entity property is dirty (has changes that need to be * updated to the persistent store). * * @param entity * the entity to test. * @param propertyName * the entity property to test. * @return true if the entity is dirty. */ @Override public boolean isDirty(IEntity entity, String propertyName) { if (entity == null) { return false; } Map<String, Object> entityDirtyProperties = getDirtyProperties(entity); if (entityDirtyProperties != null && entityDirtyProperties.containsKey(propertyName)) { IPropertyDescriptor propertyDescriptor = getEntityFactory().getComponentDescriptor(getComponentContract(entity)) .getPropertyDescriptor(propertyName); return propertyDescriptor != null && !propertyDescriptor.isComputed(); } return false; }
/** * {@inheritDoc} */ public List<ISubViewDescriptor> getPropertyViewDescriptors() { if (propertyViewDescriptors == null) { IComponentDescriptor<?> componentDescriptor = ((IComponentDescriptorProvider<?>) getModelDescriptor()) .getComponentDescriptor(); List<String> modelRenderedProperties = componentDescriptor .getRenderedProperties(); List<ISubViewDescriptor> defaultPropertyViewDescriptors = new ArrayList<ISubViewDescriptor>(); for (String renderedProperty : modelRenderedProperties) { BasicSubviewDescriptor propertyDescriptor = new BasicSubviewDescriptor(); propertyDescriptor.setName(renderedProperty); propertyDescriptor.setGrantedRoles(componentDescriptor .getPropertyDescriptor(renderedProperty).getGrantedRoles()); defaultPropertyViewDescriptors.add(propertyDescriptor); } return defaultPropertyViewDescriptors; } return propertyViewDescriptors; }
/** * Returns the gender image url. * * @return the gender image url. */ @DependsOn(Employee.GENDER) public String getGenderImageUrl() { IEnumerationPropertyDescriptor genderDescriptor = (IEnumerationPropertyDescriptor) getComponentFactory() .getComponentDescriptor(Employee.class).getPropertyDescriptor("gender"); return genderDescriptor.getIconImageURL(getComponent().getGender()); }
/** * {@inheritDoc} */ public List<String> getRenderedChildProperties(String propertyName) { List<String> childProperties = null; if (renderedChildProperties != null) { childProperties = renderedChildProperties.get(propertyName); } if (childProperties == null) { IPropertyDescriptor childPropertyDescriptor = ((IComponentDescriptorProvider<?>) getModelDescriptor()) .getComponentDescriptor().getPropertyDescriptor(propertyName); if (childPropertyDescriptor instanceof ICollectionPropertyDescriptor) { return ((ICollectionDescriptor<?>) ((ICollectionPropertyDescriptor<?>) childPropertyDescriptor) .getCollectionDescriptor()).getElementDescriptor() .getRenderedProperties(); } else if (childPropertyDescriptor instanceof IReferencePropertyDescriptor) { return ((IReferencePropertyDescriptor<?>) childPropertyDescriptor) .getReferencedDescriptor().getRenderedProperties(); } } return childProperties; }
private IValueConnector createColumnConnector(String columnId, IComponentDescriptor<?> descriptor) { IPropertyDescriptor propertyDescriptor = descriptor .getPropertyDescriptor(columnId); if (propertyDescriptor == null) { throw new ViewException("No property " + columnId + " defined for " + descriptor.getComponentContract()); } if (propertyDescriptor instanceof IReferencePropertyDescriptor) { return connectorFactory.createCompositeValueConnector(columnId, ((IReferencePropertyDescriptor<?>) propertyDescriptor) .getReferencedDescriptor().getToStringProperty()); } return connectorFactory.createValueConnector(propertyDescriptor.getName()); }
/** * Sets the columnViewDescriptors. * * @param columnViewDescriptors * the columnViewDescriptors to set. */ public void setColumnViewDescriptors( List<ISubViewDescriptor> columnViewDescriptors) { this.columnViewDescriptors = columnViewDescriptors; if (columnViewDescriptors != null) { ICollectionDescriptorProvider<?> modelDescriptor = ((ICollectionDescriptorProvider<?>) getModelDescriptor()); if (modelDescriptor != null) { IComponentDescriptor<?> rowModelDescriptor = modelDescriptor .getCollectionDescriptor().getElementDescriptor(); for (ISubViewDescriptor columnViewDescriptor : columnViewDescriptors) { columnViewDescriptor.setGrantedRoles(rowModelDescriptor .getPropertyDescriptor(columnViewDescriptor.getName()) .getGrantedRoles()); } } } }
/** * Sets the propertyViewDescriptors. * * @param propertyViewDescriptors * the propertyViewDescriptors to set. */ public void setPropertyViewDescriptors( List<ISubViewDescriptor> propertyViewDescriptors) { this.propertyViewDescriptors = propertyViewDescriptors; if (propertyViewDescriptors != null && getModelDescriptor() != null) { IComponentDescriptor<?> componentDescriptor = ((IComponentDescriptorProvider<?>) getModelDescriptor()) .getComponentDescriptor(); for (ISubViewDescriptor propertyViewDescriptor : propertyViewDescriptors) { propertyViewDescriptor.setGrantedRoles(componentDescriptor .getPropertyDescriptor(propertyViewDescriptor.getName()) .getGrantedRoles()); } } }
private IValueConnector createColumnConnector(String columnId, IComponentDescriptor<?> descriptor) { IPropertyDescriptor propertyDescriptor = descriptor .getPropertyDescriptor(columnId); if (propertyDescriptor == null) { throw new ViewException("No property " + columnId + " defined for " + descriptor.getComponentContract()); } if (propertyDescriptor instanceof IReferencePropertyDescriptor) { return connectorFactory.createCompositeValueConnector(columnId, ((IReferencePropertyDescriptor<?>) propertyDescriptor) .getReferencedDescriptor().getToStringProperty()); } return connectorFactory.createValueConnector(propertyDescriptor.getName()); }
private IValueConnector createColumnConnector(String columnId, IComponentDescriptor<?> descriptor) { IPropertyDescriptor propertyDescriptor = descriptor .getPropertyDescriptor(columnId); if (propertyDescriptor == null) { throw new ViewException("No property " + columnId + " defined for " + descriptor.getComponentContract()); } if (propertyDescriptor instanceof IReferencePropertyDescriptor) { return connectorFactory.createCompositeValueConnector(columnId, ((IReferencePropertyDescriptor<?>) propertyDescriptor) .getReferencedDescriptor().getToStringProperty()); } return connectorFactory.createValueConnector(propertyDescriptor.getName()); }
/** * Constructs a new <code>BasicWorkspaceViewDescriptor</code> instance. */ public BasicWorkspaceViewDescriptor() { BasicSimpleTreeLevelDescriptor modulesTreeLevelDescriptor = new BasicSimpleTreeLevelDescriptor(); BasicListViewDescriptor moduleNodeGroupDescriptor = new BasicListViewDescriptor(); moduleNodeGroupDescriptor .setModelDescriptor(WorkspaceDescriptor.WORKSPACE_DESCRIPTOR .getPropertyDescriptor("modules")); moduleNodeGroupDescriptor.setRenderedProperty("i18nName"); modulesTreeLevelDescriptor.setNodeGroupDescriptor(moduleNodeGroupDescriptor); modulesTreeLevelDescriptor.setChildDescriptor(new BasicModuleViewDescriptor()); setChildDescriptor(modulesTreeLevelDescriptor); setRenderedProperty("i18nName"); } }
/** * Constructs a new {@code BasicWorkspaceViewDescriptor} instance. */ public BasicWorkspaceViewDescriptor() { BasicSimpleTreeLevelDescriptor modulesTreeLevelDescriptor = new BasicSimpleTreeLevelDescriptor(); BasicListViewDescriptor moduleNodeGroupDescriptor = new BasicListViewDescriptor(); moduleNodeGroupDescriptor .setModelDescriptor(WorkspaceDescriptor.WORKSPACE_DESCRIPTOR .getPropertyDescriptor(Workspace.MODULES)); moduleNodeGroupDescriptor.setRenderedProperty(Workspace.I18N_NAME); modulesTreeLevelDescriptor .setNodeGroupDescriptor(moduleNodeGroupDescriptor); modulesTreeLevelDescriptor .setChildDescriptor(new BasicModuleViewDescriptor()); setChildDescriptor(modulesTreeLevelDescriptor); setRenderedProperty(Workspace.I18N_NAME); //Now configurable on a workspace level //setExpanded(true); } }
/** * Constructs a new {@code MobileWorkspaceViewDescriptor} instance. */ public MobileWorkspaceViewDescriptor() { BasicSimpleTreeLevelDescriptor modulesTreeLevelDescriptor = new BasicSimpleTreeLevelDescriptor(); BasicListViewDescriptor moduleNodeGroupDescriptor = new BasicListViewDescriptor(); moduleNodeGroupDescriptor .setModelDescriptor(WorkspaceDescriptor.WORKSPACE_DESCRIPTOR .getPropertyDescriptor(Workspace.MODULES)); moduleNodeGroupDescriptor.setRenderedProperty(Workspace.I18N_NAME); modulesTreeLevelDescriptor .setNodeGroupDescriptor(moduleNodeGroupDescriptor); modulesTreeLevelDescriptor .setChildDescriptor(new BasicModuleViewDescriptor()); setChildDescriptor(modulesTreeLevelDescriptor); setRenderedProperty(Workspace.I18N_NAME); } }
/** * Constructs a new <code>BasicModuleViewDescriptor</code> instance. */ public BasicModuleViewDescriptor() { descriptor = new DefaultIconDescriptor(); BasicListViewDescriptor moduleNodeGroupDescriptor = new BasicListViewDescriptor(); moduleNodeGroupDescriptor.setName(getName()); moduleNodeGroupDescriptor.setDescription(getDescription()); moduleNodeGroupDescriptor.setIconImageURL(getIconImageURL()); moduleNodeGroupDescriptor .setModelDescriptor(ModuleDescriptor.MODULE_DESCRIPTOR .getPropertyDescriptor("subModules")); moduleNodeGroupDescriptor.setRenderedProperty("i18nName"); setNodeGroupDescriptor(moduleNodeGroupDescriptor); setChildDescriptor(this); }
/** * Constructs a new {@code BasicModuleViewDescriptor} instance. */ public BasicModuleViewDescriptor() { descriptor = new DefaultIconDescriptor(); BasicListViewDescriptor moduleNodeGroupDescriptor = new BasicListViewDescriptor(); moduleNodeGroupDescriptor.setName(getName()); moduleNodeGroupDescriptor.setDescription(getDescription()); moduleNodeGroupDescriptor.setIcon(getIcon()); moduleNodeGroupDescriptor .setModelDescriptor(ModuleDescriptor.MODULE_DESCRIPTOR .getPropertyDescriptor(Module.SUB_MODULES)); moduleNodeGroupDescriptor.setRenderedProperty(Module.I18N_NAME); setNodeGroupDescriptor(moduleNodeGroupDescriptor); setChildDescriptor(this); }
private Object getTemplateValue(IPropertyDescriptor propertyDescriptor) { if (propertyDescriptor instanceof IDatePropertyDescriptor) { return getDateTemplateValue((IDatePropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof ITimePropertyDescriptor) { return getTimeTemplateValue((ITimePropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IDurationPropertyDescriptor) { return getDurationTemplateValue((IDurationPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IStringPropertyDescriptor) { return getStringTemplateValue((IStringPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IDecimalPropertyDescriptor) { return getDecimalTemplateValue((IDecimalPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IPercentPropertyDescriptor) { return getPercentTemplateValue((IPercentPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IIntegerPropertyDescriptor) { return getIntegerTemplateValue((IIntegerPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IReferencePropertyDescriptor) { return getTemplateValue(((IReferencePropertyDescriptor<?>) propertyDescriptor) .getReferencedDescriptor().getPropertyDescriptor( ((IReferencePropertyDescriptor<?>) propertyDescriptor) .getReferencedDescriptor().getToStringProperty())); } return null; }
private Object getTemplateValue(IPropertyDescriptor propertyDescriptor) { if (propertyDescriptor instanceof IDatePropertyDescriptor) { return getDateTemplateValue((IDatePropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof ITimePropertyDescriptor) { return getTimeTemplateValue((ITimePropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IDurationPropertyDescriptor) { return getDurationTemplateValue((IDurationPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IStringPropertyDescriptor) { return getStringTemplateValue((IStringPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IDecimalPropertyDescriptor) { return getDecimalTemplateValue((IDecimalPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IPercentPropertyDescriptor) { return getPercentTemplateValue((IPercentPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IIntegerPropertyDescriptor) { return getIntegerTemplateValue((IIntegerPropertyDescriptor) propertyDescriptor); } else if (propertyDescriptor instanceof IReferencePropertyDescriptor) { return getTemplateValue(((IReferencePropertyDescriptor<?>) propertyDescriptor) .getReferencedDescriptor().getPropertyDescriptor( ((IReferencePropertyDescriptor<?>) propertyDescriptor) .getReferencedDescriptor().getToStringProperty())); } return null; }
/** * Gets added element descriptor. * * @param context * the context * @return the added element descriptor */ protected IComponentDescriptor<?> getAddedElementDescriptor(Map<String, Object> context) { IComponentDescriptor<?> elementDescriptor; String collectionPropertyName = getModelDescriptor(context).getName(); Object master = getModelConnector(context).getModelProvider().getModel(); if (master instanceof IComponent) { // Component type should be refined depending on concrete master. See property translations for instance. elementDescriptor = ((ICollectionPropertyDescriptor<?>) getEntityFactory(context).getComponentDescriptor( ((IComponent) master).getComponentContract()).getPropertyDescriptor(collectionPropertyName)) .getReferencedDescriptor().getElementDescriptor(); } else { elementDescriptor = ((ICollectionPropertyDescriptor<?>) getModelDescriptor(context)).getReferencedDescriptor() .getElementDescriptor(); } return elementDescriptor; }
/** * Gets added element descriptor. * * @param context * the context * @return the added element descriptor */ protected IComponentDescriptor<?> getRemovedElementDescriptor(Map<String, Object> context) { IComponentDescriptor<?> elementDescriptor; String collectionPropertyName = getModelDescriptor(context).getName(); Object master = getModelConnector(context).getModelProvider().getModel(); if (master instanceof IComponent) { // Component type should be refined depending on concrete master. See property translations for instance. elementDescriptor = ((ICollectionPropertyDescriptor<?>) getEntityFactory(context).getComponentDescriptor( ((IComponent) master).getComponentContract()).getPropertyDescriptor(collectionPropertyName)) .getReferencedDescriptor().getElementDescriptor(); } else { elementDescriptor = ((ICollectionPropertyDescriptor<?>) getModelDescriptor(context)).getReferencedDescriptor() .getElementDescriptor(); } return elementDescriptor; } }