// ============================================================================ // // Copyright (C) 2006-2012 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.designer.core.model.components; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import org.eclipse.jface.resource.ImageDescriptor; import org.talend.commons.ui.runtime.image.EImage; import org.talend.commons.ui.runtime.image.ImageProvider; import org.talend.core.model.components.EComponentType; import org.talend.core.model.components.IMultipleComponentManager; import org.talend.core.model.general.ModuleNeeded; import org.talend.core.model.process.EComponentCategory; import org.talend.core.model.process.EConnectionType; import org.talend.core.model.process.EParameterFieldType; import org.talend.core.model.process.IElementParameter; import org.talend.core.model.process.INode; import org.talend.core.model.process.INodeConnector; import org.talend.core.model.process.INodeReturn; import org.talend.core.model.process.IProcess; import org.talend.core.model.temp.ECodePart; import org.talend.designer.core.model.utils.emf.talendfile.NodeType; /** * DOC talend class global comment. Detailled comment */ public class DummyComponent extends AbstractComponent { protected ImageDescriptor icon32; private NodeType nType; public DummyComponent(NodeType nType) { icon32 = ImageProvider.getImageDesc(EImage.COMPONENT_MISSING); this.nType = nType; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#canParallelize() */ public boolean canParallelize() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#createConnectors(org.talend.core.model.process.INode) */ public List<? extends INodeConnector> createConnectors(INode node) { List<INodeConnector> listConnector = new ArrayList<INodeConnector>(); INodeConnector nodeConnector; int nbInput = 0; int nbOutput = 0; for (int i = 0; i < EConnectionType.values().length; i++) { EConnectionType currentType = EConnectionType.values()[i]; if ((currentType == EConnectionType.FLOW_REF) || (currentType == EConnectionType.FLOW_MERGE)) { continue; } boolean exists = false; for (INodeConnector curNodeConn : listConnector) { if (curNodeConn.getDefaultConnectionType().equals(currentType)) { exists = true; } } if (!exists) { // will add by default all connectors not defined in // the xml files nodeConnector = new NodeConnector(node); nodeConnector.setDefaultConnectionType(currentType); nodeConnector.setName(currentType.getName()); nodeConnector.setBaseSchema(currentType.getName()); nodeConnector.addConnectionProperty(currentType, currentType.getRGB(), currentType.getDefaultLineStyle()); nodeConnector.setLinkName(currentType.getDefaultLinkName()); nodeConnector.setMenuName(currentType.getDefaultMenuName()); nodeConnector.setMaxLinkInput(0); nodeConnector.setMinLinkInput(0); nodeConnector.setMaxLinkOutput(0); nodeConnector.setMinLinkOutput(0); if (currentType == EConnectionType.FLOW_MAIN) { nodeConnector.addConnectionProperty(EConnectionType.FLOW_REF, EConnectionType.FLOW_REF.getRGB(), EConnectionType.FLOW_REF.getDefaultLineStyle()); nodeConnector.addConnectionProperty(EConnectionType.FLOW_MERGE, EConnectionType.FLOW_MERGE.getRGB(), EConnectionType.FLOW_MERGE.getDefaultLineStyle()); } listConnector.add(nodeConnector); } } INodeConnector mainConnector = null; for (INodeConnector connector : listConnector) { if (connector.getDefaultConnectionType().equals(EConnectionType.FLOW_MAIN)) { mainConnector = connector; } } return listConnector; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#createElementParameters(org.talend.core.model.process.INode) */ public List<? extends IElementParameter> createElementParameters(INode node) { List<IElementParameter> listParam = new ArrayList<IElementParameter>(); ElementParameter param = new ElementParameter(node); param.setName(EParameterName.UNIQUE_NAME.getName()); param.setValue(""); //$NON-NLS-1$ param.setDisplayName(EParameterName.UNIQUE_NAME.getDisplayName()); param.setFieldType(EParameterFieldType.TEXT); param.setCategory(EComponentCategory.MAIN); param.setNumRow(1); param.setReadOnly(true); param.setShow(true); listParam.add(param); param = new ElementParameter(node); param.setName(EParameterName.STARTABLE.getName()); param.setValue(true); param.setDisplayName("STARTABLE"); //$NON-NLS-1$ param.setFieldType(EParameterFieldType.CHECK); param.setCategory(EComponentCategory.MAIN); param.setNumRow(1); param.setReadOnly(true); param.setShow(false); listParam.add(param); param = new ElementParameter(node); param.setName(EParameterName.UPDATE_COMPONENTS.getName()); param.setValue(Boolean.TRUE); param.setDisplayName(EParameterName.UPDATE_COMPONENTS.getDisplayName()); param.setFieldType(EParameterFieldType.CLOSED_LIST); param.setCategory(EComponentCategory.BASIC); param.setNumRow(5); param.setReadOnly(true); param.setShow(false); listParam.add(param); return listParam; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#createReturns() */ public List<? extends INodeReturn> createReturns() { return new ArrayList<NodeReturn>(); } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getAvailableCodeParts() */ public List<ECodePart> getAvailableCodeParts() { return new ArrayList<ECodePart>(); } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getComponentType() */ public EComponentType getComponentType() { return EComponentType.DUMMY; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getIcon16() */ public ImageDescriptor getIcon16() { // TODO Auto-generated method stub return null; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getIcon24() */ public ImageDescriptor getIcon24() { // TODO Auto-generated method stub return null; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getIcon32() */ public ImageDescriptor getIcon32() { return icon32; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getLongName() */ public String getLongName() { return nType.getComponentName(); } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getModulesNeeded() */ public List<ModuleNeeded> getModulesNeeded() { return new ArrayList<ModuleNeeded>(); } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getMultipleComponentManagers() */ public List<IMultipleComponentManager> getMultipleComponentManagers() { return Collections.EMPTY_LIST; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getName() */ public String getName() { return nType.getComponentName(); } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getOriginalFamilyName() */ public String getOriginalFamilyName() { // TODO Auto-generated method stub return ""; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getPathSource() */ public String getPathSource() { // TODO Auto-generated method stub return null; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getPluginDependencies() */ public List<String> getPluginDependencies() { // TODO Auto-generated method stub return null; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getPluginFullName() */ public String getPluginExtension() { return null; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getTranslatedFamilyName() */ public String getTranslatedFamilyName() { // TODO Auto-generated method stub return ""; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getVersion() */ public String getVersion() { // TODO Auto-generated method stub return null; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#hasConditionalOutputs() */ public boolean hasConditionalOutputs() { return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isDataAutoPropagated() */ public boolean isDataAutoPropagated() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isHashComponent() */ public boolean isHashComponent() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isLoaded() */ public boolean isLoaded() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isMainCodeCalled() */ public boolean isMainCodeCalled() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isMultipleOutput() */ public boolean isMultipleOutput() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isMultiplyingOutputs() */ public boolean isMultiplyingOutputs() { return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isSchemaAutoPropagated() */ public boolean isSchemaAutoPropagated() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isSingleton() */ public boolean isSingleton() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isTechnical() */ public boolean isTechnical() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isVisible() */ public boolean isVisible() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isVisible(java.lang.String) */ public boolean isVisible(String family) { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#isVisibleInComponentDefinition() */ public boolean isVisibleInComponentDefinition() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#setIcon16(org.eclipse.jface.resource.ImageDescriptor) */ public void setIcon16(ImageDescriptor icon16) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#setIcon24(org.eclipse.jface.resource.ImageDescriptor) */ public void setIcon24(ImageDescriptor icon24) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#setIcon32(org.eclipse.jface.resource.ImageDescriptor) */ public void setIcon32(ImageDescriptor icon32) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#useImport() */ public boolean useImport() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#useLookup() */ public boolean useLookup() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#useMerge() */ public boolean useMerge() { // TODO Auto-generated method stub return false; } /* * (non-Javadoc) * * @see org.talend.core.model.components.IComponent#getShortName() */ public String getShortName() { return "dc"; } public String getCombine() { // TODO Auto-generated method stub return null; } public IProcess getProcess() { // TODO Auto-generated method stub return null; } public void setImageRegistry(Map<String, ImageDescriptor> imageRegistry) { // TODO Auto-generated method stub } }