package org.geotools.wfs.v1_0;
import javax.xml.namespace.QName;
import net.opengis.ows10.CodeType;
import net.opengis.ows10.KeywordsType;
import net.opengis.ows10.Ows10Factory;
import net.opengis.ows10.ServiceIdentificationType;
import org.geotools.xml.AbstractComplexEMFBinding;
import org.geotools.xml.AttributeInstance;
import org.geotools.xml.ElementInstance;
import org.geotools.xml.Node;
public class ServiceTypeBinding extends AbstractComplexEMFBinding {
@Override
public QName getTarget() {
return WFSCapabilities.Service;
}
@SuppressWarnings("rawtypes")
@Override
public Class getType() {
return ServiceIdentificationType.class;
}
@Override
public Object parse(ElementInstance instance, Node node, Object value) throws Exception {
Ows10Factory ows10Factory = Ows10Factory.eINSTANCE;
ServiceIdentificationType service = ows10Factory.createServiceIdentificationType();
String name = (String) node.getChildValue("Name");
String title = (String) node.getChildValue("Title");
String keywords = (String) node.getChildValue("Keywords");
if (keywords != null) {
KeywordsType kwd = ows10Factory.createKeywordsType();
String[] split = (keywords).split(",");
for (int i = 0; i < split.length; i++) {
String kw = split[i].trim();
kwd.getKeyword().add(kw);
}
service.getKeywords().add(kwd);
}
String abstract_ = (String) node.getChildValue("Abstract");
String accessConstraints = (String) node.getChildValue("AccessConstraints");
String fees = (String) node.getChildValue("Fees");
// OnlineResource
CodeType serviceType = ows10Factory.createCodeType();
serviceType.setValue(name);
service.setServiceType(serviceType);
service.setServiceTypeVersion("1.0.0");
service.setTitle(title);
service.setAbstract(abstract_);
service.setAccessConstraints(accessConstraints);
service.setFees(fees);
// service.setServiceType(value)
// service.setServiceTypeVersion(serviceTypeVersion);
return service;
}
}