Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/AddEditManagedPropertyDialog.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/AddEditManagedPropertyDialog.java530
1 files changed, 0 insertions, 530 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/AddEditManagedPropertyDialog.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/AddEditManagedPropertyDialog.java
deleted file mode 100644
index b54adc43d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/AddEditManagedPropertyDialog.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.facesconfig.ui.dialog;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ClassButtonDialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ComboDialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IStringButtonAdapter;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.LayoutUtil;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.StringButtonDialogField;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigFactory;
-import org.eclipse.jst.jsf.facesconfig.emf.ListEntriesType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedBeanType;
-import org.eclipse.jst.jsf.facesconfig.emf.ManagedPropertyType;
-import org.eclipse.jst.jsf.facesconfig.emf.MapEntriesType;
-import org.eclipse.jst.jsf.facesconfig.ui.EditorMessages;
-import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
-import org.eclipse.jst.jsf.facesconfig.ui.IFacesConfigConstants;
-import org.eclipse.jst.jsf.facesconfig.ui.section.AbstractFacesConfigSection;
-import org.eclipse.jst.jsf.facesconfig.ui.util.JavaBeanProperty;
-import org.eclipse.jst.jsf.facesconfig.ui.util.JavaBeanUtils;
-import org.eclipse.jst.jsf.facesconfig.ui.util.JavaClassUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The dialog is for adding and editing managed property.
- *
- * @author sfshi
- *
- */
-public class AddEditManagedPropertyDialog extends Dialog {
-
- private static final int MIN_DIALOG_WIDTH = 300;
-
- private static final int DEFAULT_CONTROL_WIDTH = 200;
-
- private ComboDialogField nameField;
-
- private ClassButtonDialogField classField;
-
- private ComboDialogField valueTypeField;
-
- private StringButtonDialogField valueField;
-
- private IProject project;
-
- private String propertyName;
-
- private String propertyClass;
-
- private String valueType;
-
- /**
- * the value could be a string, or instance of <code>NullValueType</code>,
- * <code>MapEntriesType</code> and <code>ListEntriesType</code>.
- */
- private Object valueObject;
-
- private ManagedBeanType managedBean;
-
- /**
- * the list of this bean properties.
- */
- private List beanPropertyList;
-
- /**
- * the managed-property object that is editing, but it will be read-only.
- */
- private ManagedPropertyType managedProperty;
-
- // private FormToolkit toolkit;
-
- private Composite parent;
-
- private static final String[] valueTypes = { IFacesConfigConstants.VALUE,
- IFacesConfigConstants.NULL_VALUE,
- IFacesConfigConstants.MAP_ENTRIES,
- IFacesConfigConstants.LIST_ENTRIES };
-
- private boolean isNew;
-
- private AbstractFacesConfigSection section;
-
- /**
- * constructor for adding a managed property.
- *
- * @param parentShell
- * @param managedBean
- * @param section
- */
- public AddEditManagedPropertyDialog(Shell parentShell,
- ManagedBeanType managedBean, AbstractFacesConfigSection section) {
- super(parentShell);
- this.isNew = true;
- this.managedBean = managedBean;
- this.section = section;
- }
-
- /**
- *
- * @param parentShell
- * @param managedProperty
- * @param section
- */
- public AddEditManagedPropertyDialog(Shell parentShell,
- ManagedPropertyType managedProperty, AbstractFacesConfigSection section) {
- super(parentShell);
- this.isNew = false;
- this.managedProperty = managedProperty;
- this.managedBean = (ManagedBeanType) managedProperty.eContainer();
- this.section = section;
- }
-
- /*
- * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
- */
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- if (isNew)
- newShell.setText(EditorMessages.AddEditManagedPropertyDialog_Add);
- else
- newShell.setText(EditorMessages.AddEditManagedPropertyDialog_Edit);
- }
-
- /*
- * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
- */
- protected Control createDialogArea(Composite parent_) {
- Composite container = new Composite(parent_, SWT.FILL);
- this.parent = container;
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginWidth = layout.marginHeight = 5;
- container.setLayout(layout);
- GridData gd = new GridData(GridData.FILL_BOTH);
- container.setLayoutData(gd);
-
- nameField = new ComboDialogField(SWT.DROP_DOWN | SWT.READ_ONLY
- | SWT.BORDER);
- nameField.setLabelText(EditorMessages.ManagedBeanPropertyEditDialog_PropertyName);
-
- int propertyCount = 0;
- beanPropertyList = getBeanPropertyList(managedBean);
- if (beanPropertyList != null)
- propertyCount = beanPropertyList.size();
-
- if (propertyCount > 0) {
- String[] propertyNames = new String[propertyCount];
-
- for (int i = 0; i < propertyCount; i++) {
- JavaBeanProperty property = (JavaBeanProperty) beanPropertyList
- .get(i);
- propertyNames[i] = property.getName();
- }
- nameField.setItems(propertyNames);
- }
-
- nameField.setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- handleNameSelection(((ComboDialogField) field).getText());
- }
- });
-
- classField = new ClassButtonDialogField(null);
- classField.setProject(getProject());
- classField.setLabelText(EditorMessages.ManagedBeanPropertyEditDialog_PropertyClass);
-
- valueTypeField = new ComboDialogField(SWT.DROP_DOWN | SWT.READ_ONLY
- | SWT.BORDER);
- valueTypeField.setLabelText(EditorMessages.ManagedBeanPropertyEditDialog_ValueType);
-
- valueTypeField.setItems(valueTypes);
- valueTypeField
- .setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- updateValueStatus();
- }
- });
-
- valueField = new StringButtonDialogField(new IStringButtonAdapter() {
- public void changeControlPressed(DialogField field) {
- handleChangeValue(valueTypeField.getText(),
- ((StringButtonDialogField) field).getText());
- }
-
- });
-
- valueField.setLabelText(EditorMessages.ManagedBeanPropertyEditDialog_Value);
- valueField.setButtonLabel(EditorMessages.UI_Button_Edit_more);
-
- valueField.setDialogFieldApplyListener(new IDialogFieldApplyListener() {
-
- public void dialogFieldApplied(DialogField field) {
- valueObject = ((StringButtonDialogField) field).getText();
-
- }
- });
-
- GridData data = new GridData(GridData.FILL_BOTH);
- container.setLayoutData(data);
-
- int numberOfColumns = 5;
- GridLayout gl = new GridLayout(numberOfColumns, false);
- container.setLayout(gl);
-
- nameField.doFillIntoGrid(null, container, numberOfColumns);
- LayoutUtil.setWidthHint(nameField.getComboControl(null, container),
- DEFAULT_CONTROL_WIDTH);
-
- classField.doFillIntoGrid(null, container, numberOfColumns - 1);
- data = new GridData(SWT.FILL, SWT.CENTER, false, false);
- data.horizontalSpan = 2;
- classField.getChangeControl(null, container).setLayoutData(data);
- LayoutUtil.setWidthHint(classField.getTextControl(null, container),
- DEFAULT_CONTROL_WIDTH);
-
- valueTypeField.doFillIntoGrid(null, container, numberOfColumns);
-
- valueField.doFillIntoGrid(null, container, numberOfColumns);
-
- LayoutUtil.setHorizontalGrabbing(classField.getTextControl(null,
- container));
-
- valueTypeField.selectItem(0);
-
- if (!isNew && managedProperty != null) {
- initFields();
- }
-
- return container;
- }
-
- private void initFields() {
-
- if (managedProperty.getPropertyName() != null)
- nameField.setText(managedProperty.getPropertyName()
- .getTextContent());
-
- if (managedProperty.getPropertyClass() != null)
- classField.setText(managedProperty.getPropertyClass()
- .getTextContent());
-
- if (managedProperty.getValue() != null) {
- valueTypeField.setText(valueTypes[0]);
- valueField.setText(managedProperty.getValue().getTextContent());
- } else if (managedProperty.getNullValue() != null)
- valueTypeField.setText(valueTypes[1]);
- else if (managedProperty.getMapEntries() != null)
- valueTypeField.setText(valueTypes[2]);
- else if (managedProperty.getListEntries() != null)
- valueTypeField.setText(valueTypes[3]);
- else
- valueTypeField.setText(valueTypes[0]);
- updateValueStatus();
- }
-
- /**
- * @param text
- */
- protected void handleNameSelection(String text) {
- int propertyCount = 0;
- if (beanPropertyList != null)
- propertyCount = beanPropertyList.size();
-
- if (propertyCount > 0) {
- for (int i = 0; i < propertyCount; i++) {
- JavaBeanProperty property = (JavaBeanProperty) beanPropertyList
- .get(i);
-
- if (property.getName().equals(text.trim())) {
- classField.setText(property.getQualifiedType());
- break;
- }
- }
- }
-
- }
-
- private void updateValueStatus() {
- if (valueField == null) {
- return;
- }
- valueObject = null;
- if (valueTypeField.getText().equalsIgnoreCase(
- IFacesConfigConstants.NULL_VALUE)) {
- valueField.setEnabled(false);
- valueObject = FacesConfigFactory.eINSTANCE.createNullValueType();
- } else if (valueTypeField.getText().equalsIgnoreCase(
- IFacesConfigConstants.MAP_ENTRIES)
- || valueTypeField.getText().equalsIgnoreCase(
- IFacesConfigConstants.LIST_ENTRIES)) {
- valueField.getTextControl(null, parent).setEditable(false);
- valueField.setEnabled(true);
- } else {
-
- valueObject = valueField.getText(); //Bug 173831
- valueField.getTextControl(null, parent).setEditable(true);
- valueField.setEnabled(true);
- }
- }
-
- /**
- * @param valueType_
- * @param value
- */
- protected void handleChangeValue(String valueType_, String value) {
- if (valueType_.equalsIgnoreCase(IFacesConfigConstants.VALUE)) {
- handleChangeLongStringValue(value);
- } else if (valueType_
- .equalsIgnoreCase(IFacesConfigConstants.MAP_ENTRIES)) {
- handleChangeMapEntries();
- } else if (valueType_
- .equalsIgnoreCase(IFacesConfigConstants.LIST_ENTRIES)) {
- handleChangeListEntries();
- }
- }
-
- /**
- * @param textControl
- */
- private void handleChangeLongStringValue(String value) {
- EditValueDialog valueDialog = new EditValueDialog(EditorPlugin
- .getActiveShell(), value);
- if (valueDialog.open() == Window.OK) {
- valueField.setText((String) valueDialog.getResultData());
- valueObject = valueDialog.getResultData();
- }
- }
-
- /**
- *
- */
- private void handleChangeMapEntries() {
-
- MapEntriesType mapEntries;
-
- if (valueObject instanceof MapEntriesType)
- mapEntries = (MapEntriesType) valueObject;
- else if (isNew || managedProperty.getMapEntries() == null) {
- mapEntries = FacesConfigFactory.eINSTANCE.createMapEntriesType();
- } else {
- mapEntries = EcoreUtil.copy(managedProperty
- .getMapEntries());
- }
-
- EditMapEntriesDialog dialog = new EditMapEntriesDialog(EditorPlugin
- .getActiveShell(), mapEntries, section);
- if (dialog.open() == Dialog.OK) {
- valueObject = dialog.getMapEntries();
- } else {
- //user cancel the dialog, then restore.
- if (!isNew && managedProperty.getMapEntries() != null)
- valueObject = EcoreUtil.copy(managedProperty
- .getMapEntries());
- // else
- // valueObject = null;
- }
- }
-
- private void handleChangeListEntries() {
- ListEntriesType listEntries;
-
- if (valueObject instanceof ListEntriesType)
- listEntries = (ListEntriesType) valueObject;
- else if (isNew || managedProperty.getListEntries() == null) {
- listEntries = FacesConfigFactory.eINSTANCE.createListEntriesType();
- } else {
- listEntries = EcoreUtil.copy(managedProperty
- .getListEntries());
- }
-
- EditListEntriesDialog dialog = new EditListEntriesDialog(EditorPlugin
- .getActiveShell(), listEntries, section);
- if (dialog.open() == Dialog.OK) {
- valueObject = dialog.getListEntries();
- } else {
- //user cancel the dialog, then restore.
- if (!isNew && managedProperty.getListEntries() != null)
- valueObject = EcoreUtil.copy(managedProperty
- .getListEntries());
- // else
- // valueObject = null;
- }
- }
-
- /**
- * Get a list of JavaBeanProperty that from the managed bean class.
- *
- * @return
- */
- private List getBeanPropertyList(ManagedBeanType managedBean_) {
- if (managedBean_.getManagedBeanClass() == null)
- return null;
- String beanClassName = managedBean_.getManagedBeanClass()
- .getTextContent();
- IType classType = JavaClassUtils.getType(getProject(), beanClassName);
- if (classType == null) {
- return null;
- }
- List list = new ArrayList();
- JavaBeanProperty[] properties = JavaBeanUtils
- .getBeanProperties(classType);
- if (properties != null) {
- for (int i = 0; i < properties.length; i++) {
- list.add(properties[i]);
- }
- }
- return list;
- }
-
- /*
- * @see org.eclipse.jface.window.Window#getInitialSize()
- */
- protected Point getInitialSize() {
- Point shellSize = super.getInitialSize();
- return new Point(Math.max(
- convertHorizontalDLUsToPixels(MIN_DIALOG_WIDTH), shellSize.x),
- shellSize.y);
- }
-
- /**
- * @return the project
- */
- public IProject getProject() {
- if (project == null) {
- project = (IProject) section.getPage().getEditor().getAdapter(
- IProject.class);
- }
- return project;
- }
-
- /**
- *
- */
- protected void okPressed() {
- propertyName = nameField.getText();
- propertyClass = classField.getText();
- valueType = valueTypeField.getText();
-
- super.okPressed();
- }
-
- /**
- * @return the property class
- */
- public String getPropertyClass() {
- return propertyClass;
- }
-
- /**
- * @param attributeClass
- */
- public void setAttributeClass(String attributeClass) {
- this.propertyClass = attributeClass;
- }
-
- /**
- * @return the property name
- */
- public String getPropertyName() {
- return propertyName;
- }
-
- /**
- * @param attributeName
- */
- public void setAttributeName(String attributeName) {
- this.propertyName = attributeName;
- }
-
- /**
- * @return the value type
- */
- public String getValueType() {
- return valueType;
- }
-
- /**
- * @param defaultValue
- */
- public void setValueType(String defaultValue) {
- this.valueType = defaultValue;
- }
-
- /**
- * @param project
- */
- public void setProject(IProject project) {
- this.project = project;
- }
-
- /**
- * @return the value object
- */
- public Object getValueObject() {
- return valueObject;
- }
-
- /**
- * @param valueObject
- */
- public void setValueObject(Object valueObject) {
- this.valueObject = valueObject;
- }
-
-}

Back to the top