/** * {@inheritDoc} * * @see GraphSession.Operations#materializeProperties(org.modeshape.graph.Node, GraphSession.Node) */ public void materializeProperties( org.modeshape.graph.Node persistentNode, Node<Payload, PropertyPayload> node ) { // Create the map of property info objects ... Map<Name, PropertyInfo<PropertyPayload>> properties = new HashMap<Name, PropertyInfo<PropertyPayload>>(); for (Property property : persistentNode.getProperties()) { Name propertyName = property.getName(); PropertyInfo<PropertyPayload> info = new PropertyInfo<PropertyPayload>(property, property.isMultiple(), Status.UNCHANGED, null); properties.put(propertyName, info); } // Set only the children ... node.loadedWith(properties); }
protected void print( WorkspaceType workspace, NodeType node, int level ) { StringBuilder sb = new StringBuilder(); sb.append(StringUtil.createString(' ', level * 2)); sb.append(readable(node.getName())).append(" (").append(node.getUuid()).append(") {"); boolean first = true; for (Property property : node.getProperties().values()) { if (first) first = false; else sb.append(','); sb.append(readable(property.getName())).append('='); if (property.isMultiple()) sb.append(property.getValuesAsArray()); else sb.append(readable(property.getFirstValue())); } sb.append('}'); System.out.println(sb); for (NodeType child : getChildren(workspace, node)) { print(workspace, child, level + 1); } }
protected void print( WorkspaceType workspace, NodeType node, int level ) { StringBuilder sb = new StringBuilder(); sb.append(StringUtil.createString(' ', level * 2)); sb.append(readable(node.getName())).append(" (").append(node.getUuid()).append(") {"); boolean first = true; for (Property property : node.getProperties().values()) { if (first) first = false; else sb.append(','); sb.append(readable(property.getName())).append('='); if (property.isMultiple()) sb.append(property.getValuesAsArray()); else sb.append(readable(property.getFirstValue())); } sb.append('}'); System.out.println(sb); for (NodeType child : getChildren(workspace, node)) { print(workspace, child, level + 1); } }
private String getPropertyString( Property property ) { // Surround property value in double quotes so final property looks like: // color = "blue" (single valued property) // colors = ["blue", "red", "green"] (multi-valued property) StringBuilder sb = new StringBuilder(); sb.append(getContext().getValueFactories().getStringFactory().create(property.getName())); sb.append(" = "); if (property.isEmpty()) { sb.append("null"); } else if (property.isSingle()) { String valueStr = getContext().getValueFactories().getStringFactory().create(property.getValues().next()); sb.append('\"').append(valueStr).append('\"'); } else { sb.append('['); boolean first = true; for (Object value : property.getValuesAsArray()) { if (first) first = false; else sb.append(","); String valueStr = getContext().getValueFactories().getStringFactory().create(value); sb.append('\"').append(valueStr).append('\"'); } if (property.isMultiple()) sb.append(']'); } return sb.toString(); } }
/** * {@inheritDoc} * * @see GraphSession.Operations#materialize(org.modeshape.graph.Node, GraphSession.Node) */ public void materialize( org.modeshape.graph.Node persistentNode, Node<Payload, PropertyPayload> node ) { // Create the map of property info objects ... Map<Name, PropertyInfo<PropertyPayload>> properties = new HashMap<Name, PropertyInfo<PropertyPayload>>(); for (Property property : persistentNode.getProperties()) { Name propertyName = property.getName(); PropertyInfo<PropertyPayload> info = new PropertyInfo<PropertyPayload>(property, property.isMultiple(), Status.UNCHANGED, null); properties.put(propertyName, info); } // Set only the children ... node.loadedWith(persistentNode.getChildren(), properties, persistentNode.getExpirationTime()); }
if (idProperties != null) { for (Property idProp : idProperties) { PropertyInfo<PropertyPayload> info = new PropertyInfo<PropertyPayload>(idProp, idProp.isMultiple(), Status.NEW, null); newProperties.put(info.getName(), info); PropertyInfo<PropertyPayload> info2 = new PropertyInfo<PropertyPayload>(property, property.isMultiple(), Status.NEW, null); newProperties.put(info2.getName(), info2);
private void verifyProperty( StreamSequencerContext context, String name, Object... values ) { Property prop = context.getInputProperty(context.getValueFactories().getNameFactory().create(name)); assertThat(prop, notNullValue()); assertThat(prop.getName(), is(context.getValueFactories().getNameFactory().create(name))); assertThat(prop.isEmpty(), is(false)); assertThat(prop.size(), is(values.length)); assertThat(prop.isMultiple(), is(values.length > 1)); assertThat(prop.isSingle(), is(values.length == 1)); Iterator<?> iter = prop.getValues(); for (Object val : values) { assertThat(iter.hasNext(), is(true)); assertThat(iter.next(), is(val)); } }
assertThat(original.getActualLocationOfNode().getPath(), is(path("/a/b/c"))); assertThat(original.getActualLocationOfNode().getUuid(), is(projected1.getActualLocationOfNode().getUuid())); assertThat(original.getActualLocationOfNode().getIdProperty(ModeShapeLexicon.UUID).isMultiple(), is(true)); assertThat(original.getActualLocationOfNode().getIdProperty(ModeShapeLexicon.UUID).getValuesAsArray()[0], is((Object)projected1.getActualLocationOfNode().getUuid()));