/*******************************************************************************
* Copyright (c) 2011 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.jsf.project.facet;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
import org.eclipse.wst.common.project.facet.core.events.IProjectFacetActionEvent;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.jsf.JSFModelPlugin;
import org.jboss.tools.jsf.project.JSFNature;
import org.jboss.tools.jst.web.WebModelPlugin;
import org.jboss.tools.jst.web.kb.IKbProject;
import org.jboss.tools.jst.web.kb.internal.KbBuilder;
/**
*
* @author eskimo & Viacheslav Kabanovich
*
*/
public class JSFFacetedProjectListener implements IFacetedProjectListener {
@Override
public void handleEvent(IFacetedProjectEvent event) {
if(event.getType() == Type.PRE_INSTALL && event instanceof IProjectFacetActionEvent) {
IProject project = event.getProject().getProject();
String facetID = ((IProjectFacetActionEvent)event).getProjectFacet().getId();
if("jst.webfragment".equals(facetID) || "jst.jsf".equals(facetID)) {
try {
WebModelPlugin.addNatureToProjectWithValidationSupport(project, KbBuilder.BUILDER_ID, IKbProject.NATURE_ID);
} catch (CoreException e) {
JSFModelPlugin.getDefault().logError(e);
}
}
if("jst.jsf".equals(facetID)) {
try {
EclipseResourceUtil.addNatureToProject(project, JSFNature.NATURE_ID);
} catch (CoreException e) {
JSFModelPlugin.getDefault().logError(e);
}
}
}
}
}