/******************************************************************************* * Copyright (c) 2007 Exadel, Inc. and 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: * Exadel, Inc. and Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.model.handlers; import java.text.MessageFormat; import java.util.Properties; import org.jboss.tools.common.model.*; import org.jboss.tools.common.model.filesystems.impl.*; import org.jboss.tools.common.model.util.XModelObjectLoaderUtil; import org.jboss.tools.jsf.messages.JSFUIMessages; import org.jboss.tools.jsf.web.JSFWebHelper; public class DeleteFacesConfigHandler extends DeleteFileHandler { public void executeHandler(XModelObject object, Properties p) throws XModelException { String path = XModelObjectLoaderUtil.getResourcePath(object); if(object.getModel().getByPath("FileSystems/WEB-INF" + path) == object) { //$NON-NLS-1$ path = "/WEB-INF" + path; //$NON-NLS-1$ } boolean unregister = false; if(JSFWebHelper.isRegisterFacesConfig(object.getModel(), path)) { ServiceDialog d = object.getModel().getService(); Properties pd = new Properties(); String message = MessageFormat.format(JSFUIMessages.DeleteFacesConfigHandler_DeleteFacesConfig, FileAnyImpl.toFileName(object)); pd.setProperty(ServiceDialog.DIALOG_MESSAGE, message); pd.setProperty(ServiceDialog.CHECKBOX_MESSAGE, JSFUIMessages.DeleteFacesConfigHandler_DeleteReferenceFromWebXML); pd.put(ServiceDialog.CHECKED, Boolean.TRUE); if(!d.openConfirm(pd)) return; Boolean b = (Boolean)pd.get(ServiceDialog.CHECKED); unregister = b.booleanValue(); } super.executeHandler(object, p); if(object.isActive()) return; if(unregister) { JSFWebHelper.unregisterFacesConfig(object.getModel(), path); } } public boolean getSignificantFlag(XModelObject object) { String path = XModelObjectLoaderUtil.getResourcePath(object); return !JSFWebHelper.isRegisterFacesConfig(object.getModel(), path); } }