/*
* VerifyRuleHandler.java
*
* Created on July 17, 2003, 6:26 PM
*/
package org.jboss.tools.common.verification.vrules.handler;
import org.jboss.tools.common.verification.vrules.*;
import org.jboss.tools.common.verification.vrules.layer.VModelFactory;
import org.jboss.tools.common.model.*;
import java.util.*;
/**
*
* @author valera
*/
public class VerifyRuleHandler extends VerifyHandler {
protected VRule rule;
/** Creates a new instance of VerifyRuleHandler */
public VerifyRuleHandler() {
}
public void executeHandler(XModelObject object, Properties p) throws XModelException {
if (!isEnabled(object)) return;
VModel vmodel = VModelFactory.getModel(object.getModel());
Map<String,List<VRule>> entities = new HashMap<String,List<VRule>>();
VEntity[] ent = rule.getEntities();
for (int j = 0; j < ent.length; j++) {
String name = ent[j].getName();
List<VRule> r = entities.get(name);
if (r == null) {
r = new ArrayList<VRule>();
entities.put(name, r);
}
r.add(rule);
}
VObject vobject = vmodel.getObjectByPath(object.getPath());
check(entities, vobject, object.getModel());
}
public boolean isEnabled(XModelObject object) {
return rule != null && rule.isEnabled() &&
rule.getRuleSet().isEnabled() && rule.getAction() != null;
}
public VRule getRule() {
return rule;
}
public void setRule(VRule rule) {
this.rule = rule;
}
}