package gr.grnet.aquarium.model
import javax.persistence._
+import java.util.{HashSet, Set}
@javax.persistence.Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@Column(name = "CREDITS", nullable = true)
var credits: Int = 0
+
+ @OneToMany(mappedBy = "entity", targetEntity = classOf[Permission],
+ cascade = Array(CascadeType.ALL))
+ var permissions : Set[Permission] = new HashSet[Permission]()
+
+ @OneToMany(mappedBy = "owner", targetEntity = classOf[ServiceItem],
+ cascade = Array(CascadeType.ALL))
+ var serviceItems : Set[ServiceItem] = new HashSet[ServiceItem]()
}
\ No newline at end of file
import javax.persistence._
-@Table(name = "ORGANIZATION")
+@Table(name = "PERMISSION")
@javax.persistence.Entity
class Permission extends Id {
+ @ManyToOne(cascade = Array(CascadeType.ALL),
+ targetEntity = classOf[Action])
+ @JoinColumn(name = "ACTION_ID")
var action : Action = _
+ @ManyToOne(cascade = Array(CascadeType.ALL),
+ targetEntity = classOf[Entity])
+ @JoinColumn(name = "ENTITY_ID")
var entity : Entity = _
+
+ @ManyToOne(cascade = Array(CascadeType.ALL),
+ targetEntity = classOf[Entity])
+ @JoinColumn(name = "SERVICE_ITEM_ID")
+ var item : ServiceItem = _
}
\ No newline at end of file
package gr.grnet.aquarium.model
+import java.util.{Set, HashSet}
import javax.persistence._
@javax.persistence.Entity
@Table(name = "SERVICE_ITEM")
@NamedQueries(Array(
new NamedQuery(name="allSi", query="select si from ServiceItem si"),
- new NamedQuery(name="siPerEntity", query="select si from ServiceItem ")
+ new NamedQuery(name="siPerEntity",
+ query="select si from ServiceItem si where si.owner = :owner")
))
class ServiceItem extends Id {
@Column(name = "URL")
var url : String = ""
+ @ManyToOne(cascade = Array(CascadeType.ALL),
+ targetEntity = classOf[ServiceItem])
+ @JoinColumn(name = "ENTITY_ID")
+ var owner : gr.grnet.aquarium.model.Entity = _
+
@OneToMany(mappedBy = "item", targetEntity = classOf[ServiceItemConfig],
cascade = Array(CascadeType.ALL))
- var configItems : java.util.Set[ServiceItemConfig] = new java.util.HashSet[ServiceItemConfig]()
+ var configItems : Set[ServiceItemConfig] = new HashSet[ServiceItemConfig]()
@OneToMany(mappedBy = "item", targetEntity = classOf[Bill],
cascade = Array(CascadeType.ALL))
targetEntity = classOf[ServiceTemplate])
@JoinColumn(name = "SERVICE_TEMPLATE_ID")
var template : ServiceTemplate = _
+
+ @OneToMany(mappedBy = "item", targetEntity = classOf[Permission],
+ cascade = Array(CascadeType.ALL))
+ var permissions : Set[Permission] = new HashSet[Permission]()
}
package gr.grnet.aquarium.model
import javax.persistence._
+import java.util.{Set, HashSet}
@Table(name = "SERVICE_ITEM_CONFIG")
@javax.persistence.Entity
@OneToMany(mappedBy = "item", targetEntity = classOf[RuntimeData],
cascade = Array(CascadeType.ALL))
- var runtime : java.util.Set[RuntimeData] = new java.util.HashSet[RuntimeData]()
+ var runtime : Set[RuntimeData] = new HashSet[RuntimeData]()
}
\ No newline at end of file