package org.openntf.domino.graph; import java.io.Serializable; import java.util.logging.Logger; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.blueprints.Vertex; @Deprecated public class DominoEdge extends DominoElement implements IDominoEdge, Serializable { @SuppressWarnings("unused") private static final Logger log_ = Logger.getLogger(DominoEdge.class.getName()); private static final long serialVersionUID = 1L; public static final String GRAPH_TYPE_VALUE = "OpenEdge"; public static final String IN_NAME = "_OPEN_IN"; public static final String LABEL_NAME = "_OPEN_LABEL"; public static final String OUT_NAME = "_OPEN_OUT"; transient Vertex in_; private String inKey_; transient Vertex out_; private String outKey_; private String label_; public DominoEdge(final DominoGraph parent, final org.openntf.domino.Document doc) { super(parent, doc); } @Override public String getLabel() { if (label_ == null) { label_ = getProperty(DominoEdge.LABEL_NAME, String.class); } return label_; } @Override public Vertex getVertex(final Direction direction) throws IllegalArgumentException { return parent_.getVertex(getVertexId(direction)); } public String getVertexId(final Direction direction) { if (direction == Direction.IN) { if (inKey_ == null) { inKey_ = getProperty(DominoEdge.IN_NAME, String.class); } return inKey_; } if (direction == Direction.OUT) { if (outKey_ == null) { outKey_ = getProperty(DominoEdge.OUT_NAME, String.class); } return outKey_; } return null; } @Override public void remove() { getParent().removeEdge(this); } public void relate(final DominoVertex in, final DominoVertex out) { setInDoc(in); setOutDoc(out); } public void setInDoc(final IDominoVertex in) { in.addInEdge(this); in_ = in; inKey_ = (String) in.getId(); setProperty(DominoEdge.IN_NAME, inKey_); } void setLabel(final String label) { label_ = label; setProperty(DominoEdge.LABEL_NAME, label); } public void setOutDoc(final IDominoVertex out) { out.addOutEdge(this); out_ = out; outKey_ = (String) out.getId(); setProperty(DominoEdge.OUT_NAME, outKey_); } /* * (non-Javadoc) * * @see org.openntf.domino.graph.IDominoEdge#getOtherVertex(com.tinkerpop.blueprint.Vertex) */ @Override public Vertex getOtherVertex(final Vertex vertex) { if (vertex.getId().equals(getVertexId(Direction.IN))) { return getVertex(Direction.OUT); } else { return getVertex(Direction.IN); } } // @Override // public void save() { // Object o = getProperty("Form", String.class); // if (o == null || ((String) o).length() < 1) { // setProperty("Form", DominoEdge.GRAPH_TYPE_VALUE); // } // super.save(); // } }