/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.eclipse.services.ui.views; import org.ebayopensource.turmeric.eclipse.buildsystem.utils.PropertiesUtil; import org.ebayopensource.turmeric.eclipse.core.logging.SOALogger; import org.ebayopensource.turmeric.eclipse.repositorysystem.core.GlobalRepositorySystem; import org.ebayopensource.turmeric.eclipse.resources.model.ProjectInfo; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; /** * The Class ServicesContentProvider. * * @author smathew * * The content provider for services explorer view * @see ITreeContentProvider */ public class ServicesContentProvider implements ITreeContentProvider { /** The services. */ Object[] services = null; /** * {@inheritDoc} * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) */ @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof ProjectInfo) { ProjectInfo projectInfo = (ProjectInfo) parentElement; Object obj[] = new Object[3]; obj[0] = new ServicesViewLayerModel(projectInfo.getServiceLayer()); try { obj[1] = new ServicesViewInterfaceModel( PropertiesUtil .getInterfaceClassNameForService(projectInfo .getName())); } catch (Exception e) { SOALogger.getLogger().error(e); } obj[2] = new ServicesViewServiceModel(projectInfo.getName(), projectInfo.getVersion()); return obj; } return null; } /** * {@inheritDoc} * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) */ @Override public Object getParent(Object element) { return null; } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) */ @Override public boolean hasChildren(Object element) { return element instanceof ProjectInfo; } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object) */ @Override public Object[] getElements(Object inputElement) { try { services = GlobalRepositorySystem.instanceOf() .getActiveRepositorySystem().getAssetRegistry() .getAllAvailableServices().toArray(); } catch (Exception e) { SOALogger.getLogger().error(e); } return services; } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ @Override public void dispose() { } /** * {@inheritDoc} */ @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }