blob: 890ec294d4bc82e815edecfefc13f294d61b897c [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.oxm.mappings.namespaces;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.persistence.oxm.XMLRoot;
public class Department {
List teams;
String deptName;
public Department() {
teams = new ArrayList();
}
public void setTeams(List teams) {
this.teams = teams;
}
public List getTeams() {
return teams;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getDeptName() {
return deptName;
}
public boolean equals(Object o) {
try {
Department dept = (Department)o;
if (!this.getDeptName().equals(dept.getDeptName())) {
return false;
}
if((dept.getTeams() == null && getTeams()!=null) || (getTeams() ==null && dept.getTeams()!=null))
{
return false;
}
if(dept.getTeams()!=null){
if (dept.getTeams().size() != getTeams().size()) {
return false;
}
for(int i=0;i<dept.getTeams().size(); i++)
{
Object nextInList = dept.getTeams().get(i);
Object nextInOtherList = getTeams().get(i);
if(nextInList instanceof Team){
if(!nextInList.equals(nextInOtherList)){
return false;
}
}else if(nextInList instanceof XMLRoot) {
if(!(nextInOtherList instanceof XMLRoot)){
return false;
}
if (!(((XMLRoot)nextInList).getLocalName().equals(((XMLRoot)nextInOtherList).getLocalName()))) {
return false;
}if (!(((XMLRoot)nextInList).getNamespaceURI().equals(((XMLRoot)nextInOtherList).getNamespaceURI()))){
return false;
}
}
}
//if ((!dept.getTeams().containsAll(getTeams())) || (!getTeams().containsAll(dept.getTeams()))) {
// return false;
//}
}
} catch (ClassCastException e) {
return false;
}
return true;
}
public String toString() {
String string = "Dept- name:";
string += this.getDeptName();
if(getTeams() != null){
for (int i = 0; i < getTeams().size(); i++) {
Object next = getTeams().get(i);
if(next instanceof Team){
string += " " + getTeams().get(i).toString();
}else if(next instanceof XMLRoot)
{
string += " xmlRoot:" + ((XMLRoot)next).getLocalName() +" " + ((XMLRoot)next).getNamespaceURI();
}
}
}
return string;
}
}