package org.easysoa.registry.types.adapters;
import java.io.Serializable;
import java.util.List;
import org.easysoa.registry.InvalidDoctypeException;
import org.easysoa.registry.types.Deliverable;
import org.easysoa.registry.utils.ListUtils;
import org.nuxeo.ecm.core.api.ClientException;
import org.nuxeo.ecm.core.api.DocumentModel;
import org.nuxeo.ecm.core.api.model.PropertyException;
/**
*
* @author mkalam-alami
*
*/
public class DeliverableAdapter extends SoaNodeAdapter implements Deliverable {
public DeliverableAdapter(DocumentModel documentModel)
throws InvalidDoctypeException, PropertyException, ClientException {
super(documentModel);
}
public String getDoctype() {
return Deliverable.DOCTYPE;
}
public String getNature() throws ClientException {
return (String) documentModel.getPropertyValue(XPATH_NATURE);
}
public void setNature(String nature) throws ClientException {
documentModel.setPropertyValue(XPATH_NATURE, nature);
}
public String getApplication() throws ClientException {
return (String) documentModel.getPropertyValue(XPATH_APPLICATION);
}
public void setApplication(String application) throws ClientException {
documentModel.setPropertyValue(XPATH_NATURE, application);
}
public String getVersion() throws Exception {
return (String) documentModel.getPropertyValue(XPATH_SOAVERSION);
}
@Override
public void setVersion(String version) throws Exception {
documentModel.setPropertyValue(XPATH_SOAVERSION, version);
}
@Override
public List<String> getDependencies() throws Exception {
Serializable[] dependenciesArray = (Serializable[]) documentModel.getPropertyValue(XPATH_DEPENDENCIES);
return ListUtils.toStringList(dependenciesArray);
}
@Override
public void setDependencies(List<String> dependencies) throws Exception {
documentModel.setPropertyValue(XPATH_DEPENDENCIES, dependencies.toArray());
}
}