Package org.geoserver.gss.xml

Source Code of org.geoserver.gss.xml.GetDiffResponseTypeBinding

/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.gss.xml;

import javax.xml.namespace.QName;

import net.opengis.wfs.TransactionType;

import org.geoserver.gss.GetDiffResponseType;
import org.geotools.xml.ElementInstance;
import org.geotools.xml.Node;

public class GetDiffResponseTypeBinding extends GSSRequestBinding {

    public QName getTarget() {
        return GSS.GetDiffResponse;
    }

    public Class getType() {
        return GetDiffResponseType.class;
    }

    @Override
    public Object parse(ElementInstance instance, Node node, Object value) throws Exception {
        GetDiffResponseType gdr = new GetDiffResponseType();
        if (node.hasAttribute("fromVersion")) {
            gdr.setFromVersion(((Number) node.getAttributeValue("fromVersion")).longValue());
        }
        if (node.hasAttribute("toVersion")) {
            gdr.setToVersion(((Number) node.getAttributeValue("toVersion")).longValue());
        }
        if (node.hasAttribute("typeName")) {
            gdr.setTypeName((QName) node.getAttributeValue("typeName"));
        }
        if (node.hasChild("Changes")) {
            gdr.setTransaction((TransactionType) node.getChildValue("Changes"));
        }

        return gdr;
    }

    @Override
    public Object getProperty(Object object, QName name) throws Exception {
        GetDiffResponseType gdr = (GetDiffResponseType) object;

        if (name.getLocalPart().equals("typeName")) {
            return gdr.getTypeName();
        } else if (name.getLocalPart().equals("fromVersion")) {
            return gdr.getFromVersion();
        } else if (name.getLocalPart().equals("toVersion")) {
            return gdr.getToVersion();
        } else if (name.getLocalPart().equals("Changes")) {
            return gdr.getTransaction();
        }

        return super.getProperty(object, name);
    }

}
TOP

Related Classes of org.geoserver.gss.xml.GetDiffResponseTypeBinding

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.