You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2015/08/21 13:31:22 UTC
svn commit: r1696943 - in
/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench:
./ swing/
Author: fmui
Date: Fri Aug 21 11:31:22 2015
New Revision: 1696943
URL: http://svn.apache.org/r1696943
Log:
CMIS-925: Workbench: added support for oncreate in create dialogs
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateDocumentDialog.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateFolderDialog.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateItemDialog.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreatePolicyDialog.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateRelationshipDialog.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CreateDialog.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateDocumentDialog.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateDocumentDialog.java?rev=1696943&r1=1696942&r2=1696943&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateDocumentDialog.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateDocumentDialog.java Fri Aug 21 11:31:22 2015
@@ -50,6 +50,7 @@ import javax.swing.event.DocumentListene
import org.apache.chemistry.opencmis.client.api.Document;
import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.ObjectType;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.definitions.DocumentTypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
@@ -129,12 +130,12 @@ public class CreateDocumentDialog extend
} else {
versioningStateNoneButton.setSelected(true);
}
- updateMandatoryFields(type);
+ updateMandatoryOrOnCreateFields(type);
}
});
ObjectTypeItem type = (ObjectTypeItem) typeBox.getSelectedItem();
- updateMandatoryFields(type.getObjectType());
+ updateMandatoryOrOnCreateFields(type.getObjectType());
createRow("Type:", typeBox, 2);
@@ -238,7 +239,7 @@ public class CreateDocumentDialog extend
@Override
public void actionPerformed(ActionEvent event) {
String name = nameField.getText();
- String type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType().getId();
+ ObjectType type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
String filename = filenameField.getText();
try {
@@ -256,8 +257,10 @@ public class CreateDocumentDialog extend
ObjectId objectId = null;
if (filename.length() > 0) {
// create a document from a file
- objectId = getClientModel().createDocument(name, type, filename, getMandatoryPropertyValues(),
- versioningState, unfiledButton.isSelected());
+ objectId = getClientModel()
+ .createDocument(name, type.getId(), filename,
+ getMandatoryOrOnCreatePropertyValues(type), versioningState,
+ unfiledButton.isSelected());
if (verifyAfterUploadButton.isSelected()) {
ContentStream contentStream = getClientModel().createContentStream(filename);
@@ -275,8 +278,9 @@ public class CreateDocumentDialog extend
}
}
- objectId = getClientModel().createDocument(name, type, getMandatoryPropertyValues(), length,
- seed, versioningState, unfiledButton.isSelected());
+ objectId = getClientModel().createDocument(name, type.getId(),
+ getMandatoryOrOnCreatePropertyValues(type), length, seed, versioningState,
+ unfiledButton.isSelected());
if (verifyAfterUploadButton.isSelected()) {
ContentStream contentStream = getClientModel().createContentStream("", length, seed);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateFolderDialog.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateFolderDialog.java?rev=1696943&r1=1696942&r2=1696943&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateFolderDialog.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateFolderDialog.java Fri Aug 21 11:31:22 2015
@@ -31,6 +31,7 @@ import javax.swing.JOptionPane;
import javax.swing.JTextField;
import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.ObjectType;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
import org.apache.chemistry.opencmis.workbench.icons.NewFolderIcon;
@@ -68,12 +69,12 @@ public class CreateFolderDialog extends
@Override
public void itemStateChanged(ItemEvent e) {
TypeDefinition type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
- updateMandatoryFields(type);
+ updateMandatoryOrOnCreateFields(type);
}
});
ObjectTypeItem type = (ObjectTypeItem) typeBox.getSelectedItem();
- updateMandatoryFields(type.getObjectType());
+ updateMandatoryOrOnCreateFields(type.getObjectType());
createRow("Type:", typeBox, 1);
@@ -83,12 +84,13 @@ public class CreateFolderDialog extends
@Override
public void actionPerformed(ActionEvent event) {
String name = nameField.getText();
- String type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType().getId();
+ ObjectType type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
try {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- ObjectId objectId = getClientModel().createFolder(name, type, getMandatoryPropertyValues());
+ ObjectId objectId = getClientModel().createFolder(name, type.getId(),
+ getMandatoryOrOnCreatePropertyValues(type));
if (objectId != null) {
getClientModel().loadObject(objectId.getId());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateItemDialog.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateItemDialog.java?rev=1696943&r1=1696942&r2=1696943&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateItemDialog.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateItemDialog.java Fri Aug 21 11:31:22 2015
@@ -35,6 +35,7 @@ import javax.swing.JRadioButton;
import javax.swing.JTextField;
import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.ObjectType;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
import org.apache.chemistry.opencmis.workbench.icons.NewItemIcon;
@@ -91,12 +92,12 @@ public class CreateItemDialog extends Cr
@Override
public void itemStateChanged(ItemEvent e) {
TypeDefinition type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
- updateMandatoryFields(type);
+ updateMandatoryOrOnCreateFields(type);
}
});
ObjectTypeItem type = (ObjectTypeItem) typeBox.getSelectedItem();
- updateMandatoryFields(type.getObjectType());
+ updateMandatoryOrOnCreateFields(type.getObjectType());
createRow("Type:", typeBox, 2);
@@ -106,13 +107,13 @@ public class CreateItemDialog extends Cr
@Override
public void actionPerformed(ActionEvent event) {
String name = nameField.getText();
- String type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType().getId();
+ ObjectType type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
try {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- ObjectId objectId = getClientModel().createItem(name, type, getMandatoryPropertyValues(),
- unfiledButton.isSelected());
+ ObjectId objectId = getClientModel().createItem(name, type.getId(),
+ getMandatoryOrOnCreatePropertyValues(type), unfiledButton.isSelected());
if (objectId != null) {
getClientModel().loadObject(objectId.getId());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreatePolicyDialog.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreatePolicyDialog.java?rev=1696943&r1=1696942&r2=1696943&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreatePolicyDialog.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreatePolicyDialog.java Fri Aug 21 11:31:22 2015
@@ -35,6 +35,7 @@ import javax.swing.JRadioButton;
import javax.swing.JTextField;
import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.ObjectType;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
import org.apache.chemistry.opencmis.workbench.icons.NewPolicyIcon;
@@ -92,12 +93,12 @@ public class CreatePolicyDialog extends
@Override
public void itemStateChanged(ItemEvent e) {
TypeDefinition type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
- updateMandatoryFields(type);
+ updateMandatoryOrOnCreateFields(type);
}
});
ObjectTypeItem type = (ObjectTypeItem) typeBox.getSelectedItem();
- updateMandatoryFields(type.getObjectType());
+ updateMandatoryOrOnCreateFields(type.getObjectType());
createRow("Type:", typeBox, 2);
@@ -111,13 +112,13 @@ public class CreatePolicyDialog extends
public void actionPerformed(ActionEvent event) {
String name = nameField.getText();
String policyText = policyTextField.getText();
- String type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType().getId();
+ ObjectType type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
try {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- ObjectId objectId = getClientModel().createPolicy(name, type, policyText,
- getMandatoryPropertyValues(), unfiledButton.isSelected());
+ ObjectId objectId = getClientModel().createPolicy(name, type.getId(), policyText,
+ getMandatoryOrOnCreatePropertyValues(type), unfiledButton.isSelected());
if (objectId != null) {
getClientModel().loadObject(objectId.getId());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateRelationshipDialog.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateRelationshipDialog.java?rev=1696943&r1=1696942&r2=1696943&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateRelationshipDialog.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/CreateRelationshipDialog.java Fri Aug 21 11:31:22 2015
@@ -31,6 +31,7 @@ import javax.swing.JOptionPane;
import javax.swing.JTextField;
import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.client.api.ObjectType;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
import org.apache.chemistry.opencmis.workbench.icons.NewRelationshipIcon;
@@ -70,12 +71,12 @@ public class CreateRelationshipDialog ex
@Override
public void itemStateChanged(ItemEvent e) {
TypeDefinition type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
- updateMandatoryFields(type);
+ updateMandatoryOrOnCreateFields(type);
}
});
ObjectTypeItem type = (ObjectTypeItem) typeBox.getSelectedItem();
- updateMandatoryFields(type.getObjectType());
+ updateMandatoryOrOnCreateFields(type.getObjectType());
createRow("Type:", typeBox, 1);
@@ -94,15 +95,15 @@ public class CreateRelationshipDialog ex
@Override
public void actionPerformed(ActionEvent event) {
String name = nameField.getText();
- String type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType().getId();
+ ObjectType type = ((ObjectTypeItem) typeBox.getSelectedItem()).getObjectType();
String sourceId = sourceIdField.getText();
String targetId = targetIdField.getText();
try {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
- ObjectId objectId = getClientModel().createRelationship(name, type, sourceId, targetId,
- getMandatoryPropertyValues());
+ ObjectId objectId = getClientModel().createRelationship(name, type.getId(), sourceId, targetId,
+ getMandatoryOrOnCreatePropertyValues(type));
if (objectId != null) {
getClientModel().loadObject(objectId.getId());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CreateDialog.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CreateDialog.java?rev=1696943&r1=1696942&r2=1696943&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CreateDialog.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CreateDialog.java Fri Aug 21 11:31:22 2015
@@ -22,6 +22,9 @@ import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
+import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -30,6 +33,7 @@ import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JDialog;
+import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
@@ -40,6 +44,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.PropertyType;
+import org.apache.chemistry.opencmis.commons.enums.Updatability;
import org.apache.chemistry.opencmis.workbench.ClientHelper;
import org.apache.chemistry.opencmis.workbench.WorkbenchScale;
import org.apache.chemistry.opencmis.workbench.model.ClientModel;
@@ -50,9 +55,9 @@ public abstract class CreateDialog exten
private final ClientModel model;
private final JPanel panel;
- private final JPanel mandatoryPropertiesPanel;
+ private final JPanel mandatoryOrOnCreatePropertiesPanel;
private final JPanel actionPanel;
- private final Map<String, JComponent> mandatoryProperties;
+ private final Map<String, JComponent> mandatoryOrOnCreateProperties;
public CreateDialog(Frame owner, String title, ClientModel model) {
super(owner, title, true);
@@ -63,11 +68,11 @@ public abstract class CreateDialog exten
panel.setBorder(WorkbenchScale.scaleBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)));
add(panel, BorderLayout.CENTER);
- mandatoryProperties = new HashMap<String, JComponent>();
- mandatoryPropertiesPanel = new JPanel(new GridBagLayout());
- mandatoryPropertiesPanel.setBorder(WorkbenchScale.scaleBorder(BorderFactory.createCompoundBorder(
+ mandatoryOrOnCreateProperties = new HashMap<String, JComponent>();
+ mandatoryOrOnCreatePropertiesPanel = new JPanel(new GridBagLayout());
+ mandatoryOrOnCreatePropertiesPanel.setBorder(WorkbenchScale.scaleBorder(BorderFactory.createCompoundBorder(
WorkbenchScale.scaleBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)),
- WorkbenchScale.scaleBorder(BorderFactory.createTitledBorder("Mandatory properties")))));
+ WorkbenchScale.scaleBorder(BorderFactory.createTitledBorder("Mandatory or OnCreate properties")))));
actionPanel = new JPanel();
createRow(actionPanel, 10);
@@ -145,31 +150,32 @@ public abstract class CreateDialog exten
return result;
}
- protected final void updateMandatoryFields(TypeDefinition type) {
- mandatoryProperties.clear();
- mandatoryPropertiesPanel.removeAll();
+ protected final void updateMandatoryOrOnCreateFields(TypeDefinition type) {
+ mandatoryOrOnCreateProperties.clear();
+ mandatoryOrOnCreatePropertiesPanel.removeAll();
final Map<String, PropertyDefinition<?>> propertyDefinitions = type.getPropertyDefinitions();
if (propertyDefinitions != null) {
int row = 0;
for (PropertyDefinition<?> definition : propertyDefinitions.values()) {
- if (Boolean.TRUE.equals(definition.isRequired())
+ if ((Boolean.TRUE.equals(definition.isRequired()) || Updatability.ONCREATE.equals(definition
+ .getUpdatability()))
&& !(PropertyIds.NAME.equals(definition.getId())
|| PropertyIds.OBJECT_TYPE_ID.equals(definition.getId())
|| PropertyIds.SOURCE_ID.equals(definition.getId()) || PropertyIds.TARGET_ID
.equals(definition.getId()))) {
JComponent child = createPropertyComponent(definition);
- mandatoryProperties.put(definition.getId(), child);
- createRow(mandatoryPropertiesPanel, definition.getDisplayName() + ":", child, row);
+ mandatoryOrOnCreateProperties.put(definition.getId(), child);
+ createRow(mandatoryOrOnCreatePropertiesPanel, definition.getDisplayName() + ":", child, row);
row++;
}
}
}
- if (mandatoryPropertiesPanel.getComponents().length > 0) {
- createRow(mandatoryPropertiesPanel, 9);
+ if (mandatoryOrOnCreatePropertiesPanel.getComponents().length > 0) {
+ createRow(mandatoryOrOnCreatePropertiesPanel, 9);
} else {
- panel.remove(mandatoryPropertiesPanel);
+ panel.remove(mandatoryOrOnCreatePropertiesPanel);
}
pack();
@@ -183,6 +189,23 @@ public abstract class CreateDialog exten
case BOOLEAN:
result = new JCheckBox();
break;
+ case INTEGER:
+ DecimalFormat intFormat = new DecimalFormat("#,##0");
+ intFormat.setParseBigDecimal(true);
+ intFormat.setParseIntegerOnly(true);
+ result = new JFormattedTextField(intFormat);
+ ((JFormattedTextField) result).setColumns(50);
+ break;
+ case DECIMAL:
+ DecimalFormat decFormat = new DecimalFormat("#,##0.#############################");
+ decFormat.setParseBigDecimal(true);
+ result = new JFormattedTextField(decFormat);
+ ((JFormattedTextField) result).setColumns(50);
+ break;
+ case DATETIME:
+ result = new JFormattedTextField(DateFormat.getDateTimeInstance());
+ ((JFormattedTextField) result).setColumns(50);
+ break;
default:
result = new JTextField("", 50);
break;
@@ -191,22 +214,34 @@ public abstract class CreateDialog exten
return result;
}
- protected Map<String, Object> getMandatoryPropertyValues() {
- if (mandatoryProperties.isEmpty()) {
+ protected Map<String, Object> getMandatoryOrOnCreatePropertyValues(TypeDefinition type) {
+ if (mandatoryOrOnCreateProperties.isEmpty()) {
return null;
}
Map<String, Object> result = new HashMap<String, Object>();
- for (Map.Entry<String, JComponent> component : mandatoryProperties.entrySet()) {
+ for (Map.Entry<String, JComponent> component : mandatoryOrOnCreateProperties.entrySet()) {
+ PropertyDefinition<?> propDef = type.getPropertyDefinitions().get(component.getKey());
+
Object value = null;
- if (component.getValue() instanceof JTextField) {
+ if (component.getValue() instanceof JFormattedTextField) {
+ value = ((JFormattedTextField) component.getValue()).getValue();
+
+ if (value != null) {
+ if (propDef.getPropertyType() == PropertyType.INTEGER) {
+ value = ((BigDecimal) value).toBigIntegerExact();
+ }
+ }
+ } else if (component.getValue() instanceof JTextField) {
value = ((JTextField) component.getValue()).getText();
} else if (component.getValue() instanceof JCheckBox) {
value = ((JCheckBox) component.getValue()).isSelected();
}
- result.put(component.getKey(), value);
+ if (value != null) {
+ result.put(component.getKey(), value);
+ }
}
return result;