/* * Copyright (c) 2008-2011 EMC Corporation * All Rights Reserved */ package com.emc.storageos.api.service.impl.response; import javax.xml.bind.annotation.*; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import com.emc.storageos.db.client.model.DataObject; import com.emc.storageos.db.client.model.ScopedLabelSet; import com.emc.storageos.model.RestLinkRep; import com.emc.storageos.model.adapters.CalendarAdapter; import java.net.URI; import java.util.Calendar; @XmlAccessorType(XmlAccessType.PROPERTY) @Deprecated public abstract class LegacyDataObjectRestRep { private class ConcreteDataObject extends DataObject { } protected DataObject _resource; public LegacyDataObjectRestRep() { _resource = new ConcreteDataObject(); } public LegacyDataObjectRestRep(DataObject resource) { _resource = resource; } protected DataObject getData() { return _resource; } @XmlElement public String getName() { return _resource.getLabel(); } public void setName(String name) { _resource.setLabel(name); } @XmlElement(name = "id") public URI getId() { return _resource.getId(); } public void setId(URI id) { _resource.setId(id); } @XmlElement(name = "link") public RestLinkRep getRestLink() { return new RestLinkRep("self", RestLinkFactory.newLink(_resource)); } public void setRestLink(RestLinkRep link) { } @XmlElement(name = "creation_time") @XmlJavaTypeAdapter(CalendarAdapter.class) public Calendar getCreationTime() { return _resource.getCreationTime(); } public void setCreationTime(Calendar creationTime) { _resource.setCreationTime(creationTime); } @XmlElement public Boolean getInactive() { return _resource.getInactive(); } public void setInactive(Boolean inactive) { _resource.setInactive(inactive); } @XmlElementWrapper(name = "tags") public ScopedLabelSet getTag() { return _resource.getTag(); } public void setTag(ScopedLabelSet tags) { _resource.setTag(tags); } }