// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/Situation.java
// public interface Situation {
// 
//     public long getUID();
//     public SituationEvent getActivation();
//     public SituationEvent getDeactivation();
//     public void setDeactivation(SituationEvent deactivation);
//     public boolean isActive();
//     public List<? extends Participation> getParticipations();
//     public SituationType getType();
// }


import br.ufes.inf.lprm.situation.model.Situation;
import org.drools.core.base.ValueType;
import org.drools.core.common.EventFactHandle;
import org.drools.core.common.InternalFactHandle;
package br.ufes.inf.lprm.scene.base.evaluators.implementation;


/**
 * Created by hborjaille on 9/7/16.
 */

public class BeforeEvaluator extends org.drools.core.base.evaluators.BeforeEvaluatorDefinition.BeforeEvaluator {

    public BeforeEvaluator(ValueType type,
                           boolean isNegated,
                           long[] parameters,
                           String paramText,
                           boolean unwrapLeft,
                           boolean unwrapRight) {
        super( type,
                isNegated,
                parameters,
                paramText,
                unwrapLeft,
                unwrapRight );
    }

    @Override
    protected long getLeftTimestamp( InternalFactHandle handle ) {
        Object obj = handle.getObject();
// Path: situation-model/src/main/java/br/ufes/inf/lprm/situation/model/Situation.java
// public interface Situation {
// 
//     public long getUID();
//     public SituationEvent getActivation();
//     public SituationEvent getDeactivation();
//     public void setDeactivation(SituationEvent deactivation);
//     public boolean isActive();
//     public List<? extends Participation> getParticipations();
//     public SituationType getType();
// }


// Path: scene-core/src/main/java/br/ufes/inf/lprm/scene/base/evaluators/implementation/BeforeEvaluator.java
import br.ufes.inf.lprm.situation.model.Situation;
import org.drools.core.base.ValueType;
import org.drools.core.common.EventFactHandle;
import org.drools.core.common.InternalFactHandle;

package br.ufes.inf.lprm.scene.base.evaluators.implementation;


/**
 * Created by hborjaille on 9/7/16.
 */

public class BeforeEvaluator extends org.drools.core.base.evaluators.BeforeEvaluatorDefinition.BeforeEvaluator {

    public BeforeEvaluator(ValueType type,
                           boolean isNegated,
                           long[] parameters,
                           String paramText,
                           boolean unwrapLeft,
                           boolean unwrapRight) {
        super( type,
                isNegated,
                parameters,
                paramText,
                unwrapLeft,
                unwrapRight );
    }

    @Override
    protected long getLeftTimestamp( InternalFactHandle handle ) {
        Object obj = handle.getObject();
        if (obj instanceof Situation) {