X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fdomain%2Fdb%2Ffn%2FFnMenuFunctional.java;h=0e376f7a9b88e1d2ace49fc469bfaad3310c720d;hb=ffd9af970318c1f5a0bad46d7aad5d4611414aae;hp=bfdc673d4495ff3bc70ba829cb81039ca0a881ae;hpb=7ce177cd99096772ff42ef89d8820070c687fd9b;p=portal.git diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java index bfdc673d..0e376f7a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java @@ -40,8 +40,8 @@ package org.onap.portal.domain.db.fn; -import java.util.ArrayList; -import java.util.List; +import java.io.Serializable; +import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; @@ -54,7 +54,10 @@ import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -62,6 +65,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -83,14 +87,23 @@ CREATE TABLE `fn_menu_functional` ( ) */ +@NamedQueries({ + @NamedQuery( + name = "FnMenuFunctional.retrieveByMenuId", + query = "from FnMenuFunctionalRoles where menuId =:menuId" + ) +} +) + @Table(name = "fn_menu_functional", indexes = {@Index(columnList = "parent_menu_id", name = "fk_fn_menu_func_parent_menu_id_idx") }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity -public class FnMenuFunctional { +public class FnMenuFunctional implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "menu_id", nullable = false, length = 11) @@ -104,7 +117,7 @@ public class FnMenuFunctional { @SafeHtml @NotNull private String text; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "parent_menu_id") @Valid private FnMenuFunctional parentMenuId; @@ -115,45 +128,42 @@ public class FnMenuFunctional { //TODO URL @URL private String url; - @Column(name = "active_yn", length = 1, columnDefinition = "varchar(1) default 'Y'", nullable = false) - @Pattern(regexp = "[YNyn]") - @Size(max = 1) + @Column(name = "active_yn", length = 1, columnDefinition = "boolean default true", nullable = false) @NotNull - @SafeHtml - private String activeYn; + private Boolean activeYn = true; @Column(name = "image_src", length = 100, columnDefinition = "varchar(100) default null") @Size(max = 100) @SafeHtml private String imageSrc; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinTable( name = "fn_menu_favorites", joinColumns = {@JoinColumn(name = "menu_id", referencedColumnName = "menu_id")}, - inverseJoinColumns = {@JoinColumn(name = "role_Id", referencedColumnName = "user_id")}, + inverseJoinColumns = {@JoinColumn(name = "role_Id", referencedColumnName = "id", columnDefinition = "bigint")}, indexes = { @Index(name = "sys_c0014619", columnList = "menu_id") } ) - private List fnUsers = new ArrayList<>(); + private Set fnUsers; @OneToMany( targetEntity = FnMenuFunctionalAncestors.class, mappedBy = "menuId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) - private List fnMenuFunctionalAncestorsMenuId = new ArrayList<>(); + private Set fnMenuFunctionalAncestorsMenuId; @OneToMany( targetEntity = FnMenuFunctionalAncestors.class, mappedBy = "ancestorMenuId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) - private List fnMenuFunctionalsAncestorMenuId = new ArrayList<>(); + private Set fnMenuFunctionalsAncestorMenuId; @OneToMany( targetEntity = FnMenuFunctionalRoles.class, mappedBy = "menuId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) - private List fnMenuFunctionalRoles = new ArrayList<>(); + private Set fnMenuFunctionalRoles; }