RepositoryFile sampleFile = createSampleFile( parentFolderPath, "helloworld2.[~!@#$%^&*(){}|.,]-=_+|;'?<>~`.sample", "dfdd", true, 83 );
final Date EXP_DATE = new Date();
DataNode node = new DataNode( "kdjd" );
node.setProperty( "ddf", "ljsdfkjsdkf" );
DataNode newChild1 = node.addNode( "herfkmdx" );
newChild1.setProperty( "sdfs", true );
newChild1.setProperty( "ks3", EXP_DATE );
newChild1.setProperty( "ids32", 7.32D );
newChild1.setProperty( "erere3", 9856684583L );
newChild1.setProperty( "tttss4", "843skdfj33ksaljdfj" );
newChild1.setProperty( "urei2", new DataNodeRef( sampleFile.getId() ) );
DataNode newChild2 = node.addNode( RepositoryFilenameUtils.escape( "pppq/qqs2", repo.getReservedChars() ) );
newChild2.setProperty( RepositoryFilenameUtils.escape( "ttt:ss4", repo.getReservedChars() ), "843skdfj33ksaljdfj" );
NodeRepositoryFileData data = new NodeRepositoryFileData( node );
RepositoryFile newFile =
repo.createFile( parentFolder.getId(), new RepositoryFile.Builder( expectedName ).build(), data, null );
assertNotNull( newFile.getId() );
RepositoryFile foundFile = repo.getFile( expectedPath );
assertNotNull( foundFile );
assertEquals( expectedName, foundFile.getName() );
DataNode foundNode = repo.getDataForRead( foundFile.getId(), NodeRepositoryFileData.class ).getNode();
assertEquals( node.getName(), foundNode.getName() );
assertNotNull( foundNode.getId() );
assertEquals( node.getProperty( "ddf" ), foundNode.getProperty( "ddf" ) );
int actualPropCount = 0;
for ( DataProperty prop : foundNode.getProperties() ) {
actualPropCount++;
}
assertEquals( 1, actualPropCount );
assertTrue( foundNode.hasNode( "herfkmdx" ) );
DataNode foundChild1 = foundNode.getNode( "herfkmdx" );
assertNotNull( foundChild1.getId() );
assertEquals( newChild1.getName(), foundChild1.getName() );
assertEquals( newChild1.getProperty( "sdfs" ), foundChild1.getProperty( "sdfs" ) );
assertEquals( newChild1.getProperty( "ks3" ), foundChild1.getProperty( "ks3" ) );
assertEquals( newChild1.getProperty( "ids32" ), foundChild1.getProperty( "ids32" ) );
assertEquals( newChild1.getProperty( "erere3" ), foundChild1.getProperty( "erere3" ) );
assertEquals( newChild1.getProperty( "tttss4" ), foundChild1.getProperty( "tttss4" ) );
assertEquals( newChild1.getProperty( "urei2" ), foundChild1.getProperty( "urei2" ) );
try {
repo.deleteFile( sampleFile.getId(), true, null );
fail();
} catch ( UnifiedRepositoryException e ) {
// should fail due to referential integrity (newFile payload has reference to sampleFile)
}
actualPropCount = 0;
for ( DataProperty prop : newChild1.getProperties() ) {
actualPropCount++;
}
assertEquals( 6, actualPropCount );
assertTrue( foundNode.hasNode( RepositoryFilenameUtils.escape( "pppq/qqs2", repo.getReservedChars() ) ) );
DataNode foundChild2 = foundNode.getNode( RepositoryFilenameUtils.escape( "pppq/qqs2", repo.getReservedChars() ) );
assertNotNull( foundChild2.getId() );
assertEquals( newChild2.getName(), foundChild2.getName() );
assertEquals( newChild2.getProperty( RepositoryFilenameUtils.escape( "ttt:ss4", repo.getReservedChars() ) ),
foundChild2.getProperty( RepositoryFilenameUtils.escape( "ttt:ss4", repo.getReservedChars() ) ) );
actualPropCount = 0;
for ( DataProperty prop : foundChild2.getProperties() ) {
actualPropCount++;
}
assertEquals( 1, actualPropCount );
// ordering