/******************************************************************************* * Copyright (c) 2010 SAP AG. * 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: * Emil Simeonov - initial API and implementation. * Dimitar Donchev - initial API and implementation. * Dimitar Tenev - initial API and implementation. * Nevena Manova - initial API and implementation. * Georgi Konstantinov - initial API and implementation. *******************************************************************************/ package org.eclipse.wst.sse.sieditor.ui.v2.wsdltree.nodes; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.eclipse.swt.graphics.Image; import org.eclipse.wst.sse.sieditor.model.wsdl.api.IDescription; import org.eclipse.wst.sse.sieditor.ui.Activator; import org.eclipse.wst.sse.sieditor.ui.v2.wsdl.controller.SIFormPageController; public class ImportedServicesNode extends AbstractWsdlTreeNode { private SIFormPageController siFormPageController = null; public ImportedServicesNode(final IDescription description, final SIFormPageController siFormPageController) { super(description, null, siFormPageController.getTreeNodeMapper(), CATEGORY_STATIC_ROOT); this.siFormPageController = siFormPageController; } @Override public Object[] getChildren() { final IDescription description = (IDescription) getModelObject(); final Collection<IDescription> referencedServices = description.getReferencedServices(); final List<ImportedServiceNode> nodes = new ArrayList<ImportedServiceNode>(); for (final IDescription referredDescription : referencedServices) { ImportedServiceNode descriptionNode = null; if (getNodeMapper().getTreeNode(referredDescription) instanceof ImportedServiceNode) { descriptionNode = (ImportedServiceNode) getNodeMapper().getTreeNode(referredDescription); } else { descriptionNode = new ImportedServiceNode(referredDescription, this, siFormPageController); getNodeMapper().addToNodeMap(referredDescription, descriptionNode); } nodes.add(descriptionNode); } return nodes.toArray(); } @Override public Image getImage() { return getImageRegistry().get(Activator.NODE_IMPORTED_TYPES); } }