aboutsummaryrefslogtreecommitdiffstats
path: root/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/Category.java
diff options
context:
space:
mode:
Diffstat (limited to 'ONAP-REST/src/main/java/org/onap/policy/rest/jpa/Category.java')
-rw-r--r--ONAP-REST/src/main/java/org/onap/policy/rest/jpa/Category.java171
1 files changed, 88 insertions, 83 deletions
diff --git a/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/Category.java b/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/Category.java
index f3874a480..d417b37db 100644
--- a/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/Category.java
+++ b/ONAP-REST/src/main/java/org/onap/policy/rest/jpa/Category.java
@@ -4,13 +4,14 @@
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* Modified Copyright (C) 2018 Samsung Electronics Co., Ltd.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -21,6 +22,11 @@
package org.onap.policy.rest.jpa;
+import com.att.research.xacml.api.Identifier;
+import com.att.research.xacml.api.XACML3;
+import com.att.research.xacml.std.IdentifierImpl;
+import com.fasterxml.jackson.annotation.JsonBackReference;
+
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
@@ -35,19 +41,20 @@ import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
-import com.att.research.xacml.api.Identifier;
-import com.att.research.xacml.api.XACML3;
-import com.att.research.xacml.std.IdentifierImpl;
-import com.fasterxml.jackson.annotation.JsonBackReference;
-
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
/**
* The persistent class for the Categories database table.
- *
+ *
*/
@Entity
-@Table(name="Category")
-@NamedQuery(name="Category.findAll", query="SELECT c FROM Category c")
+@Table(name = "Category")
+@NamedQuery(name = "Category.findAll", query = "SELECT c FROM Category c")
+@Getter
+@Setter
+@ToString
public class Category implements Serializable {
private static final long serialVersionUID = 1L;
@@ -56,26 +63,29 @@ public class Category implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
- @Column(name="id")
+ @Column(name = "id")
private int id;
- @Column(name="grouping", nullable=false, length=64)
+ @Column(name = "grouping", nullable = false, length = 64)
private String grouping;
- @Column(name="is_standard", nullable=false)
+ @Column(name = "is_standard", nullable = false)
private char isStandard;
- @Column(name="xacml_id", nullable=false, unique=true, length=255)
+ @Column(name = "xacml_id", nullable = false, unique = true, length = 255)
private String xacmlId;
- @Column(name="short_name", nullable=false, length=64)
+ @Column(name = "short_name", nullable = false, length = 64)
private String shortName;
- //bi-directional many-to-one association to Attribute
- @OneToMany(mappedBy="categoryBean")
+ // bi-directional many-to-one association to Attribute
+ @OneToMany(mappedBy = "categoryBean")
@JsonBackReference
private Set<Attribute> attributes = new HashSet<>();
+ /**
+ * Instantiates a new category.
+ */
public Category() {
this.xacmlId = XACML3.ID_SUBJECT_CATEGORY_ACCESS_SUBJECT.stringValue();
this.grouping = "subject";
@@ -83,6 +93,13 @@ public class Category implements Serializable {
this.shortName = "subject";
}
+ /**
+ * Instantiates a new category.
+ *
+ * @param cat the cat
+ * @param grouping the grouping
+ * @param isStandard the is standard
+ */
public Category(Identifier cat, String grouping, char isStandard) {
if (cat != null) {
this.xacmlId = cat.stringValue();
@@ -95,66 +112,41 @@ public class Category implements Serializable {
}
}
+ /**
+ * Instantiates a new category.
+ *
+ * @param cat the cat
+ * @param grouping the grouping
+ */
public Category(Identifier cat, String grouping) {
this(cat, grouping, Category.STANDARD);
}
+ /**
+ * Instantiates a new category.
+ *
+ * @param cat the cat
+ * @param standard the standard
+ */
public Category(Identifier cat, char standard) {
this(cat, null, standard);
}
+ /**
+ * Instantiates a new category.
+ *
+ * @param cat the cat
+ */
public Category(Identifier cat) {
this(cat, Category.STANDARD);
}
- public int getId() {
- return this.id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getGrouping() {
- return this.grouping;
- }
-
- public void setGrouping(String grouping) {
- this.grouping = grouping;
- }
-
- public char getIsStandard() {
- return this.isStandard;
- }
-
- public void setIsStandard(char isStandard) {
- this.isStandard = isStandard;
- }
-
- public String getXacmlId() {
- return this.xacmlId;
- }
-
- public void setXacmlId(String xacmlId) {
- this.xacmlId = xacmlId;
- }
-
- public String getShortName() {
- return this.shortName;
- }
-
- public void setShortName(String shortName) {
- this.shortName = shortName;
- }
-
- public Set<Attribute> getAttributes() {
- return this.attributes;
- }
-
- public void setAttributes(Set<Attribute> attributes) {
- this.attributes = attributes;
- }
-
+ /**
+ * Adds the attribute.
+ *
+ * @param attribute the attribute
+ * @return the attribute
+ */
public Attribute addAttribute(Attribute attribute) {
getAttributes().add(attribute);
attribute.setCategoryBean(this);
@@ -162,6 +154,12 @@ public class Category implements Serializable {
return attribute;
}
+ /**
+ * Removes the attribute.
+ *
+ * @param attribute the attribute
+ * @return the attribute
+ */
public Attribute removeAttribute(Attribute attribute) {
getAttributes().remove(attribute);
attribute.setCategoryBean(null);
@@ -169,30 +167,41 @@ public class Category implements Serializable {
return attribute;
}
+ /**
+ * Checks if is standard.
+ *
+ * @return true, if is standard
+ */
@Transient
public boolean isStandard() {
return this.isStandard == Category.STANDARD;
}
+ /**
+ * Checks if is custom.
+ *
+ * @return true, if is custom
+ */
@Transient
public boolean isCustom() {
return this.isStandard == Category.CUSTOM;
}
+ /**
+ * Extract grouping.
+ *
+ * @param xacmlId the xacml id
+ * @return the string
+ */
@Transient
- public static String extractGrouping(String xacmlId) {
+ public static String extractGrouping(String xacmlId) {
if (xacmlId == null) {
return null;
}
String[] parts = xacmlId.split("[:]");
- if (xacmlId.matches(".*:attribute\\-category:.*")) {
- if (parts.length > 0) {
- return parts[parts.length - 1];
- }
- } else if (xacmlId.matches(".*:[a-zA-Z]+[\\-]category:.*")) {
- if (parts.length <= 0) {
- return null;
- }
+ if (xacmlId.matches(".*:attribute\\-category:.*")) {
+ return parts[parts.length - 1];
+ } else if (xacmlId.matches(".*:[a-zA-Z]+[\\-]category:.*")) {
for (String part : parts) {
int index = part.indexOf("-category");
if (index > 0) {
@@ -203,17 +212,13 @@ public class Category implements Serializable {
return null;
}
+ /**
+ * Gets the identifer.
+ *
+ * @return the identifer
+ */
@Transient
public Identifier getIdentifer() {
return new IdentifierImpl(this.xacmlId);
}
-
- @Transient
- @Override
- public String toString() {
- return "Category [id=" + id + ", grouping=" + grouping
- + ", isStandard=" + isStandard + ", xacmlId=" + xacmlId
- + ", attributes=" + attributes + "]";
- }
-
}