diff options
Diffstat (limited to 'ecomp-sdk/epsdk-domain/src/main/java/org')
34 files changed, 5640 insertions, 0 deletions
diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/App.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/App.java new file mode 100644 index 00000000..9735844e --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/App.java @@ -0,0 +1,225 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +/** + * Represents a row in the FN_APP table in the EP_SDK database. (A nearly + * identical table is defined in Portal database.) + * + * @version 1.0 + */ +public class App extends DomainVo { + + private static final long serialVersionUID = 3465979916929796990L; + + // superclass defines Id + private String name; // app_name + private String imageUrl; // app_image_url + private String description; // app_description + private String notes; // app_notes + private String url; // app_url + private String alternateUrl; // app_alternate_url + private String restEndpoint; // app_rest_endpoint + private String mlAppName; // ml_app_name + private String mlAppAdminId; // ml_app_admin_id + private String motsId; // mots_id + private String appPassword; // app_password + private String open; + private String enabled; + private byte[] thumbnail; + private String username; // app_username + private String uebKey; // ueb_key + private String uebSecret; // ueb_secret + private String uebTopicName; // ueb_topic_name + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAppPassword() { + return appPassword; + } + + public void setAppPassword(String appPassword) { + this.appPassword = appPassword; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getAlternateUrl() { + return alternateUrl; + } + + public void setAlternateUrl(String alternateUrl) { + this.alternateUrl = alternateUrl; + } + + public String getRestEndpoint() { + return restEndpoint; + } + + public void setRestEndpoint(String restEndpoint) { + this.restEndpoint = restEndpoint; + } + + public String getMlAppName() { + return mlAppName; + } + + public void setMlAppName(String mlAppName) { + this.mlAppName = mlAppName; + } + + public String getMlAppAdminId() { + return mlAppAdminId; + } + + public void setMlAppAdminId(String mlAppAdminId) { + this.mlAppAdminId = mlAppAdminId; + } + + public String getMotsId() { + return motsId; + } + + public void setMotsId(String motsId) { + this.motsId = motsId; + } + + public String getOpen() { + return open; + } + + public void setOpen(String open) { + this.open = open; + } + + public String getEnabled() { + return enabled; + } + + public void setEnabled(String enabled) { + this.enabled = enabled; + } + + public byte[] getThumbnail() { + return this.thumbnail; + } + + public void setThumbnail(byte[] thumbnail) { + this.thumbnail = thumbnail; + } + + public String getUebKey() { + return uebKey; + } + + public void setUebKey(String uebKey) { + this.uebKey = uebKey; + } + + public String getUebSecret() { + return uebSecret; + } + + public void setUebSecret(String uebSecret) { + this.uebSecret = uebSecret; + } + + public String getUebTopicName() { + return uebTopicName; + } + + public void setUebTopicName(String uebTopicName) { + this.uebTopicName = uebTopicName; + } + + /** + * Answers true if the objects have the same ID. + */ + @Override + public int compareTo(Object obj) { + Long c1 = getId(); + Long c2 = ((App) obj).getId(); + return c1.compareTo(c2); + } +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/AuditLog.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/AuditLog.java new file mode 100644 index 00000000..7fd1b356 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/AuditLog.java @@ -0,0 +1,128 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.util.Date; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +public class AuditLog extends DomainVo { + + /** + * + */ + private static final long serialVersionUID = 1L; + public static final String CD_ACTIVITY_LOGIN = "login"; + public static final String CD_ACTIVITY_LOGOUT = "logout"; + public static final String CD_ACTIVITY_MOBILE_LOGIN = "mobile_login"; + public static final String CD_ACTIVITY_MOBILE_LOGOUT = "mobile_logout"; + + /*-------Profile activities -----------*/ + public static final String CD_ACTIVITY_ROLE_ADD = "add_role"; + public static final String CD_ACTIVITY_ROLE_REMOVE = "remove_role"; + public static final String CD_ACTIVITY_CHILD_ROLE_ADD = "add_child_role"; + public static final String CD_ACTIVITY_CHILD_ROLE_REMOVE = "remove_child_role"; + public static final String CD_ACTIVITY_ROLE_ADD_FUNCTION = "add_role_function"; + public static final String CD_ACTIVITY_ROLE_REMOVE_FUNCTION = "remove_role_function"; + public static final String CD_ACTIVITY_USER_ROLE_ADD = "add_user_role"; + public static final String CD_ACTIVITY_USER_ROLE_REMOVE = "remove_user_role"; + + /* Audit activities */ + public static final String CD_ACTIVITY_FUNCTIONAL_ACCESS = "functional_access"; + public static final String CD_ACTIVITY_TAB_ACCESS = "tab_access"; + public static final String CD_ACTIVITY_APP_ACCESS = "app_access"; + public static final String CD_ACTIVITY_LEFT_MENU_ACCESS = "left_menu_access"; + + private String activityCode; + private String affectedRecordId; + private String comments; + private Date auditDate; + private Long userId; + + public AuditLog() { + setCreated(new Date()); + } + + public AuditLog(String activityCode, String affectedRecordId, String comments, Long userId){ + this.activityCode = activityCode; + this.affectedRecordId = affectedRecordId; + this.comments = comments; + this.userId = userId; + setCreated(new Date()); + } + public String getActivityCode() { + return activityCode; + } + + public String getComments() { + return comments; + } + + public String getAffectedRecordId() { + return affectedRecordId; + } + + public void setActivityCode(String activityCode) { + this.activityCode = activityCode; + } + + public void setComments(String comments) { + this.comments = comments; + } + + public void setAffectedRecordId(String affectedRecordId) { + this.affectedRecordId = affectedRecordId; + } + + public Date getAuditDate() { + return auditDate; + } + + public void setAuditDate(Date auditDate) { + this.auditDate = auditDate; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/BroadcastMessage.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/BroadcastMessage.java new file mode 100644 index 00000000..8dca7e0e --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/BroadcastMessage.java @@ -0,0 +1,135 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.util.Date; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +public class BroadcastMessage extends DomainVo { + + private static final long serialVersionUID = 1L; + + public static final String ID_MESSAGE_LOCATION_LOGIN = "10"; + public static final String ID_MESSAGE_LOCATION_WELCOME = "20"; + + private String messageText; + private Integer locationId; + private Date startDate; + private Date endDate; + private Integer sortOrder; + private Boolean active; + private String siteCd; + + public Boolean getActive() { + return active; + } + + public Date getEndDate() { + return endDate; + } + + public Integer getLocationId() { + return locationId; + } + + public String getMessageText() { + return messageText; + } + + public Integer getSortOrder() { + return sortOrder; + } + + public Date getStartDate() { + return startDate; + } + + public String getSiteCd() { + return siteCd; + } + + public void setActive(Boolean active) { + this.active = active; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } + + public void setLocationId(Integer locationId) { + this.locationId = locationId; + } + + public void setMessageText(String messageText) { + this.messageText = messageText; + } + + public void setSortOrder(Integer sortOrder) { + this.sortOrder = sortOrder; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public void setSiteCd(String siteCd) { + this.siteCd = siteCd; + } + + @Override + public int compareTo(Object obj) { + Integer c1 = getLocationId(); + Integer c2 = ((BroadcastMessage) obj).getLocationId(); + + if (c1.compareTo(c2) == 0) { + c1 = getSortOrder(); + c2 = ((BroadcastMessage) obj).getSortOrder(); + + if (c1.compareTo(c2) == 0) { + Long c3 = getId(); + Long c4 = ((BroadcastMessage) obj).getId(); + + return c3.compareTo(c4); + } + } + + return c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/DomainVo.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/DomainVo.java new file mode 100644 index 00000000..afdddabf --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/DomainVo.java @@ -0,0 +1,186 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.util.Date; +import java.util.HashSet; +import java.util.Set; + +/* Super class from which all data objects descend + * + * @deprecated per Sunder T on 3 June 2016: + * + * Yes, we need to get rid of domain.DomainVO and fold all the references to the support.DomainVO. + */ +@SuppressWarnings("rawtypes") +@Deprecated +public class DomainVo extends FusionVo implements Serializable, Cloneable, Comparable { + + private static final long serialVersionUID = 1L; + protected Long id; + protected Date created; + protected Date modified; + protected Long createdId; + protected Long modifiedId; + protected Long rowNum; + + protected Serializable auditUserId; + + Set auditTrail = null; + + public void setId(Long i) { + id = i; + } + + public void setCreated(Date created) { + this.created = created; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public void setCreatedId(Long createdId) { + this.createdId = createdId; + } + + public void setModifiedId(Long modifiedId) { + this.modifiedId = modifiedId; + } + + public void setAuditUserId(Serializable auditUserId) { + this.auditUserId = auditUserId; + } + + public void setRowNum(Long rowNum) { + this.rowNum = rowNum; + } + + public void setAuditTrail(Set auditTrail) { + this.auditTrail = auditTrail; + } + + public Long getId() { + return id; + } + + public Date getCreated() { + return created; + } + + public Date getModified() { + return modified; + } + + public Long getCreatedId() { + return createdId; + } + + public Long getModifiedId() { + return modifiedId; + } + + public Serializable getAuditUserId() { + return auditUserId; + } + + public Long getRowNum() { + return rowNum; + } + + public Set getAuditTrail() { + return auditTrail; + } + + @SuppressWarnings("unchecked") + public void addAuditTrailLog(AuditLog auditLog) { + if (getAuditTrail() == null) { + setAuditTrail(new HashSet()); + } + + getAuditTrail().add(auditLog); + } + + public Object copy() { + return copy(false); + } + + public Object copy(boolean isIdNull) { + // let's create a "copy" of the object using serialization + ByteArrayOutputStream baos = null; + ByteArrayInputStream bais = null; + ObjectOutputStream oos = null; + ObjectInputStream ois = null; + + DomainVo newVo = null; + + try { + + baos = new ByteArrayOutputStream(); + oos = new ObjectOutputStream(baos); + oos.writeObject(this); + + bais = new ByteArrayInputStream(baos.toByteArray()); + ois = new ObjectInputStream(bais); + newVo = (DomainVo) ois.readObject(); + + if (isIdNull) { + newVo.setId(null); + } + + } catch (Exception e) { + e.printStackTrace(); + } + + return newVo; + } + + @Override + public int compareTo(Object obj) { + Long c1 = getId(); + Long c2 = ((DomainVo) obj).getId(); + + return (c1 == null || c2 == null) ? 1 : c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FnMenu.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FnMenu.java new file mode 100644 index 00000000..f940aa4a --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FnMenu.java @@ -0,0 +1,182 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +/** + * <p> + * RoleFunction.java + * </p> + * + * <p> + * Represents a role function data object. + * </p> + * + * @version 1.0 + */ +public class FnMenu extends DomainVo { + + private static final long serialVersionUID = 1L; + + private Integer menuId; + private String label; + private Integer parentId; + private String action; + private String functionCd; + private Integer sortOrder; + private String servlet; + private String queryString; + private String externalUrl; + private String target; + private String active; + private String separator; + private String imageSrc; + private String menuSetCode; + + public Integer getMenuId() { + return menuId; + } + + public void setMenuId(Integer menuId) { + this.menuId = menuId; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public Integer getParentId() { + return parentId; + } + + public void setParentId(Integer parentId) { + this.parentId = parentId; + } + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getFunctionCd() { + return functionCd; + } + + public void setFunctionCd(String functionCd) { + this.functionCd = functionCd; + } + + public Integer getSortOrder() { + return sortOrder; + } + + public void setSortOrder(Integer sortOrder) { + this.sortOrder = sortOrder; + } + + public String getServlet() { + return servlet; + } + + public void setServlet(String servlet) { + this.servlet = servlet; + } + + public String getQueryString() { + return queryString; + } + + public void setQueryString(String queryString) { + this.queryString = queryString; + } + + public String getExternalUrl() { + return externalUrl; + } + + public void setExternalUrl(String externalUrl) { + this.externalUrl = externalUrl; + } + + public String getTarget() { + return target; + } + + public void setTarget(String target) { + this.target = target; + } + + public String getActive() { + return active; + } + + public void setActive(String active) { + this.active = active; + } + + public String getSeparator() { + return separator; + } + + public void setSeparator(String separator) { + this.separator = separator; + } + + public String getImageSrc() { + return imageSrc; + } + + public void setImageSrc(String imageSrc) { + this.imageSrc = imageSrc; + } + + public String getMenuSetCode() { + return menuSetCode; + } + + public void setMenuSetCode(String menuSetCode) { + this.menuSetCode = menuSetCode; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FusionObject.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FusionObject.java new file mode 100644 index 00000000..820bc180 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FusionObject.java @@ -0,0 +1,122 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +/** + * <p> + * Title: FusionObject + * </p> + * + * <p> + * Description: This interface is implemented by all top-level support classes + * of each package in FUSION. This allows all top-level support classes to have + * some commonality for easier maintenance. + * </p> + */ +public interface FusionObject { + + /** + * Inner class provides static constants to any class that implements the + * interface. + */ + public class Parameters { + + private Parameters() { + // Static content only + } + + // HashMap parameters passed to the Service and Dao tiers + public static final String PARAM_USERID = "userId"; + public static final String PARAM_HTTP_REQUEST = "request"; + public static final String PARAM_FILTERS = "filters"; + public static final String PARAM_CLIENT_DEVICE = "client_device"; + // Request parameters passed in the Web tier + public static final String REQUEST_PARAM_DISPLAY_SUCCESS_MESSAGE = "display_success_message"; + } + + /** + * Inner class provides static utility functions to any class that implements + * the interface. + */ + public class Utilities { + + private Utilities() { + // Static content only + } + + /** + * nvl - replaces a string value with an empty string if null. + * + * @param s + * String - the string value that needs to be checked + * @return String - returns the original string value if not null. Otherwise an + * empty string ("") is returned. + */ + public static String nvl(String s) { + return s == null ? "" : s; + } + + /** + * nvl - replaces a string value with a default value if null or empty. + * + * @param s + * String - the string value that needs to be checked + * @param sDefault + * String - the default value + * @return String - returns the original string value if not null nor empty. + * Otherwise the default value is returned. + */ + public static String nvl(String s, String sDefault) { + return "".equals(nvl(s)) ? sDefault : s; + } + + /** + * Tests the specified string for nullity. + * + * @param a + * String to test for nullity. + * @return True if the specified string is null, empty or the 4-character + * sequence "null" (ignoring case); otherwise false. + */ + public static boolean isNull(String a) { + return a == null || a.length() == 0 || a.equalsIgnoreCase("null"); + } + + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FusionVo.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FusionVo.java new file mode 100644 index 00000000..21bf5151 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/FusionVo.java @@ -0,0 +1,44 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +public class FusionVo implements FusionObject { + public FusionVo() { + // No-argument constructor + } +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LoginBean.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LoginBean.java new file mode 100644 index 00000000..4ff4e484 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LoginBean.java @@ -0,0 +1,212 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.util.Set; + +import org.onap.portalsdk.core.domain.support.FusionCommand; + +@SuppressWarnings("rawtypes") +public class LoginBean extends FusionCommand { + + private String loginId; + private String loginPwd; + private String hrid; + private String orgUserId; + private String siteAccess; + private String loginErrorMessage; + + private User user; + private Set menu; + private Set businessDirectMenu; + + /** + * getLoginId + * + * @return String + */ + public String getLoginId() { + return loginId; + } + + /** + * getLoginPwd + * + * @return String + */ + public String getLoginPwd() { + return loginPwd; + } + + /** + * getMenu + * + * @return Set + */ + public Set getMenu() { + return menu; + } + + /** + * getUser + * + * @return User + */ + public User getUser() { + return user; + } + + /** + * getHrid + * + * @return String + */ + public String getHrid() { + return hrid; + } + + /** + * getSiteAccess + * + * @return String + */ + public String getSiteAccess() { + return siteAccess; + } + + /** + * getBusinessDirectMenu + * + * @return Set + */ + public Set getBusinessDirectMenu() { + return businessDirectMenu; + } + + /** + * getLoginErrorMessage + * + * @return String + */ + public String getLoginErrorMessage() { + return loginErrorMessage; + } + + public String getOrgUserId() { + return orgUserId; + } + + /** + * setLoginId + * + * @param loginId + * String + */ + public void setLoginId(String loginId) { + this.loginId = loginId; + } + + /** + * setLoginPwd + * + * @param loginPwd + * String + */ + public void setLoginPwd(String loginPwd) { + this.loginPwd = loginPwd; + } + + public void setMenu(Set menu) { + this.menu = menu; + } + + /** + * setUser + * + * @param user + * User + */ + public void setUser(User user) { + this.user = user; + } + + /** + * setHrid + * + * @param hrid + * String + */ + public void setHrid(String hrid) { + this.hrid = hrid; + } + + /** + * setSiteAccess + * + * @param siteAccess + * String + */ + public void setSiteAccess(String siteAccess) { + this.siteAccess = siteAccess; + } + + /** + * setBusinessDirectMenu + * + * @param businessDirectMenu + * Set + */ + public void setBusinessDirectMenu(Set businessDirectMenu) { + this.businessDirectMenu = businessDirectMenu; + } + + /** + * setLoginErrorMessage + * + * @param loginErrorMessage + * String + */ + public void setLoginErrorMessage(String loginErrorMessage) { + this.loginErrorMessage = loginErrorMessage; + } + + public void setOrgUserId(String orgUserId) { + this.orgUserId = orgUserId; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Lookup.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Lookup.java new file mode 100644 index 00000000..de324c75 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Lookup.java @@ -0,0 +1,99 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.io.Serializable; +import java.util.Objects; + +import org.onap.portalsdk.core.domain.support.NameValueId; + +public class Lookup extends FusionVo implements Serializable { + + private static final long serialVersionUID = 1L; + private NameValueId nameValueId = new NameValueId(); + + public Lookup() { + super(); + } + + public Lookup(String label, String value) { + this(); + setLabel(label); + setValue(value); + } + + public String getValue() { + return getNameValueId().getVal(); + } + + public String getLabel() { + return getNameValueId().getLab(); + } + + public void setValue(String value) { + getNameValueId().setVal(value); + } + + public void setLabel(String label) { + getNameValueId().setLab(label); + } + + public NameValueId getNameValueId() { + return nameValueId; + } + + public void setNameValueId(NameValueId nameValueId) { + this.nameValueId = nameValueId; + } + + // required by ZK for to set the selectedItems of Listboxes (used heavily for + // <select>-style drop-downs) + @Override + public int hashCode() { + return Objects.hash(getValue(), getLabel()); + } + + @Override + public boolean equals(Object obj) { + if (obj == null || !(obj instanceof Lookup)) + return false; + Lookup lookup = (Lookup) obj; + return Objects.equals(lookup.getValue(), getValue()) && Objects.equals(lookup.getLabel(), getLabel()); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuCountry.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuCountry.java new file mode 100644 index 00000000..0f7ab654 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuCountry.java @@ -0,0 +1,95 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +/** + * + * <p> + * Represents a country data object. + * </p> + * + * @version 1.0 + */ +public class LuCountry extends DomainVo { + + private static final long serialVersionUID = 1L; + private String abbr; + private String country; + private String fullName; + private String webphoneCountryLabel; + + public String getCountry() { + return country; + } + + public String getAbbr() { + return abbr; + } + + public void setCountry(String country) { + this.country = country; + } + + public void setAbbr(String abbr) { + this.abbr = abbr; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getWebphoneCountryLabel() { + return webphoneCountryLabel; + } + + public void setWebphoneCountryLabel(String webphoneCountryLabel) { + this.webphoneCountryLabel = webphoneCountryLabel; + } + + @Override + public int compareTo(Object obj) { + String c1 = getCountry(); + String c2 = ((LuCountry) obj).getCountry(); + return c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuState.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuState.java new file mode 100644 index 00000000..75a233be --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuState.java @@ -0,0 +1,78 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +/** + * <p> + * Represents a state data object. + * </p> + * + * @version 1.0 + */ +public class LuState extends DomainVo { + + private static final long serialVersionUID = 1L; + + private String abbr; + private String state; + + public String getState() { + return state; + } + + public String getAbbr() { + return abbr; + } + + public void setState(String state) { + this.state = state; + } + + public void setAbbr(String abbr) { + this.abbr = abbr; + } + + @Override + public int compareTo(Object obj) { + String c1 = getState(); + String c2 = ((LuState) obj).getState(); + + return c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuTimeZone.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuTimeZone.java new file mode 100644 index 00000000..addbed67 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/LuTimeZone.java @@ -0,0 +1,89 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +/** + * <p> + * LuTimeZone.java + * </p> + * + * <p> + * Represents a LuTimeZone data object. + * </p> + * + * @version 1.0 + */ +public class LuTimeZone extends DomainVo { + + private static final long serialVersionUID = 1L; + private String name; + private Long timezoneId; + private String value; + + public String getName() { + return name; + } + + public String getValue() { + return value; + } + + public void setName(String name) { + this.name = name; + } + + public void setValue(String value) { + this.value = value; + } + + public Long getTimezoneId() { + return timezoneId; + } + + public void setTimezoneId(Long timezoneId) { + this.timezoneId = timezoneId; + } + + @Override + public int compareTo(Object obj) { + Long c1 = getId(); + Long c2 = ((LuTimeZone) obj).getId(); + return c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Menu.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Menu.java new file mode 100644 index 00000000..11a93b3e --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Menu.java @@ -0,0 +1,173 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +public class Menu extends DomainVo { + + private static final long serialVersionUID = 1L; + + private String menuLevel; + private String label; + private Long parentId; + private String action; + private String functionCd; + private Short sortOrder; + private String servlet; + private String queryString; + private String externalUrl; + private String target; + private boolean active; + private String menuSetCode; + private boolean separator; + private String imageSrc; + + public String getAction() { + return action; + } + + public boolean isActive() { + return active; + } + + public String getExternalUrl() { + return externalUrl; + } + + public String getFunctionCd() { + return functionCd; + } + + public String getLabel() { + return label; + } + + public String getMenuLevel() { + return menuLevel; + } + + public Long getParentId() { + return parentId; + } + + public String getQueryString() { + return queryString; + } + + public String getServlet() { + return servlet; + } + + public Short getSortOrder() { + return sortOrder; + } + + public String getTarget() { + return target; + } + + public String getMenuSetCode() { + return menuSetCode; + } + + public void setAction(String action) { + this.action = action; + } + + public void setActive(boolean active) { + this.active = active; + } + + public void setExternalUrl(String externalUrl) { + this.externalUrl = externalUrl; + } + + public void setFunctionCd(String functionCd) { + this.functionCd = functionCd; + } + + public void setLabel(String label) { + this.label = label; + } + + public void setMenuLevel(String menuLevel) { + this.menuLevel = menuLevel; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public void setQueryString(String queryString) { + this.queryString = queryString; + } + + public void setServlet(String servlet) { + this.servlet = servlet; + } + + public void setSortOrder(Short sortOrder) { + this.sortOrder = sortOrder; + } + + public void setTarget(String target) { + this.target = target; + } + + public void setMenuSetCode(String menuSetCode) { + this.menuSetCode = menuSetCode; + } + + public boolean isSeparator() { + return separator; + } + + public void setSeparator(boolean separator) { + this.separator = separator; + } + + public String getImageSrc() { + return imageSrc; + } + + public void setImageSrc(String imageSrc) { + this.imageSrc = imageSrc; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/MenuData.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/MenuData.java new file mode 100644 index 00000000..09f9ff41 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/MenuData.java @@ -0,0 +1,87 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.util.Set; +import java.util.TreeSet; + +public class MenuData extends Menu { + + private static final long serialVersionUID = 1L; + private MenuData parentMenu; + private Set childMenus = new TreeSet(); + + public MenuData() { + } + + public Set getChildMenus() { + return childMenus; + } + + public void setChildMenus(Set childMenus) { + this.childMenus = childMenus; + } + + public MenuData getParentMenu() { + return parentMenu; + } + + public void setParentMenu(MenuData parentMenu) { + this.parentMenu = parentMenu; + } + + public String getActiveAsString() { + return String.valueOf(isActive()); + } + + public String getParentIdAsString() { + return String.valueOf(getParentId()); + } + + public String getSeparatorAsString() { + return String.valueOf(isSeparator()); + } + + @Override + public int compareTo(Object obj) { + Short c1 = getSortOrder(); + Short c2 = ((MenuData) obj).getSortOrder(); + return (c1 == null || c2 == null) ? 1 : ((c1.compareTo(c2) == 0) ? 1 : c1.compareTo(c2)); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Profile.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Profile.java new file mode 100644 index 00000000..20200ce8 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Profile.java @@ -0,0 +1,110 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +public class Profile extends DomainVo { + + private static final long serialVersionUID = 3409056457412656883L; + + private Long id; + private String first_name; + private String last_name; + private String email; + private String orgManagerUserId; + private String active_yn; + private String orgUserId; + + @Override + public Long getId() { + return id; + } + + @Override + public void setId(Long id) { + this.id = id; + } + + public String getFirst_name() { + return first_name; + } + + public void setFirst_name(String first_name) { + this.first_name = first_name; + } + + public String getLast_name() { + return last_name; + } + + public void setLast_name(String last_name) { + this.last_name = last_name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getOrgManagerUserId() { + return orgManagerUserId; + } + + public void setOrgManagerUserId(String orgManagerUserId) { + this.orgManagerUserId = orgManagerUserId; + } + + public String getActive_yn() { + return active_yn; + } + + public void setActive_yn(String active_yn) { + this.active_yn = active_yn; + } + + public String getOrgUserId() { + return orgUserId; + } + + public void setOrgUserId(String orgUserId) { + this.orgUserId = orgUserId; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Role.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Role.java new file mode 100644 index 00000000..dee82c9e --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/Role.java @@ -0,0 +1,185 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.util.Iterator; +import java.util.Set; +import java.util.TreeSet; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +/** + * <p> + * Role.java + * </p> + * <p> + * Represents a role data object. + * </p> + * + * @version 1.0 + */ +public class Role extends DomainVo { + + private static final long serialVersionUID = 1L; + private String name; + private boolean active; + private Integer priority; + + private Set roleFunctions = new TreeSet(); + private Set childRoles = new TreeSet(); + @JsonIgnore + private Set parentRoles = new TreeSet(); + + public String getName() { + return name; + } + + public boolean getActive() { + return active; + } + + public Set getRoleFunctions() { + return roleFunctions; + } + + public Integer getPriority() { + return priority; + } + + public Set getChildRoles() { + return childRoles; + } + + public Set getParentRoles() { + return parentRoles; + } + + public void setName(String name) { + this.name = name; + } + + public void setActive(boolean active) { + this.active = active; + } + + public void setRoleFunctions(Set roleFunctions) { + this.roleFunctions = roleFunctions; + } + + public void setPriority(Integer priority) { + this.priority = priority; + } + + public void setChildRoles(Set childRoles) { + this.childRoles = childRoles; + } + + public void setParentRoles(Set parentRoles) { + this.parentRoles = parentRoles; + } + + @SuppressWarnings("unchecked") + public void addRoleFunction(RoleFunction roleFunction) { + this.roleFunctions.add(roleFunction); + } + + @SuppressWarnings("unchecked") + public void addChildRole(Role role) { + this.childRoles.add(role); + } + + @SuppressWarnings("unchecked") + public void addParentRole(Role role) { + this.parentRoles.add(role); + } + + public String getEditUrl() { + return "/role.htm?role_id=" + getId(); + } + + public String getToggleActiveImage() { + return "/static/fusion/images/" + (getActive() ? "active.png" : "inactive.png"); + } + + public String getToggleActiveAltText() { + return getActive() ? "Click to Deactivate Role" : "Click to Activate Role"; + } + + public void removeChildRole(Long roleId) { + Iterator i = this.childRoles.iterator(); + while (i.hasNext()) { + Role childRole = (Role) i.next(); + if (childRole.getId().equals(roleId)) { + this.childRoles.remove(childRole); + break; + } + } + } + + public void removeParentRole(Long roleId) { + Iterator i = this.parentRoles.iterator(); + while (i.hasNext()) { + Role parentRole = (Role) i.next(); + if (parentRole.getId().equals(roleId)) { + this.parentRoles.remove(parentRole); + break; + } + } + } + + public void removeRoleFunction(String roleFunctionCd) { + Iterator i = this.roleFunctions.iterator(); + while (i.hasNext()) { + RoleFunction roleFunction = (RoleFunction) i.next(); + if (roleFunction.getCode().equals(roleFunctionCd)) { + this.roleFunctions.remove(roleFunction); + break; + } + } + } + + @Override + public int compareTo(Object obj) { + String c1 = getName(); + String c2 = ((Role) obj).getName(); + return (c1 == null || c2 == null) ? 1 : c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/RoleFunction.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/RoleFunction.java new file mode 100644 index 00000000..98da488f --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/RoleFunction.java @@ -0,0 +1,113 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +/** + * <p> + * RoleFunction.java + * </p> + * + * <p> + * Represents a role function data object. + * </p> + * + * @version 1.0 + */ +public class RoleFunction extends DomainVo { + + private static final long serialVersionUID = 1L; + private String code; + private String name; + private String type; + private String action; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getName() { + return name; + } + + public String getCode() { + return code; + } + + public void setName(String name) { + this.name = name; + } + + public void setCode(String code) { + this.code = code; + } + + @JsonIgnore + public String getEditUrl() { + return "/role_function.htm?role_function_id=" + getCode(); + } + + @Override + public int compareTo(Object obj) { + String c1 = getName(); + String c2 = ((RoleFunction) obj).getName(); + return (c1 == null || c2 == null) ? 1 : c1.compareTo(c2); + } + + @Override + public String toString() { + return "RoleFunction [code=" + code + ", name=" + name + ", type=" + type + ", action=" + action + "]"; + } + + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UrlsAccessible.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UrlsAccessible.java new file mode 100644 index 00000000..ba9e4654 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UrlsAccessible.java @@ -0,0 +1,95 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.io.Serializable; +import java.util.Objects; + +public class UrlsAccessible extends FusionVo implements Serializable { + + private static final long serialVersionUID = 1L; + private UrlsAccessibleKey urlsAccessibleKey = new UrlsAccessibleKey(); + + public UrlsAccessible() { + super(); + } + + public UrlsAccessible(String url, String functionCd) { + this(); + setUrl(url); + setFunctionCd(functionCd); + } + + public String getUrl() { + return getUrlsAccessibleKey().getUrl(); + } + + public String getFunctionCd() { + return getUrlsAccessibleKey().getFunctionCd(); + } + + public void setUrl(String url) { + getUrlsAccessibleKey().setUrl(url); + } + + public void setFunctionCd(String functionCd) { + getUrlsAccessibleKey().setFunctionCd(functionCd); + } + + public UrlsAccessibleKey getUrlsAccessibleKey() { + return urlsAccessibleKey; + } + + public void setUrlsAccessibleKey(UrlsAccessibleKey urlsAccessibleKey) { + this.urlsAccessibleKey = urlsAccessibleKey; + } + + @Override + public int hashCode() { + return Objects.hash(getUrl(), getFunctionCd()); + } + + @Override + public boolean equals(Object obj) { + if (obj == null || !(obj instanceof UrlsAccessible)) + return false; + UrlsAccessible ua = (UrlsAccessible) obj; + return Objects.equals(ua.getUrl(), getUrl()) && Objects.equals(ua.getFunctionCd(), getFunctionCd()); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UrlsAccessibleKey.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UrlsAccessibleKey.java new file mode 100644 index 00000000..ade754fd --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UrlsAccessibleKey.java @@ -0,0 +1,93 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.io.Serializable; + +public class UrlsAccessibleKey implements Serializable { + + private static final long serialVersionUID = 1L; + private String url; + private String functionCd; + + public UrlsAccessibleKey() { + super(); + } + + public UrlsAccessibleKey(String url, String functionCd) { + setUrl(url); + setFunctionCd(functionCd); + } + + public String getUrl() { + return url; + } + + public String getFunctionCd() { + return functionCd; + } + + public void setUrl(String url) { + this.url = url; + } + + public void setFunctionCd(String functionCd) { + this.functionCd = functionCd; + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null) + return false; + if (!(o instanceof UrlsAccessibleKey)) + return false; + final UrlsAccessibleKey key = (UrlsAccessibleKey) o; + if (getFunctionCd().equals(key.getFunctionCd()) && getUrl().equals(key.getUrl())) + return true; + + return false; + } + + @Override + public int hashCode() { + return getUrl().hashCode() + getFunctionCd().hashCode(); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/User.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/User.java new file mode 100644 index 00000000..3fb5e205 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/User.java @@ -0,0 +1,601 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +import java.util.Date; +import java.util.Iterator; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +/** + * <p> + * User.java + * </p> + * + * <p> + * Represents a user data object. + * </p> + * + * @version 1.0 + */ +public class User extends DomainVo { + + private static final long serialVersionUID = 1L; + private Long orgId; + private Long managerId; + private String firstName; + private String middleInitial; + private String lastName; + private String phone; + private String fax; + private String cellular; + private String email; + private Long addressId; + private String alertMethodCd; + private String hrid; + private String orgUserId; + private String orgCode; + private String address1; + private String address2; + private String city; + private String state; + private String zipCode; + private String country; + private String orgManagerUserId; + private String locationClli; + private String businessCountryCode; + private String businessCountryName; + private String businessUnit; + private String businessUnitName; + private String department; + private String departmentName; + private String companyCode; + private String company; + private String zipCodeSuffix; + private String jobTitle; + private String commandChain; + private String siloStatus; + private String costCenter; + private String financialLocCode; + + private String loginId; + private String loginPwd; + private Date lastLoginDate; + private boolean active; + private boolean internal; + private Long selectedProfileId; + private Long timeZoneId; + private boolean online; + private String chatId; + + private Set userApps = new TreeSet(); + + private Set pseudoRoles = new TreeSet(); + + public Long getAddressId() { + return addressId; + } + + public String getAlertMethodCd() { + return alertMethodCd; + } + + public String getCellular() { + return cellular; + } + + public String getEmail() { + return email; + } + + public String getFax() { + return fax; + } + + public String getFirstName() { + return firstName; + } + + public String getHrid() { + return hrid; + } + + public Date getLastLoginDate() { + return lastLoginDate; + } + + public String getLastName() { + return lastName; + } + + public String getFullName() { + return getFirstName() + " " + getLastName(); + } + + public String getLoginId() { + return loginId; + } + + public String getLoginPwd() { + return loginPwd; + } + + public Long getManagerId() { + return managerId; + } + + public String getMiddleInitial() { + return middleInitial; + } + + public String getOrgCode() { + return orgCode; + } + + public Long getOrgId() { + return orgId; + } + + public String getPhone() { + return phone; + } + + public String getOrgUserId() { + return orgUserId; + } + + public boolean getActive() { + return active; + } + + public boolean getInternal() { + return internal; + } + + public String getAddress1() { + return address1; + } + + public String getAddress2() { + return address2; + } + + public String getCity() { + return city; + } + + public String getCountry() { + return country; + } + + public String getState() { + return state; + } + + public String getZipCode() { + return zipCode; + } + + public String getBusinessCountryCode() { + return businessCountryCode; + } + + public String getCommandChain() { + return commandChain; + } + + public String getCompany() { + return company; + } + + public String getCompanyCode() { + return companyCode; + } + + public String getDepartment() { + return department; + } + + public String getJobTitle() { + return jobTitle; + } + + public String getLocationClli() { + return locationClli; + } + + public String getOrgManagerUserId() { + return orgManagerUserId; + } + + public String getZipCodeSuffix() { + return zipCodeSuffix; + } + + public String getBusinessCountryName() { + return businessCountryName; + } + + public Set getPseudoRoles() { + return pseudoRoles; + } + + public Long getSelectedProfileId() { + return selectedProfileId; + } + + public void setAddressId(Long addressId) { + this.addressId = addressId; + } + + public void setAlertMethodCd(String alertMethodCd) { + this.alertMethodCd = alertMethodCd; + } + + public void setCellular(String cellular) { + this.cellular = cellular; + } + + public void setEmail(String email) { + this.email = email; + } + + public void setFax(String fax) { + this.fax = fax; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public void setHrid(String hrid) { + this.hrid = hrid; + } + + public void setLastLoginDate(Date lastLoginDate) { + this.lastLoginDate = lastLoginDate; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public void setLoginId(String loginId) { + this.loginId = loginId; + } + + public void setLoginPwd(String loginPwd) { + this.loginPwd = loginPwd; + } + + public void setManagerId(Long managerId) { + this.managerId = managerId; + } + + public void setMiddleInitial(String middleInitial) { + this.middleInitial = middleInitial; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public void setOrgId(Long orgId) { + this.orgId = orgId; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public void setOrgUserId(String orgUserId) { + this.orgUserId = orgUserId; + } + + public void setActive(boolean active) { + this.active = active; + } + + public void setInternal(boolean internal) { + this.internal = internal; + } + + public void setAddress1(String address1) { + this.address1 = address1; + } + + public void setAddress2(String address2) { + this.address2 = address2; + } + + public void setCity(String city) { + this.city = city; + } + + public void setCountry(String country) { + this.country = country; + } + + public void setState(String state) { + this.state = state; + } + + public void setZipCode(String zipCode) { + this.zipCode = zipCode; + } + + public void setBusinessCountryCode(String businessCountryCode) { + this.businessCountryCode = businessCountryCode; + } + + public void setCommandChain(String commandChain) { + this.commandChain = commandChain; + } + + public void setCompany(String company) { + this.company = company; + } + + public void setCompanyCode(String companyCode) { + this.companyCode = companyCode; + } + + public void setDepartment(String department) { + this.department = department; + } + + public void setJobTitle(String jobTitle) { + this.jobTitle = jobTitle; + } + + public void setLocationClli(String locationClli) { + this.locationClli = locationClli; + } + + public void setOrgManagerUserId(String orgManagerUserId) { + this.orgManagerUserId = orgManagerUserId; + } + + public void setZipCodeSuffix(String zipCodeSuffix) { + this.zipCodeSuffix = zipCodeSuffix; + } + + public void setBusinessCountryName(String businessCountryName) { + this.businessCountryName = businessCountryName; + } + + public void setPseudoRoles(Set pseudoRoles) { + this.pseudoRoles = pseudoRoles; + } + + public void setSelectedProfileId(Long selectedProfileId) { + this.selectedProfileId = selectedProfileId; + } + + public Long getTimeZoneId() { + return timeZoneId; + } + + public void setTimeZoneId(Long timeZoneId) { + this.timeZoneId = timeZoneId; + } + + public String getBusinessUnit() { + return businessUnit; + } + + public void setBusinessUnit(String businessUnit) { + this.businessUnit = businessUnit; + } + + public String getSiloStatus() { + return siloStatus; + } + + public void setSiloStatus(String siloStatus) { + this.siloStatus = siloStatus; + } + + public String getCostCenter() { + return costCenter; + } + + public void setCostCenter(String costCenter) { + this.costCenter = costCenter; + } + + public String getFinancialLocCode() { + return financialLocCode; + } + + public void setFinancialLocCode(String financialLocCode) { + this.financialLocCode = financialLocCode; + } + + public String getBusinessUnitName() { + return businessUnitName; + } + + public void setBusinessUnitName(String businessUnitName) { + this.businessUnitName = businessUnitName; + } + + public String getDepartmentName() { + return departmentName; + } + + public void setDepartmentName(String departmentName) { + this.departmentName = departmentName; + } + + public boolean isOnline() { + return online; + } + + public void setOnline(boolean online) { + this.online = online; + } + + public String getChatId() { + return chatId; + } + + public void setChatId(String chatId) { + this.chatId = chatId; + } + + public Set getUserApps() { + return userApps; + } + + public void setUserApps(Set userApps) { + this.userApps = userApps; + } + + @SuppressWarnings("unchecked") + public void addAppRoles(App app, SortedSet<Role> roles) { + if (roles != null) { + // add all + Set newUserApps = new TreeSet(); + Iterator itr = roles.iterator(); + while (itr.hasNext()) { + Role role = (Role) itr.next(); + UserApp userApp = new UserApp(); + userApp.setUserId(this.id); + userApp.setApp(app); + userApp.setRole(role); + newUserApps.add(userApp); + } + setUserApps(newUserApps); + } else { + // remove all + this.userApps.clear(); + } + + } + + @SuppressWarnings("unchecked") + public SortedSet<Role> getAppRoles(App app) { + SortedSet<Role> roles = new TreeSet(); + Set apps = getUserApps(); + Iterator appsItr = apps.iterator(); + // getting default app + while (appsItr.hasNext()) { + UserApp tempUserApp = (UserApp) appsItr.next(); + if (tempUserApp.getApp().getId().equals(app.getId())) { + roles.add(tempUserApp.getRole()); + } + } + return roles; + } + + public SortedSet<Role> getRoles() { + App app = new App(); + app.setId(new Long(1)); + app.setName("Default"); + return getAppRoles(app); + } + + public UserApp getDefaultUserApp() { + Set apps = getUserApps(); + Iterator appsItr = apps.iterator(); + UserApp userApp = null; + // getting default app + while (appsItr.hasNext()) { + UserApp tempApp = (UserApp) appsItr.next(); + if (tempApp.getApp().getId().equals(new Long(1))) { + userApp = tempApp; + break; + } + } + return userApp; + } + + public void setRoles(SortedSet<Role> roles) { + App app = new App(); + app.setId(new Long(1)); + app.setName("Default"); + addAppRoles(app, roles); + } + + public void removeRole(Long roleId) { + Set apps = getUserApps(); + Iterator appsItr = apps.iterator(); + // getting default app + while (appsItr.hasNext()) { + UserApp tempUserApp = (UserApp) appsItr.next(); + if (tempUserApp.getRole().getId().equals(roleId)) { + appsItr.remove(); + } + } + + } + + @SuppressWarnings("unchecked") + public void addRole(Role role) { + if (role != null) { + SortedSet<Role> roles = getRoles(); + if (roles == null) { + roles = new TreeSet(); + } + roles.add(role); + setRoles(roles); + } + } + + @Override + public int compareTo(Object obj) { + User user = (User) obj; + + String c1 = getLastName() + getFirstName() + getMiddleInitial(); + String c2 = user.getLastName() + user.getFirstName() + user.getMiddleInitial(); + + return c1.compareTo(c2); + } + + @Override + public String toString() { + return "User [orgUserId=" + orgUserId + ", userApps=" + userApps + ", pseudoRoles=" + pseudoRoles + "]"; + } + + + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserApp.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserApp.java new file mode 100644 index 00000000..4eebb02f --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserApp.java @@ -0,0 +1,123 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + + +@SuppressWarnings("rawtypes") +public class UserApp implements java.io.Serializable, Comparable { + + private static final long serialVersionUID = 1L; + private Long userId; + private App app; + private Role role; + private Short priority; + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public App getApp() { + return app; + } + + public void setApp(App app) { + this.app = app; + } + + public Role getRole() { + return role; + } + + public void setRole(Role role) { + this.role = role; + } + + public Short getPriority() { + return this.priority; + } + + public void setPriority(Short priority) { + this.priority = priority; + } + + @Override + public boolean equals(Object other) { + if (this == other) + return true; + if (other == null) + return false; + if (!(other instanceof UserApp)) + return false; + UserApp castOther = (UserApp) other; + + return (this.getUserId().equals(castOther.getUserId())) + && (this.getApp().getId().equals(castOther.getApp().getId())) + && (this.getRole().getId().equals(castOther.getRole().getId())) + && ((this.priority == null && castOther.getPriority() == null) + || this.getPriority().equals(castOther.getPriority())); + } + + @Override + public int hashCode() { + int result = 17; + result = 37 * result + (int) (this.getUserId() == null ? 0 : this.getUserId().intValue()); + result = 37 * result + (int) (this.getApp().getId() == null ? 0 : this.getApp().getId().intValue()); + result = 37 * result + (int) (this.getRole().getId() == null ? 0 : this.getRole().getId().intValue()); + result = 37 * result + (int) (this.priority == null ? 0 : this.priority); + return result; + } + + @Override + public int compareTo(Object other) { + UserApp castOther = (UserApp) other; + Long c1 = (this.getUserId() == null ? 0 : this.getUserId()) + + (this.getApp() == null || this.getApp().getId() == null ? 0 : this.getApp().getId()) + + (this.getRole() == null || this.getRole().getId() == null ? 0 : this.getRole().getId()) + + (this.priority == null ? 0 : this.priority); + Long c2 = (castOther.getUserId() == null ? 0 : castOther.getUserId()) + + (castOther.getApp() == null || castOther.getApp().getId() == null ? 0 : castOther.getApp().getId()) + + (castOther.getRole() == null || castOther.getRole().getId() == null ? 0 : castOther.getRole().getId()) + + (castOther.priority == null ? 0 : castOther.priority); + return c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserAppId.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserAppId.java new file mode 100644 index 00000000..7095168f --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/UserAppId.java @@ -0,0 +1,106 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain; + +// Generated Aug 27, 2014 5:51:36 PM by Hibernate Tools 3.4.0.CR1 + +/** + * FnUserRoleId generated by hbm2java + */ +public class UserAppId implements java.io.Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; + private Long userId; + private App app; + private Role role; + + public UserAppId() { + super(); + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public App getApp() { + return app; + } + + public void setApp(App app) { + this.app = app; + } + + public Role getRole() { + return role; + } + + public void setRole(Role role) { + this.role = role; + } + + @Override + public boolean equals(Object other) { + if (this == other) + return true; + if (other == null) + return false; + if (!(other instanceof UserAppId)) + return false; + UserAppId castOther = (UserAppId) other; + + return (this.getUserId() == castOther.getUserId()) && (this.getApp().getId() == castOther.getApp().getId()) + && (this.getRole().getId() == castOther.getRole().getId()); + } + + @Override + public int hashCode() { + int result = 17; + result = 37 * result + (int) (this.getUserId() == null ? 0 : this.getUserId().intValue()); + result = 37 * result + (int) (this.getApp().getId() == null ? 0 : this.getApp().getId().intValue()); + result = 37 * result + (int) (this.getRole().getId() == null ? 0 : this.getRole().getId().intValue()); + return result; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Attribute.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Attribute.java new file mode 100644 index 00000000..8d7fadf9 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Attribute.java @@ -0,0 +1,87 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +public class Attribute { + private double width; + private double top; + private double left; + private String name; + private double height; + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getTop() { + return top; + } + + public void setTop(double top) { + this.top = top; + } + + public double getLeft() { + return left; + } + + public void setLeft(double left) { + this.left = left; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/CollaborateList.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/CollaborateList.java new file mode 100644 index 00000000..8534e2e7 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/CollaborateList.java @@ -0,0 +1,72 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +public class CollaborateList implements Serializable { + + private static final long serialVersionUID = -4104440747626736243L; + private HashSet<String> userNameList = new HashSet<>(); + private static CollaborateList userListData = new CollaborateList(); + + private CollaborateList() { + } + + public static CollaborateList getInstance() { + return userListData; + } + + public Set<String> getAllUserName() { + return userNameList; + } + + public static void addUserName(String name) { + final Set<String> allUserName = CollaborateList.getInstance().getAllUserName(); + if (!allUserName.contains(name)) + allUserName.add(name); + } + + public static void delUserName(String name) { + final Set<String> allUserName = CollaborateList.getInstance().getAllUserName(); + allUserName.remove((String) name); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Container.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Container.java new file mode 100644 index 00000000..3d9ee77a --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Container.java @@ -0,0 +1,315 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +import java.util.List; +import java.util.Map; + +public class Container { + + String id; + + String name; + + Size size; + + Position p; + + Map<String, Container> containerRowCol; + + Map<String, Element> elementRowCol; + + int numOfRows; + + int numOfCols; + + double sum = 0; + + double interEleWd; + + double interEleH; + + double interEleToContainerWd; + + double interEleToContainerH; + + double interEleToInnerContainerWd; + + double interEleToInnerContainerH; + + double top; + + double left; + + double height; + + double width; + + String visibilityType; + + List<Container> innerCList; + + List<Element> elementList; + + public Container() { + + } + + public Container(String id, String name, int numOfRows, int numOfCols, double interEleWd, double interEleH, + double interEleToContainerWd, double interEleToContainerH, double interEleToInnerContainerWd, + double interEleToInnerContainerH) { + + this.id = id; + this.name = name; + this.numOfRows = numOfRows; + this.numOfCols = numOfCols; + this.interEleWd = interEleWd; + this.interEleH = interEleH; + this.interEleToContainerWd = interEleToContainerWd; + this.interEleToContainerH = interEleToContainerH; + this.interEleToInnerContainerWd = interEleToInnerContainerWd; + this.interEleToInnerContainerH = interEleToInnerContainerH; + + } + + public Map<String, Container> getContainerRowCol() { + return containerRowCol; + } + + public Map<String, Element> getElementRowCol() { + return elementRowCol; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public void setInnerContainer(Map<String, Container> innerCon) { + containerRowCol = innerCon; + } + + public void setElements(Map<String, Element> innerE) { + elementRowCol = innerE; + } + + public Position getP() { + return p; + } + + public void setP(Position p) { + this.p = p; + } + + public void setTop(double top) { + this.top = top; + } + + public void setLeft(double left) { + this.left = left; + } + + public void setHeight(double height) { + this.height = height; + } + + public void setWidth(double width) { + this.width = width; + } + + public void setInnerCList(List<Container> innerCList) { + this.innerCList = innerCList; + } + + public void setElementList(List<Element> elementList) { + this.elementList = elementList; + } + + public void setVisibilityType(String visibilityType) { + this.visibilityType = visibilityType; + } + + public Size computeSize() { + Size size = new Size(); + double width = 0; + double height = 0; + for (int i = 0; i < numOfRows; i++) { + if ((containerRowCol != null && containerRowCol.containsKey(i + String.valueOf(numOfCols - 1))) + || (elementRowCol != null && elementRowCol.containsKey(i + String.valueOf(numOfCols - 1)))) { + for (int j = 0; j < numOfCols; j++) { + if (containerRowCol != null && containerRowCol.containsKey(i + String.valueOf(j))) { + width += containerRowCol.get(i + String.valueOf(j)).computeSize().getWidth(); + } else if (elementRowCol != null && elementRowCol.containsKey(i + String.valueOf(j))) + width += elementRowCol.get(i + String.valueOf(j)).computeSize().getWidth(); + } + break; + } + } + + if (this.getName().equals("Broadworks complex") || this.getName().equals("Application Servers") + || this.getName().equals("Call Session Control") || this.getName().equals("GMLC Provider") + || this.getName().equals("Neo") || this.getName().equals("Support")) { + width += (numOfCols - 1) * interEleWd + 2 * interEleToInnerContainerWd; + } else { + width += (numOfCols - 1) * interEleWd + 2 * interEleToContainerWd; + } + size.setWidth(width); + for (int j = 0; j < numOfCols; j++) { + if ((containerRowCol != null && containerRowCol.containsKey(String.valueOf(numOfRows - 1) + j)) + || (elementRowCol != null && elementRowCol.containsKey(String.valueOf(numOfRows - 1) + j))) { + for (int i = 0; i < numOfRows; i++) { + if (containerRowCol != null && containerRowCol.containsKey(i + String.valueOf(j))) { + height += containerRowCol.get(i + String.valueOf(j)).computeSize().getHeight(); + } else if (elementRowCol != null && elementRowCol.containsKey(i + String.valueOf(j))) + height += elementRowCol.get(String.valueOf(i) + String.valueOf(j)).computeSize().getHeight(); + } + break; + } + } + if (this.getName().equals("Broadworks complex") || this.getName().equals("Application Servers") + || this.getName().equals("Call Session Control") || this.getName().equals("GMLC Provider") + || this.getName().equals("Neo") || this.getName().equals("Support")) { + height += (numOfRows - 1) * interEleH + 2 * interEleToInnerContainerH + 0.1; + } else { + if (this.getName().equals("VoLTE UE") || this.getName().equals("3G UE") || this.getName().equals("HC UE-A") + || this.getName().equals("HC UE-B") || this.getName().equals("VNI UE") + || this.getName().equals("PSTN")) { + height += (numOfRows - 1) * interEleH + interEleToContainerH / 2; + } else + height += (numOfRows - 1) * interEleH + 2 * interEleToContainerH; + } + size.setHeight(height); + return size; + } + + public void computeElementPositions() { + double xsum = 0; + double ysum = 0; + for (int i = 0; i < numOfRows; i++) { + for (int j = 0; j < numOfCols; j++) { + if (containerRowCol != null && containerRowCol.containsKey(String.valueOf(i) + String.valueOf(j))) { + Container c = containerRowCol.get(String.valueOf(i) + String.valueOf(j)); + Position p = new Position(); + p.x = j * interEleWd + xsum + this.getP().getX() + interEleToContainerWd; + ysum = 0; + for (int k = 0; k < i; k++) { + if (containerRowCol.containsKey(String.valueOf(k) + String.valueOf(j))) + ysum += containerRowCol.get(String.valueOf(k) + String.valueOf(j)).computeSize() + .getHeight(); + else if (elementRowCol.containsKey(String.valueOf(k) + String.valueOf(j))) + ysum += elementRowCol.get(String.valueOf(k) + String.valueOf(j)).computeSize().getHeight(); + } + p.y = i * interEleH + ysum + this.getP().getY() + interEleToContainerH; + // containerCoord.add(c,p); + xsum += c.computeSize().getWidth(); + c.setP(p); + + } else if (elementRowCol != null && elementRowCol.containsKey(String.valueOf(i) + String.valueOf(j))) { + Element e = elementRowCol.get(String.valueOf(i) + String.valueOf(j)); + Position p = new Position(); + if (j == numOfCols - 1) { + for (int t = 0; t < i; t++) { + if (containerRowCol != null + && containerRowCol.containsKey(String.valueOf(t) + String.valueOf(j - 1))) { + if (!elementRowCol.containsKey(String.valueOf(i) + String.valueOf(j - 1)) + && !containerRowCol.containsKey(String.valueOf(i) + String.valueOf(j - 1))) { + xsum += containerRowCol.get(String.valueOf(t) + String.valueOf(j - 1)).computeSize() + .getWidth(); + break; + } + } + } + } + if (this.getName().equals("Broadworks complex") || this.getName().equals("Application Servers") + || this.getName().equals("Call Session Control") || this.getName().equals("GMLC Provider") + || this.getName().equals("Neo") || this.getName().equals("Support")) { + p.x = j * interEleWd + xsum + this.getP().getX() + interEleToInnerContainerWd; + } else if (this.getName().equals("VNI UE") || this.getName().equals("PSTN") + || this.getName().equals("3G UE") || this.getName().equals("HC UE-A") + || this.getName().equals("HC UE-B")) { + p.x = j * interEleWd + xsum + this.getP().getX() + interEleToContainerWd - 0.8; + } else { + p.x = j * interEleWd + xsum + this.getP().getX() + interEleToContainerWd; + } + ysum = 0; + for (int k = 0; k < i; k++) { + if (containerRowCol != null + && containerRowCol.containsKey(String.valueOf(k) + String.valueOf(j))) + ysum += containerRowCol.get(String.valueOf(k) + String.valueOf(j)).computeSize() + .getHeight(); + else if (elementRowCol != null + && elementRowCol.containsKey(String.valueOf(k) + String.valueOf(j))) + ysum += elementRowCol.get(String.valueOf(k) + String.valueOf(j)).computeSize().getHeight(); + else if (containerRowCol != null) { + for (int chk = j; chk > 0; chk--) { + if (containerRowCol.containsKey(String.valueOf(k) + String.valueOf(chk - 1))) { + if (containerRowCol.get(String.valueOf(k) + String.valueOf(chk - 1)).computeSize() + .getWidth() + + containerRowCol.get(String.valueOf(k) + String.valueOf(chk - 1)).getP() + .getX() > p.x) { + ysum += containerRowCol.get(String.valueOf(k) + String.valueOf(chk - 1)) + .computeSize().getHeight(); + break; + } + } + } + } + + } + if (this.getName().equals("Broadworks complex") || this.getName().equals("Application Servers") + || this.getName().equals("Call Session Control") || this.getName().equals("GMLC Provider") + || this.getName().equals("Neo") || this.getName().equals("Support")) { + p.y = this.getP().getY() + ysum + i * interEleH + interEleToInnerContainerH + 1; + } else { + if (e.getName().equals("")) { + p.y = this.getP().getY() + ysum + i * interEleH + (interEleToContainerH); + } else + p.y = this.getP().getY() + ysum + i * interEleH + interEleToContainerH; + } + xsum += e.computeSize().getWidth(); + e.setP(p); + } + } + xsum = 0; + } + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Domain.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Domain.java new file mode 100644 index 00000000..dcf4fd54 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Domain.java @@ -0,0 +1,222 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +import java.util.List; +import java.util.Map; + +public class Domain { + // Unique identifier of the domain + String id; + String name; + Size size; + Position p; + // Horizontal space between a pair of containers + double interContWd = 1.0; + // Vertical space between a pair of containers + double interContH; + double domainToLayoutWd; + double domainToContH; + double domainToLayoutH; + int numOfRowsofContainer; + int numOfColsofContainer; + boolean indexChanged; + Map<String, Container> containerRowCol; + double top; + double left; + double height; + double width; + List<Container> containerList; + double newXafterColl; + double YafterColl; + + public Domain(String id, String name, double interContWd, double interContH, double domainToLayoutWd, + double domainToLayoutH, double domainToContH, int numOfRowsofContainer, int numOfColsofContainer) { + this.id = id; + this.name = name; + this.interContWd = interContWd; + this.interContH = interContH; + this.domainToLayoutWd = domainToLayoutWd; + this.domainToLayoutH = domainToLayoutH; + this.domainToContH = domainToContH; + this.numOfRowsofContainer = numOfRowsofContainer; + this.numOfColsofContainer = numOfColsofContainer; + } + + public Position getP() { + return p; + } + + public void setP(Position p) { + this.p = p; + } + + public void setNewXafterColl(double newXafterColl) { + this.newXafterColl = newXafterColl; + } + + public double getNewXafterColl() { + return newXafterColl; + } + + public double getYafterColl() { + return YafterColl; + } + + public void setYafterColl(double yafterColl) { + YafterColl = yafterColl; + } + + public void setDomainToLayoutWd(double domainToLayoutWd) { + this.domainToLayoutWd = domainToLayoutWd; + } + + public double getDomainToLayoutWd() { + return domainToLayoutWd; + } + + public double getTop() { + return top; + } + + public void setTop(double top) { + this.top = top; + } + + public double getLeft() { + return left; + } + + public void setLeft(double left) { + this.left = left; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setContainers(Map<String, Container> containerRowCol) { + this.containerRowCol = containerRowCol; + } + + public Map<String, Container> getContainerRowCol() { + return containerRowCol; + } + + public void setContainerList(List<Container> containerList) { + this.containerList = containerList; + } + + public boolean isIndexChanged() { + return indexChanged; + } + + public void setIndexChanged(boolean indexChanged) { + this.indexChanged = indexChanged; + } + + // Compute the size of any domain + public Size computeSize() { + size = new Size(); + size.setHeight(5); + double myWidth = 0; + for (int i = 0; i < numOfRowsofContainer; i++) { + if (containerRowCol != null + && containerRowCol.containsKey(String.valueOf(i) + String.valueOf(numOfColsofContainer - 1))) { + for (int j = 0; j < numOfColsofContainer; j++) { + myWidth += containerRowCol.get(String.valueOf(i) + String.valueOf(j)).computeSize().getWidth(); + } + break; + } + + } + myWidth += (numOfColsofContainer - 1) * interContWd; + if (this.getName().equals("VNI")) + size.setWidth(myWidth - 4); + else + size.setWidth(myWidth); + return size; + } + + public void computeConatinerPositions() { + + double xsum = 0; + for (int i = 0; i < numOfRowsofContainer; i++) { + for (int j = 0; j < numOfColsofContainer; j++) { + if (containerRowCol != null && containerRowCol.containsKey(String.valueOf(i) + String.valueOf(j))) { + Container c = containerRowCol.get(String.valueOf(i) + String.valueOf(j)); + Position p = new Position(); + p.x = j * interContWd + xsum + domainToLayoutWd; + double ysum = 0; + for (int k = 0; k < i; k++) { + if (containerRowCol.containsKey(String.valueOf(k) + String.valueOf(j))) + ysum += containerRowCol.get(String.valueOf(k) + String.valueOf(j)).computeSize() + .getHeight(); + } + p.y = domainToLayoutH + ysum + this.computeSize().getHeight() + domainToContH + i * interContH; + c.setP(p); + xsum += c.computeSize().getWidth(); + } + } + xsum = 0; + + } + + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/DomainVo.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/DomainVo.java new file mode 100644 index 00000000..d2f41c90 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/DomainVo.java @@ -0,0 +1,198 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.util.Date; +import java.util.Set; + +import org.onap.portalsdk.core.domain.FusionVo; + +/* Super class from which all data objects descend */ +@SuppressWarnings("rawtypes") +public class DomainVo extends FusionVo implements Serializable, Cloneable, Comparable { + +// TODO: Remove after the EELFLoggerImpl +// private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DomainVo.class); + + private static final long serialVersionUID = 1L; + protected Long id; + protected Date created; + protected Date modified; + protected Long createdId; + protected Long modifiedId; + protected Long rowNum; + protected Serializable auditUserId; + protected Set auditTrail = null; + + public DomainVo() { + super(); + } + + public void setId(Long i) { + id = i; + } + + public void setCreated(Date created) { + this.created = created; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public void setCreatedId(Long createdId) { + this.createdId = createdId; + } + + public void setModifiedId(Long modifiedId) { + this.modifiedId = modifiedId; + } + + public void setAuditUserId(Serializable auditUserId) { + this.auditUserId = auditUserId; + } + + public void setRowNum(Long rowNum) { + this.rowNum = rowNum; + } + + public void setAuditTrail(Set auditTrail) { + this.auditTrail = auditTrail; + } + + public Long getId() { + return id; + } + + public Date getCreated() { + return created; + } + + public Date getModified() { + return modified; + } + + public Long getCreatedId() { + return createdId; + } + + public Long getModifiedId() { + return modifiedId; + } + + public Serializable getAuditUserId() { + return auditUserId; + } + + public Long getRowNum() { + return rowNum; + } + + public Set getAuditTrail() { + return auditTrail; + } + + public Object copy() { + return copy(false); + } + + public Object copy(boolean isIdNull) { + // let's create a "copy" of the object using serialization + ByteArrayOutputStream baos = null; + ByteArrayInputStream bais = null; + ObjectOutputStream oos = null; + ObjectInputStream ois = null; + + DomainVo newVo = null; + try { + baos = new ByteArrayOutputStream(); + oos = new ObjectOutputStream(baos); + oos.writeObject(this); + + bais = new ByteArrayInputStream(baos.toByteArray()); + ois = new ObjectInputStream(bais); + newVo = (DomainVo) ois.readObject(); + + if (isIdNull) { + newVo.setId(null); + } + + } catch (Exception e) { + +// TODO: Remove after the EELFLoggerImpl logger.error(EELFLoggerDelegate.errorLogger, "copy failed", e); + e.printStackTrace(); + } + + return newVo; + } + + @Override + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + @Override + public boolean equals(Object other) { + if (this == other) + return true; + if (other == null) + return false; + if (!(other instanceof DomainVo)) + return false; + DomainVo castOther = (DomainVo) other; + return this.getId() == castOther.getId() + && this.getCreated().equals(castOther.getCreated()) + && this.getCreatedId() == castOther.getCreatedId() + && this.getModified().equals(castOther.getModified()) + && this.getModifiedId() == castOther.getModifiedId() + ; + } + + @Override + public int compareTo(Object obj) { + Long c1 = getId(); + Long c2 = ((DomainVo) obj).getId(); + return (c1 == null || c2 == null) ? 1 : c1.compareTo(c2); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Element.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Element.java new file mode 100644 index 00000000..9da4a242 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Element.java @@ -0,0 +1,154 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +public class Element { + + String id; + String name; + + double top; + + double left; + + double height; + + double width; + + String imgFileName; + + String borderType; + + String bgColor; + + ElementDetails details; + + Position p; + + public Element(String id, String name) { + this.id = id; + this.name = name; + } + + public Element(String id, String name, String imgFilename, String bgColor, String borderType, + ElementDetails details) { + this.id = id; + this.name = name; + this.imgFileName = imgFilename; + this.bgColor = bgColor; + this.borderType = borderType; + this.details = details; + + } + + public void setBgColor(String bgColor) { + this.bgColor = bgColor; + } + + public void setId(String id) { + this.id = id; + } + + public void setTop(double top) { + this.top = top; + } + + public void setLeft(double left) { + this.left = left; + } + + public void setHeight(double height) { + this.height = height; + } + + public void setWidth(double width) { + this.width = width; + } + + public String getId() { + return id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Position getP() { + return p; + } + + public void setP(Position p) { + this.p = p; + } + + public void setBorderType(String borderType) { + this.borderType = borderType; + } + + public String getImgFileName() { + return imgFileName; + } + + public void setImgFileName(String imgFileName) { + this.imgFileName = imgFileName; + } + + public String getBorderType() { + return borderType; + } + + public ElementDetails getDetails() { + return details; + } + + public void setDetails(ElementDetails details) { + this.details = details; + } + + public Size computeSize() { + Size size = new Size(); + size.setWidth(0.5 * 7.0); + size.setHeight(0.5 * 3.0); + return size; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/ElementDetails.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/ElementDetails.java new file mode 100644 index 00000000..61fc6497 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/ElementDetails.java @@ -0,0 +1,77 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +public class ElementDetails { + + String logical_group; + String display_longname; + String description; + String primary_function; + String network_function; + String key_interfaces; + String location; + String vendor; + String vendor_shortname; + String enclosingContainer; + + public ElementDetails(String logical_group, String display_longname, String description, String primary_function, + String network_function, String key_interfaces, String location, String vendor, String vendor_shortname, + String enclosingContainer) { + + this.logical_group = logical_group; + this.display_longname = display_longname; + this.description = description; + this.primary_function = primary_function; + this.network_function = network_function; + this.key_interfaces = key_interfaces; + this.location = location; + this.vendor = vendor; + this.vendor_shortname = vendor_shortname; + this.enclosingContainer = enclosingContainer; + } + + public String getLogical_group() { + return logical_group; + } + + public void setLogical_group(String logical_group) { + this.logical_group = logical_group; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/FusionCommand.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/FusionCommand.java new file mode 100644 index 00000000..b79dc064 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/FusionCommand.java @@ -0,0 +1,54 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +import org.onap.portalsdk.core.domain.FusionObject; + +public class FusionCommand implements FusionObject { + + private String task; + + public String getTask() { + return task; + } + + public void setTask(String task) { + this.task = task; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Layout.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Layout.java new file mode 100644 index 00000000..33a347de --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Layout.java @@ -0,0 +1,955 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +public class Layout { + + Map<String, Domain> domainRowCol; + + Map<String, Domain> originalDomainRowCol; + + // Horizontal space between a pair of domains + double interDomainWd; + // Vertical space between a pair of domains + double interDomainH; + // Computing the co-ordinates of any domain + int numberofRowsofDomains; + + int numberofColsofDomains; + + Map<String, Domain> collapsedDomains; + + List<Domain> collapsedDomainsNewList; + + public Layout(Map<String, Domain> domainRowCol, double interDomainWd, double interDomainH, + int numberofRowsofDomains, int numberofColsofDomains) { + + this.domainRowCol = domainRowCol; + this.interDomainWd = interDomainWd; + this.interDomainH = interDomainH; + this.numberofRowsofDomains = numberofRowsofDomains; + this.numberofColsofDomains = numberofColsofDomains; + this.collapsedDomains = new HashMap<>(); + this.originalDomainRowCol = new TreeMap<>(); + // nline + this.collapsedDomainsNewList = new ArrayList<>(); + } + + public List<Domain> getCollapsedDomainsNewList() { + return collapsedDomainsNewList; + } + + public void setCollapsedDomainsNewList(List<Domain> collapsedDomainsNewList) { + this.collapsedDomainsNewList = collapsedDomainsNewList; + } + + public void setCollapsedDomains(Map<String, Domain> collapsedDomains) { + this.collapsedDomains = collapsedDomains; + } + + public Map<String, Domain> getCollapsedDomains() { + return collapsedDomains; + } + + public int getNumberofColsofDomains() { + return numberofColsofDomains; + } + + public void setNumberofColsofDomains(int numberofColsofDomains) { + this.numberofColsofDomains = numberofColsofDomains; + } + + public Map<String, Domain> getDomainRowCol() { + return domainRowCol; + } + + public void setDomainRowCol(Map<String, Domain> domainRowCol) { + this.domainRowCol = domainRowCol; + } + + public void computeDomainPositions() { + double xsum = 0; + double domainTolayout = 10.6; + for (int i = 0; i < numberofRowsofDomains; i++) { + for (int j = 0; j < numberofColsofDomains; j++) { + if (domainRowCol.containsKey(String.valueOf(i) + String.valueOf(j))) { + Domain d = domainRowCol.get(String.valueOf(i) + String.valueOf(j)); + Position p = new Position(); + if (j == 0) + p.x = domainTolayout; + else + p.x = j * interDomainWd + xsum + domainTolayout; + if (getCollapsedDomainsNewList().size() > 0) + p.x += accountForPlusSpaceBefore(d); + xsum += d.computeSize().getWidth(); + double ysum = 0; + for (int k = 0; k < i; k++) { + if (domainRowCol.containsKey(String.valueOf(k) + String.valueOf(j))) + ysum += domainRowCol.get(String.valueOf(k) + String.valueOf(j)).computeSize().getHeight(); + } + p.y = (i + 1) * interDomainH + ysum; + d.setP(p); + + } + } + xsum = 0; + } + } + + public void computeDomainPositionsModified() { + for (int i = 0; i < numberofRowsofDomains; i++) { + for (int j = 0; j < numberofColsofDomains; j++) { + if (domainRowCol.containsKey(String.valueOf(i) + String.valueOf(j))) { + Domain d = domainRowCol.get(String.valueOf(i) + String.valueOf(j)); + Position p = new Position(); + Map<String, Container> enclosedContainers = d.getContainerRowCol(); + for (Map.Entry<String, Container> entry : enclosedContainers.entrySet()) { + if (entry.getKey().equals("00")) { + double containerX = entry.getValue().getP().getX(); + p.x = containerX; + double ysum = 0; + for (int k = 0; k < i; k++) { + if (domainRowCol.containsKey(String.valueOf(k) + String.valueOf(j))) + ysum += domainRowCol.get(String.valueOf(k) + String.valueOf(j)).computeSize() + .getHeight(); + } + p.y = (i + 1) * interDomainH + ysum; + d.setP(p); + break; + } + } + } + } + } + + } + + public Layout collapseDomainModified(String domainsToCollapse) { + + if (domainsToCollapse == null || domainsToCollapse.isEmpty()) + return null; + + Map<String, Domain> updatedRC = new HashMap<>(); + + for (Map.Entry<String, Domain> copyEntry : domainRowCol.entrySet()) { + updatedRC.put(copyEntry.getKey(), copyEntry.getValue()); + } + + Map<String, Domain> updatedRCSorted = new TreeMap<>(updatedRC); + + Map<String, Domain> collapsedDomainMap = getCollapsedDomains(); + + List<Domain> collapsedDomainNewL = getCollapsedDomainsNewList(); + + if (collapsedDomainNewL.size() == 0) { + for (Map.Entry<String, Domain> copyEntry : domainRowCol.entrySet()) { + originalDomainRowCol.put(copyEntry.getKey(), copyEntry.getValue()); + } + } + + Map<String, Domain> updatedRCSortedTrunc = new TreeMap<>(); + + int colToDelete = 0; + for (Map.Entry<String, Domain> entry : updatedRCSorted.entrySet()) { + if (entry.getValue().getName().equals(domainsToCollapse)) { + if (entry.getValue().isIndexChanged()) { + collapsedDomainMap.put("0" + String.valueOf(Integer.parseInt(entry.getKey()) + 1), + entry.getValue()); + + } else { + collapsedDomainMap.put(entry.getKey(), entry.getValue()); + } + + collapsedDomainNewL.add(entry.getValue()); + setNumberofColsofDomains(getNumberofColsofDomains() - 1); + updatedRC.remove(entry.getKey()); + colToDelete = Character.getNumericValue(entry.getKey().toCharArray()[1]); + break; + } + } + + for (Map.Entry<String, Domain> copyEntry : updatedRCSorted.entrySet()) { + updatedRCSortedTrunc.put(copyEntry.getKey(), copyEntry.getValue()); + } + + for (Map.Entry<String, Domain> rmv : updatedRCSorted.entrySet()) { + if (Character.getNumericValue(rmv.getKey().toCharArray()[1]) <= colToDelete) { + updatedRCSortedTrunc.remove(rmv.getKey()); + } + } + + for (Map.Entry<String, Domain> updateOthers : updatedRCSortedTrunc.entrySet()) { + char update[] = updateOthers.getKey().toCharArray(); + int charToupdate = Character.getNumericValue(update[1]); + --charToupdate; + String resultRowCol = String.valueOf(update[0]) + String.valueOf(charToupdate); + updateOthers.getValue().setIndexChanged(true); + updatedRC.put(resultRowCol, updateOthers.getValue()); + updatedRC.remove(updateOthers.getKey()); + + } + setDomainRowCol(updatedRC); + + double currDistFromLftM = 11.0; + for (Map.Entry<String, Domain> cd : updatedRC.entrySet()) { + Domain d = cd.getValue(); + double accountPlus = accountForPlusSpaceBefore(d); + d.setDomainToLayoutWd(currDistFromLftM + accountPlus); + d.computeConatinerPositions(); + for (Map.Entry<String, Container> entry1 : d.getContainerRowCol().entrySet()) { + Container c = entry1.getValue(); + c.computeSize(); + c.computeElementPositions(); + if (c.getContainerRowCol() != null) { + for (Map.Entry<String, Container> entryInner : c.getContainerRowCol().entrySet()) { + Container inner = entryInner.getValue(); + inner.computeElementPositions(); + } + } + } + currDistFromLftM += d.computeSize().getWidth() + 2; + } + + // nline + // Insert method invocation + updatePlusPosition(collapsedDomainNewL, updatedRC); + + // order changed + setCollapsedDomains(collapsedDomainMap); + setCollapsedDomainsNewList(collapsedDomainNewL); + + computeDomainPositionsModified(); + return this; + } + + public Layout collapseDomainNew(String domainsToCollapse) { + + if (domainsToCollapse == null || domainsToCollapse.isEmpty()) + return null; + + Map<String, Domain> updatedRC = new HashMap<>(); + + for (Map.Entry<String, Domain> copyEntry : domainRowCol.entrySet()) { + updatedRC.put(copyEntry.getKey(), copyEntry.getValue()); + } + + Map<String, Domain> updatedRCSorted = new TreeMap<>(updatedRC); + + Map<String, Domain> collapsedDomainMap = getCollapsedDomains(); + + List<Domain> collapsedDomainNewL = getCollapsedDomainsNewList(); + + if (collapsedDomainNewL.isEmpty()) { + for (Map.Entry<String, Domain> copyEntry : domainRowCol.entrySet()) { + originalDomainRowCol.put(copyEntry.getKey(), copyEntry.getValue()); + } + } + + Map<String, Domain> updatedRCSortedTrunc = new TreeMap<>(); + + int colToDelete = 0; + for (Map.Entry<String, Domain> entry : updatedRCSorted.entrySet()) { + if (entry.getValue().getName().equals(domainsToCollapse)) { + if (entry.getValue().isIndexChanged()) { + collapsedDomainMap.put("0" + String.valueOf(Integer.parseInt(entry.getKey()) + 1), + entry.getValue()); + + } else { + collapsedDomainMap.put(entry.getKey(), entry.getValue()); + } + + collapsedDomainNewL.add(entry.getValue()); + setNumberofColsofDomains(getNumberofColsofDomains() - 1); + updatedRC.remove(entry.getKey()); + colToDelete = Character.getNumericValue(entry.getKey().toCharArray()[1]); + break; + } + } + + for (Map.Entry<String, Domain> copyEntry : updatedRCSorted.entrySet()) { + updatedRCSortedTrunc.put(copyEntry.getKey(), copyEntry.getValue()); + } + + for (Map.Entry<String, Domain> rmv : updatedRCSorted.entrySet()) { + if (Character.getNumericValue(rmv.getKey().toCharArray()[1]) <= colToDelete) { + updatedRCSortedTrunc.remove(rmv.getKey()); + } + } + + for (Map.Entry<String, Domain> updateOthers : updatedRCSortedTrunc.entrySet()) { + char[] update = updateOthers.getKey().toCharArray(); + int charToupdate = Character.getNumericValue(update[1]); + --charToupdate; + String resultRowCol = String.valueOf(update[0]) + String.valueOf(charToupdate); + updateOthers.getValue().setIndexChanged(true); + updatedRC.put(resultRowCol, updateOthers.getValue()); + updatedRC.remove(updateOthers.getKey()); + + } + setDomainRowCol(updatedRC); + + double currDistFromLftM = 11.0; + + boolean isDisplayed; + for (Map.Entry<String, Domain> orgEntry : originalDomainRowCol.entrySet()) { + isDisplayed = false; + for (Map.Entry<String, Domain> cd : updatedRC.entrySet()) { + if (cd.getValue().getName().equals(orgEntry.getValue().getName())) { + Domain d = cd.getValue(); + d.setDomainToLayoutWd(currDistFromLftM); + d.computeConatinerPositions(); + for (Map.Entry<String, Container> entry1 : d.getContainerRowCol().entrySet()) { + Container c = entry1.getValue(); + c.computeSize(); + c.computeElementPositions(); + if (c.getContainerRowCol() != null) { + for (Map.Entry<String, Container> entryInner : c.getContainerRowCol().entrySet()) { + Container inner = entryInner.getValue(); + inner.computeElementPositions(); + } + } + } + currDistFromLftM += d.computeSize().getWidth() + 1; + isDisplayed = true; + break; + } + } + + if (!isDisplayed) { + Domain myCollapsed = orgEntry.getValue(); + myCollapsed.setNewXafterColl(currDistFromLftM); + myCollapsed.setYafterColl(myCollapsed.getP().getY()); + currDistFromLftM += 4; + } + } + + setCollapsedDomains(collapsedDomainMap); + setCollapsedDomainsNewList(collapsedDomainNewL); + + computeDomainPositionsModified(); + return this; + + } + + public Layout collapseDomain(String domainsToCollapse) { + + Map<String, Domain> updatedRC = new HashMap<>(); + + for (Map.Entry<String, Domain> copyEntry : domainRowCol.entrySet()) { + updatedRC.put(copyEntry.getKey(), copyEntry.getValue()); + } + + Map<String, Domain> updatedRCSorted = new TreeMap<>(updatedRC); + + Map<String, Domain> collapsedDomainMap = getCollapsedDomains(); + + if (collapsedDomainMap.size() == 0) { + for (Map.Entry<String, Domain> copyEntry : domainRowCol.entrySet()) { + originalDomainRowCol.put(copyEntry.getKey(), copyEntry.getValue()); + } + } + + double prevDomXCordinate = 0.0; + Map<String, Domain> updatedRCSortedTrunc = new TreeMap<>(); + int colToDelete = 0; + for (Map.Entry<String, Domain> entry : updatedRCSorted.entrySet()) { + if (entry.getValue().getName().equals(domainsToCollapse)) { + if (entry.getValue().isIndexChanged()) + collapsedDomainMap.put("0" + String.valueOf(Integer.parseInt(entry.getKey()) + 1), + entry.getValue()); + else + collapsedDomainMap.put(entry.getKey(), entry.getValue()); + prevDomXCordinate = entry.getValue().getP().getX(); + entry.getValue().getP().setX(prevDomXCordinate - 2); + setNumberofColsofDomains(getNumberofColsofDomains() - 1); + updatedRC.remove(entry.getKey()); + colToDelete = Character.getNumericValue(entry.getKey().toCharArray()[1]); + break; + } + } + + setCollapsedDomains(collapsedDomainMap); + + for (Map.Entry<String, Domain> copyEntry : updatedRCSorted.entrySet()) { + updatedRCSortedTrunc.put(copyEntry.getKey(), copyEntry.getValue()); + } + + for (Map.Entry<String, Domain> rmv : updatedRCSorted.entrySet()) { + if (Character.getNumericValue(rmv.getKey().toCharArray()[1]) <= colToDelete) { + updatedRCSortedTrunc.remove(rmv.getKey()); + } + } + + for (Map.Entry<String, Domain> updateOthers : updatedRCSortedTrunc.entrySet()) { + char update[] = updateOthers.getKey().toCharArray(); + int charToupdate = Character.getNumericValue(update[1]); + --charToupdate; + String resultRowCol = String.valueOf(update[0]) + String.valueOf(charToupdate); + updateOthers.getValue().setIndexChanged(true); + updatedRC.put(resultRowCol, updateOthers.getValue()); + updatedRC.remove(updateOthers.getKey()); + + } + + setDomainRowCol(updatedRC); + + for (Map.Entry<String, Domain> entry : updatedRCSortedTrunc.entrySet()) { + Domain d = entry.getValue(); + if (collapsedDomains.size() == 2 && collapsedDomains.containsKey("00") && collapsedDomains.containsKey("01") + && domainsToCollapse.equals("RAN")) { + if (d.getName().equals("USP")) + d.setDomainToLayoutWd(prevDomXCordinate); + else if (d.getName().equals("VNI")) + d.setDomainToLayoutWd(prevDomXCordinate + 8); + else + d.setDomainToLayoutWd(prevDomXCordinate + 10); + } else if (domainsToCollapse.equals("RAN") && !d.getName().equals("EPC") && collapsedDomains.size() < 3) + d.setDomainToLayoutWd(prevDomXCordinate + 11); + else if (domainsToCollapse.equals("RAN") && collapsedDomains.size() == 3 + && collapsedDomains.containsKey("01") && collapsedDomains.containsKey("04")) { + if (d.getName().equals("USP")) + d.setDomainToLayoutWd(prevDomXCordinate); + else + d.setDomainToLayoutWd(prevDomXCordinate + 10); + } + + else if (collapsedDomains.containsKey("00") && collapsedDomains.size() == 3 + && collapsedDomains.containsKey("01") && collapsedDomains.containsKey("02")) { + if (d.getName().equals("VNI")) + d.setDomainToLayoutWd(prevDomXCordinate + 10); + else + d.setDomainToLayoutWd(prevDomXCordinate); + + } + + else if (collapsedDomains.containsKey("00") && collapsedDomains.size() == 3 + && collapsedDomains.containsKey("01") && collapsedDomains.containsKey("03")) { + if (d.getName().equals("VNI")) + d.setDomainToLayoutWd(prevDomXCordinate + 10); + else + d.setDomainToLayoutWd(prevDomXCordinate); + + } + + else { + d.setDomainToLayoutWd(prevDomXCordinate); + } + d.computeConatinerPositions(); + prevDomXCordinate = d.getP().getX(); + for (Map.Entry<String, Container> entry1 : d.getContainerRowCol().entrySet()) { + Container c = entry1.getValue(); + c.computeSize(); + c.computeElementPositions(); + if (c.getContainerRowCol() != null) { + for (Map.Entry<String, Container> entryInner : c.getContainerRowCol().entrySet()) { + Container inner = entryInner.getValue(); + inner.computeElementPositions(); + } + } + } + } + computeDomainPositions(); + return this; + + } + + public Layout uncollapseDomainModified(String domainToUnCollapse) { + Map<String, Domain> currentDomainsSorted = new TreeMap<>(domainRowCol); + Map<String, Domain> updateDomains = new TreeMap<>(); + Map<String, Domain> collapsedDomainList = getCollapsedDomains(); + Map<String, Domain> collapsedDomainListSorted = new TreeMap<>(collapsedDomainList); + + List<Domain> domainstoUpd = new ArrayList<>(); + + int colToUnCollapse = 99; + + Domain domainToInsert = null; + + if (collapsedDomains.size() == 0) { + for (Map.Entry<String, Domain> unindexDomain : originalDomainRowCol.entrySet()) { + Domain dm = unindexDomain.getValue(); + dm.setIndexChanged(false); + } + } + + for (Map.Entry<String, Domain> entry : collapsedDomainListSorted.entrySet()) { + if (entry.getValue().getName().equals(domainToUnCollapse)) { + colToUnCollapse = Character.getNumericValue(entry.getKey().toCharArray()[1]); + domainToInsert = entry.getValue(); + collapsedDomainList.remove(entry.getKey()); + break; + } + } + + domainstoUpd.add(domainToInsert); + + int lastKeyCol = -1; + for (Map.Entry<String, Domain> entry : originalDomainRowCol.entrySet()) { + int currcol = Character.getNumericValue(entry.getKey().toCharArray()[1]); + if (currcol < colToUnCollapse) { + for (Map.Entry<String, Domain> currDomainsEntry : currentDomainsSorted.entrySet()) { + if (currDomainsEntry.getValue().getName().equals(entry.getValue().getName())) { + updateDomains.put(currDomainsEntry.getKey(), currDomainsEntry.getValue()); + lastKeyCol = Character.getNumericValue(currDomainsEntry.getKey().toCharArray()[1]); + break; + } + } + } else { + String newKey = "0" + String.valueOf(lastKeyCol + 1); + if (currcol == colToUnCollapse) { + updateDomains.put(newKey, domainToInsert); + ++lastKeyCol; + } else { + for (Map.Entry<String, Domain> currDomainsEnt : currentDomainsSorted.entrySet()) { + if (currDomainsEnt.getValue().getName().equals(entry.getValue().getName())) { + updateDomains.put(newKey, currDomainsEnt.getValue()); + domainstoUpd.add(currDomainsEnt.getValue()); + ++lastKeyCol; + break; + } + } + } + + } + } + + setNumberofColsofDomains(getNumberofColsofDomains() + 1); + setDomainRowCol(updateDomains); + setCollapsedDomains(collapsedDomainList); + + for (int i = 0; i < domainstoUpd.size(); i++) { + Domain d = domainstoUpd.get(i); + double newX = 0.0; + if (i + 1 < domainstoUpd.size()) + newX = domainstoUpd.get(i + 1).getP().getX(); + else + newX = domainstoUpd.get(i).getP().getX() + 32; + + if (d.getName().equals("Datacenter with AIC")) + newX += 2; + d.setDomainToLayoutWd(newX); + + d.computeConatinerPositions(); + for (Map.Entry<String, Container> entry1 : d.getContainerRowCol().entrySet()) { + Container c = entry1.getValue(); + c.computeSize(); + c.computeElementPositions(); + if (c.getContainerRowCol() != null) { + for (Map.Entry<String, Container> entryInner : c.getContainerRowCol().entrySet()) { + Container inner = entryInner.getValue(); + inner.computeElementPositions(); + } + } + } + + } + + computeDomainPositions(); + return this; + + } + + public Layout uncollapseDomain(String domainToCollapse) { + Map<String, Domain> currentDomainsSorted = new TreeMap<>(domainRowCol); + Map<String, Domain> updateDomains = new TreeMap<String, Domain>(); + Map<String, Domain> collapsedDomainList = getCollapsedDomains(); + Map<String, Domain> collapsedDomainListSorted = new TreeMap<String, Domain>(collapsedDomainList); + + List<Domain> domainstoUpd = new ArrayList<>(); + for (Map.Entry<String, Domain> entry : collapsedDomainListSorted.entrySet()) { + if (entry.getValue().getName().equals(domainToCollapse)) { + Domain domainInserted = entry.getValue(); + if (currentDomainsSorted != null) { + int colToUnCollapse = Character.getNumericValue(entry.getKey().toCharArray()[1]); + for (Map.Entry<String, Domain> curr : currentDomainsSorted.entrySet()) { + if (Character.getNumericValue(curr.getKey().toCharArray()[1]) < colToUnCollapse) { + updateDomains.put(curr.getKey(), curr.getValue()); + } else { + updateDomains.put("0" + String.valueOf(Integer.parseInt(curr.getKey()) + 1), + curr.getValue()); + domainstoUpd.add(curr.getValue()); + } + } + } + updateDomains.put(entry.getKey(), entry.getValue()); + collapsedDomainList.remove(entry.getKey()); + break; + + } + } + setNumberofColsofDomains(getNumberofColsofDomains() + 1); + setDomainRowCol(updateDomains); + setCollapsedDomains(collapsedDomainList); + + for (int i = 0; i < domainstoUpd.size(); i++) { + Domain d = domainstoUpd.get(i); + double newX = 0.0; + if (i + 1 < domainstoUpd.size()) + newX = domainstoUpd.get(i + 1).getP().getX(); + // d.setDomainToLayoutWd(domainstoUpd.get(i+1).getP().getX()); + else + newX = domainstoUpd.get(i).getP().getX() + 38; + + d.setDomainToLayoutWd(newX); + + d.computeConatinerPositions(); + for (Map.Entry<String, Container> entry1 : d.getContainerRowCol().entrySet()) { + Container c = entry1.getValue(); + c.computeSize(); + c.computeElementPositions(); + if (c.getContainerRowCol() != null) { + for (Map.Entry<String, Container> entryInner : c.getContainerRowCol().entrySet()) { + Container inner = entryInner.getValue(); + inner.computeElementPositions(); + } + } + } + } + + computeDomainPositions(); + return this; + } + + public Layout uncollapseDomainNew(String domainToUnCollapse) { + Map<String, Domain> currentDomainsSorted = new TreeMap<String, Domain>(domainRowCol); + Map<String, Domain> updateDomains = new TreeMap<String, Domain>(); + Map<String, Domain> collapsedDomainList = getCollapsedDomains(); + + List<Domain> domainstoUpd = new ArrayList<>(); + + // nline + List<Domain> collapsedDomainNewLL = getCollapsedDomainsNewList(); + + int colToUnCollapse = 99; + + Domain domainToInsert = null; + + // nline + if (collapsedDomainNewLL.isEmpty()) { + for (Map.Entry<String, Domain> unindexDomain : originalDomainRowCol.entrySet()) { + Domain dm = unindexDomain.getValue(); + dm.setIndexChanged(false); + } + } + + for (Map.Entry<String, Domain> entry : originalDomainRowCol.entrySet()) { + if (entry.getValue().getName().equals(domainToUnCollapse)) { + colToUnCollapse = Character.getNumericValue(entry.getKey().toCharArray()[1]); + domainToInsert = entry.getValue(); + collapsedDomainList.remove(entry.getKey()); + // nline + collapsedDomainNewLL.remove(entry.getValue()); + break; + } + } + + domainstoUpd.add(domainToInsert); + + int lastKeyCol = -1; + for (Map.Entry<String, Domain> entry : originalDomainRowCol.entrySet()) { + int currcol = Character.getNumericValue(entry.getKey().toCharArray()[1]); + if (currcol < colToUnCollapse) { + for (Map.Entry<String, Domain> currDomainsEntry : currentDomainsSorted.entrySet()) { + if (currDomainsEntry.getValue().getName().equals(entry.getValue().getName())) { + updateDomains.put(currDomainsEntry.getKey(), currDomainsEntry.getValue()); + lastKeyCol = Character.getNumericValue(currDomainsEntry.getKey().toCharArray()[1]); + break; + } + } + } else { + String newKey = "0" + String.valueOf(lastKeyCol + 1); + if (currcol == colToUnCollapse) { + updateDomains.put(newKey, domainToInsert); + ++lastKeyCol; + } else { + for (Map.Entry<String, Domain> currDomainsEnt : currentDomainsSorted.entrySet()) { + if (currDomainsEnt.getValue().getName().equals(entry.getValue().getName())) { + updateDomains.put(newKey, currDomainsEnt.getValue()); + domainstoUpd.add(currDomainsEnt.getValue()); + ++lastKeyCol; + break; + } + } + } + + } + } + + setNumberofColsofDomains(getNumberofColsofDomains() + 1); + setDomainRowCol(updateDomains); + + double currDistFromLftMargin = 11.0; + for (Map.Entry<String, Domain> cd : updateDomains.entrySet()) { + Domain d = cd.getValue(); + double accountPlus = accountForPlusSpaceBefore(d); + d.setDomainToLayoutWd(currDistFromLftMargin + accountPlus); + d.computeConatinerPositions(); + for (Map.Entry<String, Container> entry1 : d.getContainerRowCol().entrySet()) { + Container c = entry1.getValue(); + c.computeSize(); + c.computeElementPositions(); + if (c.getContainerRowCol() != null) { + for (Map.Entry<String, Container> entryInner : c.getContainerRowCol().entrySet()) { + Container inner = entryInner.getValue(); + inner.computeElementPositions(); + } + } + } + currDistFromLftMargin += d.computeSize().getWidth() + 2; + + } + + // nline + updatePlusPosition(collapsedDomainNewLL, updateDomains); + + // order changed + setCollapsedDomains(collapsedDomainList); + + // nline + setCollapsedDomainsNewList(collapsedDomainNewLL); + + computeDomainPositionsModified(); + return this; + + } + + public Layout uncollapseDomainNew1(String domainToUnCollapse) { + + if (domainToUnCollapse == null || domainToUnCollapse.isEmpty()) + return null; + + Map<String, Domain> currentDomainsSorted = new TreeMap<String, Domain>(domainRowCol); + Map<String, Domain> updateDomains = new TreeMap<String, Domain>(); + Map<String, Domain> collapsedDomainList = getCollapsedDomains(); + + List<Domain> domainstoUpd = new ArrayList<>(); + + // nline + List<Domain> collapsedDomainNewLL = getCollapsedDomainsNewList(); + + int colToUnCollapse = 99; + + Domain domainToInsert = null; + + // nline + if (collapsedDomainNewLL.isEmpty()) { + for (Map.Entry<String, Domain> unindexDomain : originalDomainRowCol.entrySet()) { + Domain dm = unindexDomain.getValue(); + dm.setIndexChanged(false); + } + } + + for (Map.Entry<String, Domain> entry : originalDomainRowCol.entrySet()) { + if (entry.getValue().getName().equals(domainToUnCollapse)) { + colToUnCollapse = Character.getNumericValue(entry.getKey().toCharArray()[1]); + domainToInsert = entry.getValue(); + collapsedDomainList.remove(entry.getKey()); + // nline + collapsedDomainNewLL.remove(entry.getValue()); + break; + } + } + + domainstoUpd.add(domainToInsert); + + int lastKeyCol = -1; + for (Map.Entry<String, Domain> entry : originalDomainRowCol.entrySet()) { + int currcol = Character.getNumericValue(entry.getKey().toCharArray()[1]); + if (currcol < colToUnCollapse) { + for (Map.Entry<String, Domain> currDomainsEntry : currentDomainsSorted.entrySet()) { + if (currDomainsEntry.getValue().getName().equals(entry.getValue().getName())) { + updateDomains.put(currDomainsEntry.getKey(), currDomainsEntry.getValue()); + lastKeyCol = Character.getNumericValue(currDomainsEntry.getKey().toCharArray()[1]); + break; + } + } + } else { + String newKey = "0" + String.valueOf(lastKeyCol + 1); + if (currcol == colToUnCollapse) { + updateDomains.put(newKey, domainToInsert); + ++lastKeyCol; + } else { + for (Map.Entry<String, Domain> currDomainsEnt : currentDomainsSorted.entrySet()) { + if (currDomainsEnt.getValue().getName().equals(entry.getValue().getName())) { + updateDomains.put(newKey, currDomainsEnt.getValue()); + domainstoUpd.add(currDomainsEnt.getValue()); + ++lastKeyCol; + break; + } + } + } + + } + } + + setNumberofColsofDomains(getNumberofColsofDomains() + 1); + setDomainRowCol(updateDomains); + + double currDistFromLftM = 11.0; + + boolean isDisplayed; + for (Map.Entry<String, Domain> orgEntry : originalDomainRowCol.entrySet()) { + isDisplayed = false; + for (Map.Entry<String, Domain> cd : updateDomains.entrySet()) { + if (cd.getValue().getName().equals(orgEntry.getValue().getName())) { + Domain d = cd.getValue(); + d.setDomainToLayoutWd(currDistFromLftM); + d.computeConatinerPositions(); + for (Map.Entry<String, Container> entry1 : d.getContainerRowCol().entrySet()) { + Container c = entry1.getValue(); + c.computeSize(); + c.computeElementPositions(); + if (c.getContainerRowCol() != null) { + for (Map.Entry<String, Container> entryInner : c.getContainerRowCol().entrySet()) { + Container inner = entryInner.getValue(); + inner.computeElementPositions(); + } + } + } + currDistFromLftM += d.computeSize().getWidth() + 1; + isDisplayed = true; + break; + } + } + + if (!isDisplayed) { + Domain myCollapsed = orgEntry.getValue(); + myCollapsed.setNewXafterColl(currDistFromLftM); + currDistFromLftM += 4; + } + } + + // order changed + setCollapsedDomains(collapsedDomainList); + + // nline + setCollapsedDomainsNewList(collapsedDomainNewLL); + + computeDomainPositionsModified(); + return this; + + } + + private void updatePlusPosition(List<Domain> collapsedDNewL, Map<String, Domain> displayedDomainMap) { + List<Domain> copyCollapseList = new ArrayList<>(); + + for (Domain copyCollapse : collapsedDNewL) { + copyCollapseList.add(copyCollapse); + } + + int orgColofCollapsed = -1; + int orgColofDisplayed = -1; + int orgColofDisplayedOtherPlus = -1; + + for (Domain plus : collapsedDNewL) { + double distOfCollFrmLft = 0.0; + for (Map.Entry<String, Domain> colCheck : originalDomainRowCol.entrySet()) { + if (colCheck.getValue().getName().equals(plus.getName())) { + orgColofCollapsed = Character.getNumericValue(colCheck.getKey().toCharArray()[1]); + break; + } + } + for (Map.Entry<String, Domain> displayedEntry : displayedDomainMap.entrySet()) { + + for (Map.Entry<String, Domain> colCheck1 : originalDomainRowCol.entrySet()) { + if (colCheck1.getValue().getName().equals(displayedEntry.getValue().getName())) { + orgColofDisplayed = Character.getNumericValue(colCheck1.getKey().toCharArray()[1]); + break; + } + } + if (orgColofDisplayed < orgColofCollapsed) { + distOfCollFrmLft += displayedEntry.getValue().computeSize().getWidth(); + } + + } + + for (Domain collp : copyCollapseList) { + if (!collp.getName().equals(plus.getName())) { + for (Map.Entry<String, Domain> colCheck2 : originalDomainRowCol.entrySet()) { + if (colCheck2.getValue().getName().equals(collp.getName())) { + orgColofDisplayedOtherPlus = Character.getNumericValue(colCheck2.getKey().toCharArray()[1]); + break; + } + } + if (orgColofDisplayedOtherPlus < orgColofCollapsed) { + distOfCollFrmLft += 3.0; + } + } + } + + plus.setNewXafterColl(distOfCollFrmLft + 1.5); + + } + } + + private double accountForPlusSpaceBefore(Domain d) { + + int orgColofCollapsed = 0; + int orgColofDisplayed = 0; + double distFromLftM = 0.0; + + for (Map.Entry<String, Domain> colCheckk : originalDomainRowCol.entrySet()) { + if (colCheckk.getValue().getName().equals(d.getName())) { + orgColofDisplayed = Character.getNumericValue(colCheckk.getKey().toCharArray()[1]); + break; + } + } + + for (Domain collapsed : getCollapsedDomainsNewList()) { + for (Map.Entry<String, Domain> colCheck : originalDomainRowCol.entrySet()) { + if (colCheck.getValue().getName().equals(collapsed.getName())) { + orgColofCollapsed = Character.getNumericValue(colCheck.getKey().toCharArray()[1]); + break; + } + } + + if (orgColofCollapsed < orgColofDisplayed) { + distFromLftM += 2; + } + } + return distFromLftM; + + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/NameValueId.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/NameValueId.java new file mode 100644 index 00000000..eb1ba450 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/NameValueId.java @@ -0,0 +1,105 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +import java.io.Serializable; + +public class NameValueId implements Serializable { + + private static final long serialVersionUID = 1L; + private String lab; + private String val; + + public NameValueId() { + // No-arg constructor + } + + public NameValueId(String value, String label) { + setVal(value); + setLab(label); + } + + public String getLab() { + return lab; + } + + public String getVal() { + return val; + } + + public void setLab(String label) { + this.lab = label; + } + + public void setVal(String value) { + this.val = value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (o == null) { + return false; + } + + if (!(o instanceof NameValueId)) { + return false; + } + + final NameValueId nameValueId = (NameValueId) o; + + if (!getVal().equals(nameValueId.getVal())) { + return false; + } + + if (!getLab().equals(nameValueId.getLab())) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + return getVal().hashCode(); + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Position.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Position.java new file mode 100644 index 00000000..e19da235 --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Position.java @@ -0,0 +1,60 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +public class Position { + double x; + double y; + + public double getX() { + return x; + } + + public void setX(double x) { + this.x = x; + } + + public double getY() { + return y; + } + + public void setY(double y) { + this.y = y; + } + +} diff --git a/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Size.java b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Size.java new file mode 100644 index 00000000..d4c7942b --- /dev/null +++ b/ecomp-sdk/epsdk-domain/src/main/java/org/onap/portalsdk/core/domain/support/Size.java @@ -0,0 +1,60 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalsdk.core.domain.support; + +public class Size { + private double width; + private double height; + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + +} |