/******************************************************************************* * Copyright (c) 2012 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.cdi.xml.beans.model.handlers; import java.util.Properties; import org.jboss.tools.common.meta.XChild; import org.jboss.tools.common.meta.action.impl.DefaultWizardDataValidator; import org.jboss.tools.common.meta.action.impl.SpecialWizardSupport; import org.jboss.tools.common.meta.action.impl.WizardDataValidator; import org.jboss.tools.common.meta.action.impl.handlers.DefaultCreateHandler; import org.jboss.tools.common.model.XModelException; import org.jboss.tools.common.model.XModelObject; import org.jboss.tools.common.model.util.FindObjectHelper; import org.jboss.tools.common.model.util.XModelObjectLoaderUtil; public class AddIncludeSupport extends SpecialWizardSupport { @Override public void action(String name) throws XModelException { if(FINISH.equals(name)) { execute(); setFinished(true); } else if(CANCEL.equals(name)) { setFinished(true); } else if(HELP.equals(name)) { help(); } } protected void execute() throws XModelException { Properties p0 = extractStepData(0); boolean include = "include".equals(p0.getProperty("kind")); String entity = getObjectEntity(include); XModelObject object = XModelObjectLoaderUtil.createValidObject(getTarget().getModel(), entity, p0); DefaultCreateHandler.addCreatedObject(getTarget(), object, FindObjectHelper.EVERY_WHERE); } String getObjectEntity(boolean include) { XChild[] cs = getTarget().getModelEntity().getChildren(); String search = include ? "Include" : "Exclude"; for (XChild c: cs) { String name = c.getName(); if(name.indexOf(search) >= 0) { return name; } } return null; } // protected DefaultWizardDataValidator validator = new Validator(); // // public WizardDataValidator getValidator(int step) { // validator.setSupport(this, step); // return validator; // } // // class Validator extends DefaultWizardDataValidator { // public void validate(Properties data) { // boolean isRegEx = "true".equals(data.getProperty("is regular expression")); // String nameValue = data.getProperty("name/pattern"); // String nameAttr = isRegEx ? "pattern" : "name"; // data.setProperty(nameAttr, nameValue); // super.validate(data); // } // // } }