/******************************************************************************* * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * *******************************************************************************/ package com.liferay.ide.project.ui.migration; import com.liferay.ide.project.core.upgrade.MigrationProblems; import com.liferay.ide.project.core.upgrade.FileProblems; import com.liferay.ide.project.core.upgrade.UpgradeProblems; import org.eclipse.core.runtime.IAdapterFactory; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.model.IWorkbenchAdapter; /** * @author Gregory Amerson * @author Terry Jia */ @SuppressWarnings( { "rawtypes", "unchecked" } ) public class MigrationAdapterFactory implements IAdapterFactory, IWorkbenchAdapter { private static final Object instance = new MigrationAdapterFactory(); @Override public Object getAdapter( Object adaptableObject, Class adapterType ) { return instance; } @Override public Class[] getAdapterList() { return new Class[] { FileProblems.class, UpgradeProblems.class, ProblemsContainer.class }; } @Override public Object[] getChildren( Object o ) { return null; } @Override public ImageDescriptor getImageDescriptor( Object element ) { if( element instanceof FileProblems ) { return ImageDescriptor.createFromImage( PlatformUI.getWorkbench().getSharedImages().getImage( ISharedImages.IMG_OBJ_FILE ) ); } else if( element instanceof ProblemsContainer ) { return ImageDescriptor.createFromImage( PlatformUI.getWorkbench().getSharedImages().getImage( ISharedImages.IMG_OBJ_FOLDER ) ); } else if( element instanceof UpgradeProblems ) { return ImageDescriptor.createFromImage( PlatformUI.getWorkbench().getSharedImages().getImage( org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT ) ); } return null; } @Override public String getLabel( Object element ) { if( element instanceof FileProblems ) { FileProblems fp = (FileProblems) element; return fp.getFile().getName(); } else if( element instanceof UpgradeProblems ) { if( element instanceof MigrationProblems ) { MigrationProblems cp = (MigrationProblems) element; return cp.getSuffix(); } else { UpgradeProblems lp = (UpgradeProblems) element; return lp.getType(); } } else if( element instanceof ProblemsContainer ) { return ( (ProblemsContainer) element ).getType(); } return null; } @Override public Object getParent( Object o ) { return null; } }