/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.runtime.ui.views.content.adapter; import org.eclipse.core.runtime.IAdapterFactory; import org.teiid.designer.runtime.spi.ITeiidServer; import org.teiid.designer.runtime.ui.views.content.ITeiidResourceNode; import org.teiid.designer.runtime.ui.views.content.TeiidServerContainerNode; /** * Adapt a {@link TeiidServerContainerNode} */ public class TeiidServerContainerNodeAdapterFactory implements IAdapterFactory { @Override public Object getAdapter(Object adaptableObject, Class adapterType) { if (! (adaptableObject instanceof TeiidServerContainerNode)) return null; TeiidServerContainerNode serverContainerNode = (TeiidServerContainerNode) adaptableObject; if (ITeiidServer.class.isAssignableFrom(adapterType)) return adaptToTeiidServer(serverContainerNode); if (ITeiidResourceNode.class == adapterType) return adaptToTeiidResourceNode(serverContainerNode); return null; } /** * Adapt to a {@link ITeiidServer} * * @param serverContainerNode */ private ITeiidServer adaptToTeiidServer(TeiidServerContainerNode serverContainerNode) { return serverContainerNode.getTeiidServer(); } /** * Adapt to {@link ITeiidResourceNode} * * @param serverContainerNode * @return */ private ITeiidResourceNode adaptToTeiidResourceNode(TeiidServerContainerNode serverContainerNode) { return serverContainerNode.getContainer(); } @Override public Class[] getAdapterList() { return new Class[] { ITeiidServer.class, ITeiidResourceNode.class }; } }