/** * Get the name of the property. * * @return the propert name; never null */ public Name getName() { return property.getName(); }
/** * Sets the property with the given name, overwriting any previous property for the given name * * @param property the property to set * @return this map node */ public MapNode setProperty( Property property ) { if (property != null) { this.properties.put(property.getName(), property); } return this; }
public Create<T> and( Iterable<Property> properties ) { for (Property property : properties) { this.properties.put(property.getName(), property); } return this; }
public Create<T> and( Property property ) { properties.put(property.getName(), property); return this; }
public MapNode setProperties( Iterable<Property> properties, Iterable<Name> removedPropertyNames ) { if (removedPropertyNames != null) { for (Name removed : removedPropertyNames) { if (removed != null) this.properties.remove(removed); } } for (Property property : properties) { this.properties.put(property.getName(), property); } return this; }
/** * {@inheritDoc} * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { return HashCode.compute(on, workspaceName, property.getName()); }
/** * {@inheritDoc} * * @see Location#getIdProperty(Name) */ @Override public final Property getIdProperty( Name name ) { CheckArg.isNotNull(name, "name"); Property property = getIdProperties().get(0); // this is fast return property.getName().equals(name) ? property : null; }
/** * {@inheritDoc} * * @see Location#getIdProperty(Name) */ @Override public final Property getIdProperty( Name name ) { CheckArg.isNotNull(name, "name"); Property property = getIdProperties().get(0); // this is fast return property.getName().equals(name) ? property : null; }
/** * {@inheritDoc} * * @see java.lang.Object#toString() */ @Override public String toString() { Object[] values = property().getValuesAsArray(); String workspaceName = this.workspaceName != null ? "'" + this.workspaceName + "'" : "default"; return "set " + printable(on()) + " (in " + workspaceName + " workspace) the property '" + property().getName() + "' to " + (values == null ? "null" : Arrays.asList(values).toString()); }
/** * Set the property on the node as read from the {@link RepositoryConnection} * * @param property the property that was read * @throws IllegalArgumentException if the property's name does not match the {@link #named() name of the property} that was * to be read * @throws IllegalStateException if the request is frozen */ public void setProperty( Property property ) { checkNotFrozen(); if (property != null) CheckArg.isEquals(property.getName(), "property's name", named(), "property name"); this.property = property; }
@Override @Before public void beforeEach() { super.beforeEach(); validProperty = validProperty1; validPropertyName = validProperty.getName(); }
protected void assertNextRequestReadProperties( Location at, Property... properties ) { Request request = executedRequests.poll(); assertThat(request, is(instanceOf(ReadAllPropertiesRequest.class))); ReadAllPropertiesRequest readAll = (ReadAllPropertiesRequest)request; assertThat(readAll.at(), is(at)); Map<Name, Property> propsByName = new HashMap<Name, Property>(readAll.getPropertiesByName()); for (Property prop : properties) { assertThat(propsByName.remove(prop.getName()), is(prop)); } assertThat(propsByName.isEmpty(), is(true)); }
public void addProperty( String name, Object... values ) { Property property = context.getPropertyFactory().create(name(name), values); properties.put(property.getName(), property); }
@Test public void shouldConsiderNotEqualTwoRequestsWithSameLocationButDifferentProperties() { request = new UpdatePropertiesRequest(validPathLocation1, workspace1, validProperties); Map<Name, Property> otherValidProperties = Collections.singletonMap(validProperty1.getName(), validProperty1); UpdatePropertiesRequest request2 = new UpdatePropertiesRequest(validPathLocation2, workspace1, otherValidProperties); assertThat(request.equals(request2), is(false)); }
@Test public void shouldAllowAddingProperties() { request = new ReadAllPropertiesRequest(validPathLocation, workspace1); request.addProperty(validProperty1); request.addProperty(validProperty2); assertThat(request.getProperties().size(), is(2)); assertThat(request.getProperties(), hasItems(validProperty1, validProperty2)); assertThat(request.getPropertiesByName().get(validProperty1.getName()), is(validProperty1)); assertThat(request.getPropertiesByName().get(validProperty2.getName()), is(validProperty2)); } }
@Test public void shouldAllowAddingProperties() { request = new ReadNodeRequest(validPathLocation, workspace1); request.addProperty(validProperty1); request.addProperty(validProperty2); assertThat(request.getProperties().size(), is(2)); assertThat(request.getProperties(), hasItems(validProperty1, validProperty2)); assertThat(request.getPropertiesByName().get(validProperty1.getName()), is(validProperty1)); assertThat(request.getPropertiesByName().get(validProperty2.getName()), is(validProperty2)); } }
@Test public void shouldConsiderNotEqualTwoRequestsWithSameLocationButDifferentPropertyNames() { request = new ReadPropertyRequest(validPathLocation1, workspace1, validProperty2.getName()); ReadPropertyRequest request2 = new ReadPropertyRequest(validPathLocation2, workspace1, validPropertyName); assertThat(request.equals(request2), is(false)); }
@Test public void shouldIncludeTimeLoadedInReadPropertyRequests() { // Get each of the properties on the first child ... String workspaceName = graph.getCurrentWorkspaceName(); Location firstChildLocation = graph.getChildren().of("/").get(0); Node firstChild = graph.getNodeAt(firstChildLocation); // Don't use the graph so that we can obtain and interrogate the request ... for (Property property : firstChild.getProperties()) { CacheableRequest request = new ReadPropertyRequest(firstChildLocation, workspaceName, property.getName()); execute(request); assertThat(request.getTimeLoaded(), is(notNullValue())); } }