private boolean assetHasHistory(AssetItem asset) { AssetHistoryIterator it = asset.getHistory(); while ( it.hasNext() ) { VersionableItem historical = (VersionableItem) it.next(); long versionNumber = historical.getVersionNumber(); if ( versionNumber != 0) { //Version 0 is not a real version. It is the root version return true; } } return false; } /**
private boolean assetHasHistory(AssetItem asset) { AssetHistoryIterator it = asset.getHistory(); while ( it.hasNext() ) { VersionableItem historical = (VersionableItem) it.next(); long versionNumber = historical.getVersionNumber(); if ( versionNumber != 0) { //Version 0 is not a real version. It is the root version return true; } } return false; } /**
/** * Load a specific asset by name. */ public AssetItem loadAsset(String name, long versionNumber) { AssetItem asset = loadAsset(name); AssetHistoryIterator it = asset.getHistory(); while (it.hasNext()) { AssetItem historical = it.next(); long version = historical.getVersionNumber(); if (version == versionNumber) { return historical; } } throw new RulesRepositoryException( "Unable to load asset [" + name + "] with version[" + versionNumber + "]"); }
/** * Load a specific asset by name. */ public AssetItem loadAsset(String name, long versionNumber) { AssetItem asset = loadAsset(name); AssetHistoryIterator it = asset.getHistory(); while (it.hasNext()) { AssetItem historical = it.next(); long version = historical.getVersionNumber(); if (version == versionNumber) { return historical; } } throw new RulesRepositoryException( "Unable to load asset [" + name + "] with version[" + versionNumber + "]"); }
AssetHistoryIterator historyIterator = new AssetHistoryIterator( assetItem.getRulesRepository(), headNode); while (historyIterator.hasNext()) { AssetItem historical = historyIterator.next(); if (requiredVersion == historical.getVersionNumber()) { while (it.hasNext()) { AssetItem historical = (AssetItem) it.next(); if (requiredVersion == historical.getVersionNumber()) {
AssetHistoryIterator historyIterator = new AssetHistoryIterator( assetItem.getRulesRepository(), headNode); while (historyIterator.hasNext()) { AssetItem historical = historyIterator.next(); if (requiredVersion == historical.getVersionNumber()) { while (it.hasNext()) { AssetItem historical = (AssetItem) it.next(); if (requiredVersion == historical.getVersionNumber()) {
@Test public void testGetPackageItemHistorical() throws Exception { RulesRepository repo = getRepo(); ModuleItem pkg = repo.createModule("testGetPackageItemHistorical", ""); AssetItem asset = pkg.addAsset("whee", ""); asset.checkin(""); assertNotNull(asset.getModule()); repo.createModuleSnapshot(pkg.getName(), "SNAP"); ModuleItem pkg_ = repo.loadModuleSnapshot(pkg.getName(), "SNAP"); AssetItem asset_ = pkg_.loadAsset("whee"); ModuleItem pkg__ = asset_.getModule(); assertTrue(pkg__.isSnapshot()); assertTrue(pkg_.isSnapshot()); assertFalse(pkg.isSnapshot()); assertEquals(pkg.getName(), pkg__.getName()); asset.updateDescription("yeah !"); asset.checkin("new"); asset = pkg.loadAsset("whee"); assertNotNull(asset.getModule()); AssetHistoryIterator it = asset.getHistory(); while(it.hasNext()) { AssetItem as = it.next(); if (as.getVersionNumber() > 0) { System.err.println(as.getVersionNumber()); System.err.println(as.getModuleName()); assertNotNull(as.getModule()); assertEquals(pkg.getName(), as.getModule().getName()); } } }