@SuppressWarnings("unchecked") @NotNull public PropertyBuilder<T> assignFrom(PropertyState property) { if (property != null) { setName(property.getName()); if (property.isArray()) { isArray = true; setValues((Iterable<T>) property.getValue(type.getArrayType())); } else { isArray = false; setValue(property.getValue(type)); } } return this; }
private PropertyState migrateProperty(PropertyState propertyState) throws IOException { Blob oldBlob = propertyState.getValue(Type.BINARY); String blobId = getIdentity(oldBlob); if (blobStore.isMigrated(blobId)) { return null; } String newBlobId = blobStore.writeBlob(oldBlob.getNewStream()); Blob newBlob = new BlobStoreBlob(blobStore, newBlobId); PropertyBuilder<Blob> builder = new PropertyBuilder<Blob>(Type.BINARY); builder.assignFrom(propertyState); builder.setValue(newBlob); return builder.getPropertyState(); }
@SuppressWarnings("unchecked") @Nonnull public PropertyBuilder<T> assignFrom(PropertyState property) { if (property != null) { setName(property.getName()); if (property.isArray()) { isArray = true; setValues((Iterable<T>) property.getValue(type.getArrayType())); } else { isArray = false; setValue(property.getValue(type)); } } return this; }
private PropertyState migrateProperty(PropertyState propertyState) throws IOException { Blob oldBlob = propertyState.getValue(Type.BINARY); String blobId = getIdentity(oldBlob); if (blobStore.isMigrated(blobId)) { return null; } String newBlobId = blobStore.writeBlob(oldBlob.getNewStream()); Blob newBlob = new BlobStoreBlob(blobStore, newBlobId); PropertyBuilder<Blob> builder = new PropertyBuilder<Blob>(Type.BINARY); builder.assignFrom(propertyState); builder.setValue(newBlob); return builder.getPropertyState(); }
private PropertyState migrateProperty(PropertyState propertyState) throws IOException { Blob oldBlob = propertyState.getValue(Type.BINARY); String blobId = getIdentity(oldBlob); if (blobStore.isMigrated(blobId)) { return null; } String newBlobId = blobStore.writeBlob(oldBlob.getNewStream()); Blob newBlob = new BlobStoreBlob(blobStore, newBlobId); PropertyBuilder<Blob> builder = new PropertyBuilder<Blob>(Type.BINARY); builder.assignFrom(propertyState); builder.setValue(newBlob); return builder.getPropertyState(); }
@Test public void testStringProperty() { PropertyBuilder builder = PropertyBuilder.scalar(Type.STRING); builder.setName("foo").setValue("bar"); Assert.assertEquals(StringPropertyState.stringProperty("foo", "bar"), builder.getPropertyState()); builder.setArray(); Assert.assertEquals(MultiStringPropertyState.stringProperty("foo", Arrays.asList("bar")), builder.getPropertyState()); }
@Test public void testLongProperty() { PropertyBuilder builder = PropertyBuilder.scalar(Type.LONG); builder.setName("foo").setValue(42L); Assert.assertEquals(LongPropertyState.createLongProperty("foo", 42L), builder.getPropertyState()); builder.setArray(); Assert.assertEquals(MultiLongPropertyState.createLongProperty("foo", Arrays.asList(42L)), builder.getPropertyState()); }
@Test public void testCreateHiddenProperty3() { Tree a = root.getTree("/a"); try { PropertyState propertyState = PropertyBuilder.scalar(STRING) .setName(":hiddenProperty") .setValue("val") .getPropertyState(); a.setProperty(propertyState); root.commit(); fail(); } catch (Exception e) { // success } } }