view artifacts/src/main/java/org/dive4elements/river/artifacts/model/ManagedFacetAdapter.java @ 5863:4897a58c8746

River artifacts: Added new copyright headers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:40:59 +0200
parents 5aa05a7a34b7
children af13ceeba52a
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3) 
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details. 
 */

package org.dive4elements.river.artifacts.model;

import org.apache.log4j.Logger;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import org.dive4elements.artifacts.ArtifactNamespaceContext;

import org.dive4elements.artifactdatabase.state.DefaultFacet;
import org.dive4elements.artifactdatabase.state.Facet;

import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;


public class ManagedFacetAdapter extends ManagedFacet {

    protected Facet facet;

    public ManagedFacetAdapter() {
    }


    protected Logger logger = Logger.getLogger(ManagedFacetAdapter.class);

    public ManagedFacetAdapter(
        Facet   facet,
        String  uuid,
        int     pos,
        int     active,
        int     visible
    ) {
        super(
            facet.getName(),
            facet.getIndex(),
            facet.getDescription(),
            uuid,
            pos,
            active,
            visible);

        this.facet = facet;
    }


    @Override
    public Node toXML(Document doc) {
        ElementCreator ec = new ElementCreator(
            doc,
            ArtifactNamespaceContext.NAMESPACE_URI,
            ArtifactNamespaceContext.NAMESPACE_PREFIX);

        Element e = (Element) facet.toXML(doc);
        ec.addAttr(e, "artifact", getArtifact(), true);
        ec.addAttr(e, "facet", getName(), true);
        ec.addAttr(e, "pos", String.valueOf(getPosition()), true);
        ec.addAttr(e, "active", String.valueOf(getActive()), true);
        ec.addAttr(e, "visible", String.valueOf(getVisible()), true);

        return e;
    }

    @Override
    public Facet deepCopy() {
        ManagedFacetAdapter copy = new ManagedFacetAdapter();
        copy.set((DefaultFacet)this);
        copy.set((ManagedFacet)this);
        copy.facet = facet.deepCopy();
        return facet;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org