diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/PageflowLinkPropertySource.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/PageflowLinkPropertySource.java | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/PageflowLinkPropertySource.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/PageflowLinkPropertySource.java deleted file mode 100644 index e3c1f304a..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/PageflowLinkPropertySource.java +++ /dev/null @@ -1,189 +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.pageflow.properties; - -import java.util.Iterator; -import java.util.List; -import java.util.Vector; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EReference; -import org.eclipse.jface.viewers.CellEditor; -import org.eclipse.jface.viewers.ICellEditorValidator; -import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.PageflowMessages; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.Pageflow; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowElement; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPackage; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.PageflowValidation; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.views.properties.IPropertyDescriptor; -import org.eclipse.ui.views.properties.PropertyDescriptor; -import org.eclipse.ui.views.properties.TextPropertyDescriptor; - -/** - * The property source for Pageflow Link. - * - * @author hmeng - */ - -public class PageflowLinkPropertySource extends PageflowElementPropertySource { - - /** - * @param element - */ - public PageflowLinkPropertySource(PageflowElement element) { - super(element); - } - - public Object getPropertyValue(Object id) { - Object result = super.getPropertyValue(id); - if (Integer.parseInt((String) id) == PageflowPackage.PF_LINK__SOURCE - || Integer.parseInt((String) id) == PageflowPackage.PF_LINK__TARGET) { - result = ((PageflowPage) result).getPath(); - } - return result; - } - - public void setPropertyValue(Object id, Object value) { - if (Integer.parseInt((String) id) == PageflowPackage.PF_LINK__SOURCE) { - ((PageflowLink) element).setSourcePath((String) value); - - } else if (Integer.parseInt((String) id) == PageflowPackage.PF_LINK__TARGET) { - ((PageflowLink) element).setTargetPath((String) value); - } else { - super.setPropertyValue(id, value); - } - } - - public IPropertyDescriptor[] getPropertyDescriptors() { - // property descriptors - List propertyDescriptors = new Vector(); - - Iterator it; - EClass cls = element.eClass(); - - it = cls.getEAllAttributes().iterator(); - while (it.hasNext()) { - EAttribute attr = (EAttribute) it.next(); - if (attr.isID() - || attr.getName().equalsIgnoreCase(PAGEFLOW_NAME) - || attr.getName().equalsIgnoreCase(PAGEFLOW_COMMENT) - || attr.getFeatureID() == PageflowPackage.PAGEFLOW__REFERENCE_LINK) { - continue; - } - - EDataType type = attr.getEAttributeType(); - if (type.getInstanceClass() == String.class) { - PropertyDescriptor propertyDescriptor; - - propertyDescriptor = new TextPropertyDescriptor(Integer - .toString(attr.getFeatureID()), - getString(attr.getName())); - - if (propertyDescriptor != null) { - propertyDescriptor - .setLabelProvider(new PageflowLabelProvider()); - propertyDescriptors.add(propertyDescriptor); - } - - } else if (type.getInstanceClass() == boolean.class) { - PropertyDescriptor propertyDescriptor; - propertyDescriptor = getBooleanTypePropertyDescriptor(attr); - propertyDescriptor.setLabelProvider(new BooleanLabelProvider()); - propertyDescriptors.add(propertyDescriptor); - } - } - it = cls.getEReferences().iterator(); - while (it.hasNext()) { - EReference attr = (EReference) it.next(); - if (attr.getFeatureID() == PageflowPackage.PF_LINK__SOURCE - || attr.getFeatureID() == PageflowPackage.PF_LINK__TARGET) { - - PropertyDescriptor propertyDescriptor; - - propertyDescriptor = getExistingPagePathPropertyDescriptor(attr); - - if (propertyDescriptor != null) { - propertyDescriptor - .setLabelProvider(new PageflowLabelProvider()); - propertyDescriptors.add(propertyDescriptor); - } - } - } - - return (IPropertyDescriptor[]) propertyDescriptors - .toArray(new IPropertyDescriptor[] {}); - } - - /** - * The link's ends can be modified to another page existing in current pageflow. - * @param attr - * @return - */ - private PropertyDescriptor getExistingPagePathPropertyDescriptor( - EReference attr) { - PropertyDescriptor propertyDescriptor = new PropertyDescriptor(Integer - .toString(attr.getFeatureID()), getString(attr.getName())) { - public CellEditor createPropertyEditor(Composite parent) { - CellEditor editor = new ExistingPagePathDialogCellEditor( - parent, (Pageflow) element.eContainer()); - if (getValidator() != null) { - editor.setValidator(getValidator()); - } - return editor; - } - - /** - * Returns the input validator for editing the property. - * - * @return the validator used to verify correct values for this - * property, or <code>null</code> - */ - protected ICellEditorValidator getValidator() { - return new ICellEditorValidator() { - public String isValid(Object value) { - if (value != null) { - if (!PageflowValidation.getInstance() - .isExistedPage( - ((Pageflow) element.eContainer()), - (String) value)) { - // Pageflow.PageflowEditor.Alert.DNDResourceTitle - // = Pageflow Creation Error - // Pageflow.PageflowEditor.Alert.ExistingPage = - // The web page {0} is already existed in - // current PageFlow. - EditorPlugin.getAlerts().info(PageflowMessages.PageflowLinkPropertySource_Title, - PageflowMessages.PageflowLinkPropertySource_Text); - // "Pageflow.PageflowEditor.Alert.DNDResourceTitle", - // "Pageflow.PageflowEditor.Alert.ExistingPage", - // (String) value); - - return EditorPlugin - .getResourceString("Pageflow.PageflowEditor.Alert.ExistingPage"); //$NON-NLS-1$ - } - } - return null; - } - - }; - } - - }; - return propertyDescriptor; - } - -} |