/******************************************************************************* * Copyright (c) 2009 IBM Corporation and others. * 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jst.j2ee.internal.componentcore; import java.util.Iterator; import java.util.List; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.JavaCore; import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; import org.eclipse.wst.common.componentcore.internal.IModuleHandler; import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; public class JavaEEModuleHandler implements IModuleHandler { public String getArchiveName(IProject proj,IVirtualComponent comp) { if (comp != null) return JavaEEProjectUtilities.getComponentURI(comp); return proj.getName() + ".jar"; //$NON-NLS-1$ } public boolean setComponentAttributes(IProject proj) { return true; } public List<IProject> getFilteredProjectListForAdd(IVirtualComponent sourceComponent, List<IProject> availableProjects) { Iterator<IProject> i = availableProjects.iterator(); IProject p; while(i.hasNext()) { p = i.next(); if( !p.isOpen()) i.remove(); else { IProject compProject = sourceComponent.getProject(); if( p.equals(compProject)) i.remove(); else if (!isJavaProject(p)) i.remove(); } } return availableProjects; } private boolean isJavaProject(IProject project) { if (project != null) try { return project.hasNature(JavaCore.NATURE_ID); } catch (CoreException e) { org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e); } return false; } }