/*******************************************************************************
* 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.hibernate.xml.model.handlers;
import org.jboss.tools.common.meta.XAttribute;
import org.jboss.tools.common.meta.XModelEntity;
import org.jboss.tools.common.meta.action.impl.handlers.DefaultRemoveHandler;
import org.jboss.tools.common.model.XModelException;
import org.jboss.tools.common.model.XModelObject;
import org.jboss.tools.common.model.project.ext.store.XMLStoreConstants;
import org.jboss.tools.hibernate.xml.model.impl.ComplexAttrUtil;
public class DeletePropertyHandler extends DefaultRemoveHandler {
public DeletePropertyHandler() {}
public void executeHandler(XModelObject object, java.util.Properties p) throws XModelException {
String name = object.getAttributeValue(XMLStoreConstants.ATTR_NAME);
XAttribute attr = ComplexAttrUtil.findComplexAttr(object.getParent(), name);
if(attr != null) {
XModelEntity entity = attr.getModelEntity();
XModelObject c = object.getParent().getChildByPath(entity.getAttribute(XMLStoreConstants.ATTR_NAME).getDefaultValue());
if(c != null) {
c.getModel().editObjectAttribute(c, attr.getName(), "");
}
} else {
super.executeHandler(object, p);
}
}
}