// Path: src/main/java/com/aemreunal/helper/json/JsonBuilderFactory.java
// public class JsonBuilderFactory {
//     public static JsonObjectBuilder object() {
//         return new JsonObjectBuilder();
//     }
// 
//     public static JsonArrayBuilder array() {
//         return new JsonArrayBuilder();
//     }
// }
// 
// Path: src/main/java/com/aemreunal/helper/json/JsonObjectBuilder.java
// public class JsonObjectBuilder {
//     private Map<String, Object> jsonMap = new HashMap<>();
// 
//     JsonObjectBuilder() {
//     }
// 
//     public JsonObjectBuilder add(String key, Object value) {
//         jsonMap.put(key, value);
//         return this;
//     }
// 
//     public JSONObject build() {
//         return new JSONObject(jsonMap);
//     }
// }


import net.minidev.json.JSONObject;
import java.io.Serializable;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.persistence.*;
import javax.validation.constraints.Size;
import org.springframework.hateoas.ResourceSupport;
import org.springframework.web.bind.annotation.ResponseBody;
import com.aemreunal.helper.json.JsonBuilderFactory;
import com.aemreunal.helper.json.JsonObjectBuilder;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
    @Access(AccessType.PROPERTY)
    private String description = "";
    /*
     * END: Scenario 'description' attribute
     *------------------------------------------------------------
     */

    /*
     *------------------------------------------------------------
     * BEGIN: Scenario 'project' attribute
     */
    @ManyToOne(targetEntity = Project.class,
            optional = false,
            fetch = FetchType.LAZY)
    @JoinTable(name = "projects_to_scenarios",
            joinColumns = @JoinColumn(name = "scenario_id"),
            inverseJoinColumns = @JoinColumn(name = "project_id"))
    @Access(AccessType.PROPERTY)
    private Project project;
    /*
     * END: Scenario 'project' attribute
     *------------------------------------------------------------
     */

    /*
     *------------------------------------------------------------
     * BEGIN: Scenario 'beacons list' attribute
     */
    @OneToMany(targetEntity = Beacon.class,
            mappedBy = "scenario",
// Path: src/main/java/com/aemreunal/helper/json/JsonBuilderFactory.java
// public class JsonBuilderFactory {
//     public static JsonObjectBuilder object() {
//         return new JsonObjectBuilder();
//     }
// 
//     public static JsonArrayBuilder array() {
//         return new JsonArrayBuilder();
//     }
// }
// 
// Path: src/main/java/com/aemreunal/helper/json/JsonObjectBuilder.java
// public class JsonObjectBuilder {
//     private Map<String, Object> jsonMap = new HashMap<>();
// 
//     JsonObjectBuilder() {
//     }
// 
//     public JsonObjectBuilder add(String key, Object value) {
//         jsonMap.put(key, value);
//         return this;
//     }
// 
//     public JSONObject build() {
//         return new JSONObject(jsonMap);
//     }
// }


// Path: src/main/java/com/aemreunal/domain/Scenario.java
import net.minidev.json.JSONObject;
import java.io.Serializable;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.persistence.*;
import javax.validation.constraints.Size;
import org.springframework.hateoas.ResourceSupport;
import org.springframework.web.bind.annotation.ResponseBody;
import com.aemreunal.helper.json.JsonBuilderFactory;
import com.aemreunal.helper.json.JsonObjectBuilder;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

    @Access(AccessType.PROPERTY)
    private String description = "";
    /*
     * END: Scenario 'description' attribute
     *------------------------------------------------------------
     */

    /*
     *------------------------------------------------------------
     * BEGIN: Scenario 'project' attribute
     */
    @ManyToOne(targetEntity = Project.class,
            optional = false,
            fetch = FetchType.LAZY)
    @JoinTable(name = "projects_to_scenarios",
            joinColumns = @JoinColumn(name = "scenario_id"),
            inverseJoinColumns = @JoinColumn(name = "project_id"))
    @Access(AccessType.PROPERTY)
    private Project project;
    /*
     * END: Scenario 'project' attribute
     *------------------------------------------------------------
     */

    /*
     *------------------------------------------------------------
     * BEGIN: Scenario 'beacons list' attribute
     */
    @OneToMany(targetEntity = Beacon.class,
            mappedBy = "scenario",
            fetch = FetchType.LAZY)