// Path: scene-examples/src/main/java/br/ufes/inf/lprm/scene/examples/fever/entities/Person.java
// public class Person {
// 
//     private int id;
//     private String name;
//     private Temperature temperature;
// 
//     public int getId() {
//         return id;
//     }
// 
//     public Person setId(int id) {
//         this.id = id;
//         temperature = new Temperature();
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public Person setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public Temperature getTemperature() {
//         return temperature;
//     }
// 
// }
// 
// Path: scene-core/src/main/java/br/ufes/inf/lprm/scene/model/Situation.java
// public class Situation implements br.ufes.inf.lprm.situation.model.Situation {
//     @Key
//     private String internalKey;
//     private int runningId;
//     private Activation activation;
//     private Deactivation deactivation;
//     private Boolean active;
//     private SituationType type;
//     private List<br.ufes.inf.lprm.situation.model.Participation> participations;
// 
//     public Situation(SituationType type, Activation activation, SituationCast cast, boolean active) {
// 
//         this.runningId = ((br.ufes.inf.lprm.scene.model.SituationType) type).getTypeClass().hashCode() + cast.hashCode();
//         this.type = type;
//         this.activation = activation;
//         this.active = active;
// 
//         participations = new ArrayList<>();
// 
//         for(Part part: type.getParts()) {
//             Object participant = cast.get(part.getLabel());
//             if (participant != null) {
//                 br.ufes.inf.lprm.situation.model.Participation participation = new Participation(this, part, participant);
//                 participations.add(participation);
//             }
//         }
//     }
// 
//     public Situation() {
//         this.active = true;
//         this.internalKey = UUID.randomUUID().toString();
//     }
// 
//     public Situation(SituationType type, SituationCast cast, Activation activation) {
//         this(type, activation, cast, true);
//     }
// 
//     @Override
//     public long getUID() {
//         return runningId;
//     }
// 
//     @Override
//     public SituationEvent getActivation() {
//         return activation;
//     }
// 
//     @Override
//     public SituationEvent getDeactivation() {
//         return deactivation;
//     }
// 
//     public void setDeactivation(SituationEvent deactivation) {
//         this.deactivation = (Deactivation) deactivation;
//         this.active = false;
//     }
// 
//     @Override
//     public boolean isActive() {
//         return active;
//     }
// 
//     @Override
//     public List<br.ufes.inf.lprm.situation.model.Participation> getParticipations() {
//         return participations;
//     }
// 
//     @Override
//     public SituationType getType() {
//         return type;
//     }
// 
//     public String getInternalKey() {
//         return internalKey;
//     }
// }


import org.kie.api.definition.type.Key;
import br.ufes.inf.lprm.scene.examples.fever.entities.Person;
import br.ufes.inf.lprm.scene.model.Situation;
import br.ufes.inf.lprm.situation.bindings.part;
package br.ufes.inf.lprm.scene.examples.fever.situations;


public class NoFever extends Situation {

    @Key
    @part(label = "f1")
// Path: scene-examples/src/main/java/br/ufes/inf/lprm/scene/examples/fever/entities/Person.java
// public class Person {
// 
//     private int id;
//     private String name;
//     private Temperature temperature;
// 
//     public int getId() {
//         return id;
//     }
// 
//     public Person setId(int id) {
//         this.id = id;
//         temperature = new Temperature();
//         return this;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public Person setName(String name) {
//         this.name = name;
//         return this;
//     }
// 
//     public Temperature getTemperature() {
//         return temperature;
//     }
// 
// }
// 
// Path: scene-core/src/main/java/br/ufes/inf/lprm/scene/model/Situation.java
// public class Situation implements br.ufes.inf.lprm.situation.model.Situation {
//     @Key
//     private String internalKey;
//     private int runningId;
//     private Activation activation;
//     private Deactivation deactivation;
//     private Boolean active;
//     private SituationType type;
//     private List<br.ufes.inf.lprm.situation.model.Participation> participations;
// 
//     public Situation(SituationType type, Activation activation, SituationCast cast, boolean active) {
// 
//         this.runningId = ((br.ufes.inf.lprm.scene.model.SituationType) type).getTypeClass().hashCode() + cast.hashCode();
//         this.type = type;
//         this.activation = activation;
//         this.active = active;
// 
//         participations = new ArrayList<>();
// 
//         for(Part part: type.getParts()) {
//             Object participant = cast.get(part.getLabel());
//             if (participant != null) {
//                 br.ufes.inf.lprm.situation.model.Participation participation = new Participation(this, part, participant);
//                 participations.add(participation);
//             }
//         }
//     }
// 
//     public Situation() {
//         this.active = true;
//         this.internalKey = UUID.randomUUID().toString();
//     }
// 
//     public Situation(SituationType type, SituationCast cast, Activation activation) {
//         this(type, activation, cast, true);
//     }
// 
//     @Override
//     public long getUID() {
//         return runningId;
//     }
// 
//     @Override
//     public SituationEvent getActivation() {
//         return activation;
//     }
// 
//     @Override
//     public SituationEvent getDeactivation() {
//         return deactivation;
//     }
// 
//     public void setDeactivation(SituationEvent deactivation) {
//         this.deactivation = (Deactivation) deactivation;
//         this.active = false;
//     }
// 
//     @Override
//     public boolean isActive() {
//         return active;
//     }
// 
//     @Override
//     public List<br.ufes.inf.lprm.situation.model.Participation> getParticipations() {
//         return participations;
//     }
// 
//     @Override
//     public SituationType getType() {
//         return type;
//     }
// 
//     public String getInternalKey() {
//         return internalKey;
//     }
// }


// Path: scene-examples/src/main/java/br/ufes/inf/lprm/scene/examples/fever/situations/NoFever.java
import org.kie.api.definition.type.Key;
import br.ufes.inf.lprm.scene.examples.fever.entities.Person;
import br.ufes.inf.lprm.scene.model.Situation;
import br.ufes.inf.lprm.situation.bindings.part;

package br.ufes.inf.lprm.scene.examples.fever.situations;


public class NoFever extends Situation {

    @Key
    @part(label = "f1")
    private Person nonFebrile;