/**
* personium.io
* Copyright 2014 FUJITSU LIMITED
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.fujitsu.dc.test.jersey.box;
import static org.junit.Assert.assertEquals;
import java.util.Set;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlType;
/**
* Workspaceを扱うオブジェクト.
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(namespace = "http://www.w3.org/2007/app")
public class Workspace {
Workspace() {
}
Workspace(String title, Set<Collection> collections) {
this.title = title;
this.collections = collections;
}
@XmlElement(namespace = "http://www.w3.org/2005/Atom", name = "title", type = String.class)
String title;
@XmlElements({@XmlElement(name = "collection", type = Collection.class) })
Set<Collection> collections;
/**
* サービスドキュメントの比較.
* @param obj オブジェクト
* @return equal trueまたはfalseを返却する
*/
public boolean isEqualTo(Object obj) {
Workspace ws = (Workspace) obj;
if (collections.size() != ws.collections.size()) {
Edmx.printResult(this, "Collection", ws.collections.toString(), collections.toString());
}
assertEquals(collections, ws.collections);
if (!title.equals(ws.title)) {
Edmx.printResult(this, "Title", ws.title, title);
return false;
}
return true;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Workspace => title:").append(title).append("\n");
for (Collection collection : collections) {
builder.append(collection);
}
return builder.toString();
}
@Override
public int hashCode() {
return 0;
}
}