blob: 1d65d4989a2ce4da8266283925af523efd6ed7b3 [file] [log] [blame]
/***********************************************************************
* Copyright (c) 2008 by SAP AG, Walldorf.
* 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:
* SAP AG - initial API and implementation
***********************************************************************/
package org.eclipse.jst.jee.ui.internal.navigator.ear;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jst.j2ee.componentcore.util.EARVirtualComponent;
import org.eclipse.jst.jee.ui.plugin.JEEUIPlugin;
import org.eclipse.jst.jee.ui.plugin.JEEUIPluginIcons;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
/**
* Ear 5 Deployment descriptor node.
*
* @author Dimitar Giormov
*
*/
public class GroupEARProvider {
private static final String PROJECT_RELATIVE_PATH = "META-INF/application.xml"; //$NON-NLS-1$
private static Image EAR_IMAGE;
private EARVirtualComponent earComponent;
private IFile ddFile;
public GroupEARProvider(EARVirtualComponent wtpComponent) {
earComponent = wtpComponent;
}
public IProject getProject() {
return earComponent.getProject();
}
public String getText() {
return "Deployment Descriptor: " + earComponent.getName(); //$NON-NLS-1$
}
public EARVirtualComponent getEARVirtualComponent() {
return this.earComponent;
}
public List getChildren() {
return null;
}
public Image getImage() {
return getEarImage();
}
public static Image getEarImage() {
if (EAR_IMAGE == null) {
ImageDescriptor imageDescriptor = JEEUIPlugin.getDefault().getImageDescriptor(JEEUIPluginIcons.EAR_IMAGE);
EAR_IMAGE = imageDescriptor.createImage();
}
return EAR_IMAGE;
}
public boolean hasChildren() {
return !getChildren().isEmpty();
}
public IFile getDDFile() {
if (ddFile != null){
return ddFile;
}
IVirtualFolder virtualFolder = ComponentCore.createComponent(getProject()).getRootFolder();
ddFile = virtualFolder.getFile(PROJECT_RELATIVE_PATH).getUnderlyingFile();
return ddFile;
}
}