@Test public void testRenameAndLookup() { final LdapName name1 = LdapUtils.createLdapName( RECORD.getNodeTypeName(), "TestEren3", IOC.getNodeTypeName(), "TestEcon2", COMPONENT.getNodeTypeName(), "TestEcom2", FACILITY.getNodeTypeName(), EFAN_NAME, UNIT.getNodeTypeName(), UNIT.getUnitTypeValue()); final LdapName name2 = LdapUtils.createLdapName( RECORD.getNodeTypeName(), "NedFlanders", IOC.getNodeTypeName(), "TestEcon2", COMPONENT.getNodeTypeName(), "TestEcom2", FACILITY.getNodeTypeName(), EFAN_NAME, UNIT.getNodeTypeName(), UNIT.getUnitTypeValue()); try { LDAP_SERVICE.rename(name1, name2); Assert.assertNotNull(LDAP_SERVICE.lookup(name2)); LDAP_SERVICE.rename(name2, name1); Assert.assertNotNull(LDAP_SERVICE.lookup(name1)); } catch (final NamingException e) { Assert.fail("Rename failed"); } }
private boolean dumpRecord( STORE store, int size, StoreChannel fileChannel, ByteBuffer buffer, long id) throws Exception { RECORD record = store.forceGetRecord(id); Object transform = transform(record); if (transform != null) { if (!"".equals(transform)) { out.println(transform); } } else { out.print(record); buffer.clear(); fileChannel.read(buffer, id * size); buffer.flip(); if (record.inUse()) { dumpHex(buffer, id * size); } else if (allZero(buffer)) { out.printf(": all zeros @ 0x%x - 0x%x%n", id * size, (id + 1) * size); } else { dumpHex(buffer, id * size); } } return record.inUse(); }
@Override public void check(RECORD record, CheckerEngine<RECORD, REPORT> engine, RecordAccess records) { if (!record.inUse()) { return; } if (!Record.NO_NEXT_BLOCK.is(record.getNameId())) { engine.comparativeCheck(name(records, record.getNameId()), this); } }
@Test public void testLdapReaderJob() { final LdapName name = LdapUtils.createLdapName( FACILITY.getNodeTypeName(), EFAN_NAME, UNIT.getNodeTypeName(), UNIT.getUnitTypeValue()); final Holder<Boolean> read = new Holder<Boolean>(Boolean.FALSE); final ILdapReaderJob job = LDAP_SERVICE.createLdapReaderJob( new LdapSearchParams(name, LdapUtils.any(RECORD.getNodeTypeName())), new ILdapReadCompletedCallback() { @Override public void onLdapReadComplete() { read.setValue(Boolean.TRUE); } }); job.schedule(); try { job.join(); } catch (final InterruptedException e) { Assert.fail("Not supposed to be interrupted."); } Assert.assertTrue(read.getValue()); Assert.assertEquals(4, job.getSearchResult().getAnswerSet().size()); }
@Test public void testLdapContentModelBuilder() { final LdapName name = LdapUtils.createLdapName( FACILITY.getNodeTypeName(), EFAN_NAME, UNIT.getNodeTypeName(), UNIT.getUnitTypeValue()); final ILdapSearchResult result = LDAP_SERVICE.retrieveSearchResultSynchronously( name, LdapUtils.any(RECORD.getNodeTypeName()), SearchControls.SUBTREE_SCOPE); Assert.assertNotNull(result); try { final ILdapContentModelBuilder<LdapEpicsControlsConfiguration> builder = LDAP_SERVICE.getLdapContentModelBuilder(VIRTUAL_ROOT, result); Assert.assertNotNull(builder); builder.build(); final ContentModel<LdapEpicsControlsConfiguration> model = builder.getModel(); final Map<String, INodeComponent<LdapEpicsControlsConfiguration>> records = model.getByType(RECORD); Assert.assertEquals(4, records.size()); } catch (final CreateContentModelException e) { Assert.fail("Content model could not be created."); } catch (LdapServiceException e) { Assert.fail("Content model could not be created."); } }
protected Object transform(RECORD record) throws Exception { return record.inUse() ? record : null; }