All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.geoserver.wfs.NativeElementHandler Maven / Gradle / Ivy

The newest version!
/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
 * This code is licensed under the GPL 2.0 license, availible at the root
 * application directory.
 */
package org.geoserver.wfs;

import net.opengis.wfs.NativeType;
import net.opengis.wfs.TransactionResponseType;
import net.opengis.wfs.TransactionType;
import org.eclipse.emf.ecore.EObject;
import java.util.Map;
import java.util.logging.Logger;
import javax.xml.namespace.QName;


/**
 * Processes native elements as unrecognized ones, and checks wheter they can be
 * safely ignored on not.
 *
 * @author Andrea Aime - TOPP
 */
public class NativeElementHandler implements TransactionElementHandler {
    /**
     * logger
     */
    static Logger LOGGER = org.geotools.util.logging.Logging.getLogger("org.geoserver.wfs");

    /**
     * Empty array of QNames
     */
    protected static final QName[] EMPTY_QNAMES = new QName[0];

    public void checkValidity(EObject element, Map featureTypeInfos)
        throws WFSTransactionException {
        NativeType nativ = (NativeType) element;

        if (!nativ.isSafeToIgnore()) {
            throw new WFSTransactionException("Native element:" + nativ.getVendorId()
                + " unsupported but marked as" + " unsafe to ignore", "InvalidParameterValue");
        }
    }

    public void execute(EObject element, TransactionType request, Map featureSources,
        TransactionResponseType response, TransactionListener listener)
        throws WFSTransactionException {
        // nothing to do, we just ignore if possible
    }

    public Class getElementClass() {
        return NativeType.class;
    }

    public QName[] getTypeNames(EObject element) throws WFSTransactionException {
        // we don't handle this
        return EMPTY_QNAMES;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy