blob: 4d4e691b1e83f13f9cc71f12c1b8936cfc412727 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2012, 2013, 2014 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
*
* @author Bob Brodt
******************************************************************************/
package org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.validation.validators;
import java.util.Iterator;
import org.eclipse.bpmn2.BusinessRuleTask;
import org.eclipse.bpmn2.modeler.core.validation.validators.AbstractBpmn2ElementValidator;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecore.util.FeatureMap;
import org.eclipse.emf.validation.IValidationContext;
public class BusinessRuleTaskValidator extends AbstractBpmn2ElementValidator<BusinessRuleTask> {
/**
* @param ctx
*/
public BusinessRuleTaskValidator(IValidationContext ctx) {
super(ctx);
}
/* (non-Javadoc)
* @see org.eclipse.bpmn2.modeler.core.validation.validators.AbstractBpmn2ElementValidator#validate(org.eclipse.bpmn2.BaseElement)
*/
@Override
public IStatus validate(BusinessRuleTask object) {
Iterator<FeatureMap.Entry> iter = object.getAnyAttribute().iterator();
boolean hasRuleflowGroup = false;
while (iter.hasNext()) {
FeatureMap.Entry entry = iter.next();
if (entry.getEStructuralFeature().getName().equals("ruleFlowGroup")) { //$NON-NLS-1$
String ruleflowGroup = (String) entry.getValue();
if (ruleflowGroup!=null && !ruleflowGroup.isEmpty()) {
hasRuleflowGroup = true;
break;
}
}
}
if (!hasRuleflowGroup) {
addMissingFeatureStatus(object,"ruleFlowGroup",Status.ERROR); //$NON-NLS-1$
}
return getResult();
}
}