/******************************************************************************* * Copyright (c) 2012-2016 Codenvy, S.A. * 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: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.ext.git.client.merge; import org.eclipse.che.ide.ui.tree.NodeDataAdapter; import org.eclipse.che.ide.ui.tree.TreeNodeElement; import java.util.HashMap; import java.util.List; /** * The adapter for reference node. * * @author <a href="mailto:aplotnikov@codenvy.com">Andrey Plotnikov</a> */ public class ReferenceTreeNodeDataAdapter implements NodeDataAdapter<Reference> { private HashMap<Reference, TreeNodeElement<Reference>> treeNodeElements = new HashMap<Reference, TreeNodeElement<Reference>>(); /** {@inheritDoc} */ @Override public int compare(Reference a, Reference b) { return a.getDisplayName().compareTo(b.getDisplayName()); } /** {@inheritDoc} */ @Override public boolean hasChildren(Reference data) { return data.getBranches() != null && !data.getBranches().isEmpty(); } /** {@inheritDoc} */ @Override public List<Reference> getChildren(Reference data) { return data.getBranches(); } /** {@inheritDoc} */ @Override public String getNodeId(Reference data) { return data.getFullName(); } /** {@inheritDoc} */ @Override public String getNodeName(Reference data) { return data.getDisplayName(); } /** {@inheritDoc} */ @Override public Reference getParent(Reference data) { return null; } /** {@inheritDoc} */ @Override public TreeNodeElement<Reference> getRenderedTreeNode(Reference data) { return treeNodeElements.get(data); } /** {@inheritDoc} */ @Override public void setNodeName(Reference data, String name) { // do nothing } /** {@inheritDoc} */ @Override public void setRenderedTreeNode(Reference data, TreeNodeElement<Reference> renderedNode) { treeNodeElements.put(data, renderedNode); } /** {@inheritDoc} */ @Override public Reference getDragDropTarget(Reference data) { return null; } /** {@inheritDoc} */ @Override public List<String> getNodePath(Reference data) { return null; } /** {@inheritDoc} */ @Override public Reference getNodeByPath(Reference root, List<String> relativeNodePath) { return null; } }