public int compare(AssetItem a1, AssetItem a2) { long la1 = a1.getVersionNumber(); long la2 = a2.getVersionNumber(); return la1 == la2 ? 0 : (la1 < la2 ? 1 : -1); } });
public int compare(AssetItem a1, AssetItem a2) { long la1 = a1.getVersionNumber(); long la2 = a2.getVersionNumber(); return la1 == la2 ? 0 : (la1 < la2 ? 1 : -1); } });
returnString.append( "------\n" ); returnString.append( "Version: " ).append( this.getVersionNumber() ).append( "\n" ); returnString.append( "------\n" );
returnString.append( "------\n" ); returnString.append( "Version: " ).append( this.getVersionNumber() ).append( "\n" ); returnString.append( "------\n" );
for (Iterator<AssetItem> iter = head.getHistory(); iter.hasNext(); ) { AssetItem element = iter.next(); if (!(element.getVersionNumber() == 0)) { fullHistory.add(element);
for (Iterator<AssetItem> iter = head.getHistory(); iter.hasNext(); ) { AssetItem element = iter.next(); if (!(element.getVersionNumber() == 0)) { fullHistory.add(element);
encodeDependencyPath( asset.getName(), isHistoricalVersion() ? Long.toString(asset.getVersionNumber()) : "LATEST"));
encodeDependencyPath( asset.getName(), isHistoricalVersion() ? Long.toString(asset.getVersionNumber()) : "LATEST"));
long requiredVersion = Long.parseLong(version); if (assetItem.isHistoricalVersion()) { long currentVersion = assetItem.getVersionNumber(); if(requiredVersion == currentVersion) { return assetItem; while (historyIterator.hasNext()) { AssetItem historical = historyIterator.next(); if (requiredVersion == historical.getVersionNumber()) { return historical; while (it.hasNext()) { AssetItem historical = (AssetItem) it.next(); if (requiredVersion == historical.getVersionNumber()) { return historical;
long requiredVersion = Long.parseLong(version); if (assetItem.isHistoricalVersion()) { long currentVersion = assetItem.getVersionNumber(); if(requiredVersion == currentVersion) { return assetItem; while (historyIterator.hasNext()) { AssetItem historical = historyIterator.next(); if (requiredVersion == historical.getVersionNumber()) { return historical; while (it.hasNext()) { AssetItem historical = (AssetItem) it.next(); if (requiredVersion == historical.getVersionNumber()) { return historical;
/** * 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 + "]"); }
asset1.checkin("This is something"); assertEquals(1, asset1.getVersionNumber());
asset2.checkin("This is another"); assertEquals(1, asset1.getVersionNumber());
@Test public void testGetSucceedingVersion() { AssetItem ruleItem1 = getRepo().loadDefaultModule().addAsset("testGetSucceedingVersion", "test description"); ruleItem1.checkin( "version0" ); assertEquals(1, ruleItem1.getVersionNumber()); AssetItem succeedingRuleItem = (AssetItem) ruleItem1.getSucceedingVersion(); assertTrue(succeedingRuleItem == null); ruleItem1.updateContent("new content"); ruleItem1.checkin( "la" ); assertEquals(2, ruleItem1.getVersionNumber()); AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion(); assertEquals("", predecessorRuleItem.getContent()); succeedingRuleItem = (AssetItem) predecessorRuleItem.getSucceedingVersion(); assertNotNull(succeedingRuleItem); assertEquals(ruleItem1.getContent(), succeedingRuleItem.getContent()); }
@Test public void testPackageCheckinConfig() { ModuleItem item = getRepo().createModule( "testPackageCheckinConfig", "description" ); AssetItem rule = item.addAsset( "testPackageCheckinConfig", "w" ); rule.checkin( "goo" ); assertEquals(1, iteratorToList( item.getAssets() ).size()); updateHeader( "la", item ); item.checkin( "woot" ); updateHeader( "we", item ); item.checkin( "gah" ); // PackageItem pre = (PackageItem) item.getPrecedingVersion(); // assertNotNull(pre); // assertEquals("la", getHeader(pre)); AssetItem rule_ = getRepo().loadAssetByUUID( rule.getUUID() ); assertEquals(rule.getVersionNumber(), rule_.getVersionNumber()); item = getRepo().loadModule( "testPackageCheckinConfig"); long v = item.getVersionNumber(); item.updateCheckinComment( "x" ); getRepo().save(); assertEquals(v, item.getVersionNumber()); }
@Test public void testCopyAsset() throws Exception { RulesRepository repo = getRepo(); repo.createModule( "testCopyAsset", "asset" ); AssetItem item = repo.loadDefaultModule().addAsset( "testCopyAssetSource", "desc" ); item.updateContent( "la" ); item.checkin( "" ); item.updateDescription( "mmm" ); item.checkin( "again" ); assertEquals( 2, item.getVersionNumber() ); String uuid = repo.copyAsset( item.getUUID(), "testCopyAsset", "testCopyAssetDestination" ); AssetItem dest = repo.loadAssetByUUID( uuid ); assertEquals( dest.getName(), dest.getTitle() ); assertEquals( "la", dest.getContent() ); assertEquals( "testCopyAsset", dest.getModuleName() ); assertFalse( uuid.equals( item.getUUID() ) ); assertEquals( 1, dest.getVersionNumber() ); }
@Test public void testGetAssetItemWithSpecifiedVersion() throws Exception { AssetItem ruleItem1 = getRepo().loadDefaultModule().addAsset("testGetAssetItemWithSpecifiedVersion", "test description"); ruleItem1.checkin( "version0" ); ruleItem1 = getRepo().loadAssetByUUID( ruleItem1.getUUID() ); ruleItem1.updateContent( "wo" ); ruleItem1.checkin( "version1" ); ruleItem1 = getRepo().loadAssetByUUID( ruleItem1.getUUID() ); ruleItem1.updateContent( "ya" ); ruleItem1.checkin( "version2" ); AssetItem assetItemVersion1 = getRepo().loadDefaultModule().loadAsset("testGetAssetItemWithSpecifiedVersion", 1); assertEquals("", assetItemVersion1.getContent()); assertEquals(1, assetItemVersion1.getVersionNumber()); AssetItem assetItemVersion2 = getRepo().loadDefaultModule().loadAsset("testGetAssetItemWithSpecifiedVersion", 2); assertEquals("wo", assetItemVersion2.getContent()); assertEquals(2, assetItemVersion2.getVersionNumber()); AssetItem assetItemVersion3 = getRepo().loadDefaultModule().loadAsset("testGetAssetItemWithSpecifiedVersion", 3); assertEquals("ya", assetItemVersion3.getContent()); assertEquals(3, assetItemVersion3.getVersionNumber()); }
@Test public void testGetSucceedingVersionForShareableAsset() { AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetSucceedingVersionForShareableAsset", "desc"); asset.checkin("version0"); AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName()); // Making the assset sharable creates the version 2. assertEquals(2, asset.getVersionNumber()); linkedAsset.updateContent("new content1"); linkedAsset.checkin("la"); AssetItem succeedingRuleItem = (AssetItem)linkedAsset.getSucceedingVersion(); assertTrue(succeedingRuleItem == null); linkedAsset.updateContent("new content2"); linkedAsset.checkin("la"); assertEquals(4, linkedAsset.getVersionNumber()); AssetItem predecessorRuleItem = (AssetItem)linkedAsset.getPrecedingVersion(); assertEquals("new content1", predecessorRuleItem.getContent()); succeedingRuleItem = (AssetItem)predecessorRuleItem.getSucceedingVersion(); assertNotNull(succeedingRuleItem); assertEquals(linkedAsset.getContent(), succeedingRuleItem.getContent()); }
@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()); } } }