returnString.append( "Date Expired: " ).append( this.getDateExpired() ).append( "\n" ); returnString.append( "------\n" );
returnString.append( "Date Expired: " ).append( this.getDateExpired() ).append( "\n" ); returnString.append( "------\n" );
/** * This will remove the item. The repository will need to be saved for this * to take effect. Typically the package that contains this should be * versioned before removing this, to make it easy to roll back. */ public void remove() { if ( StorageEventManager.hasSaveEvent() ) { StorageEventManager.getSaveEvent().onAssetDelete( this ); } checkIsUpdateable(); if ( this.getDateExpired() != null ) { if ( Calendar.getInstance().before( this.getDateExpired() ) ) { throw new RulesRepositoryException( "Can't delete an item before its expiry date." ); } } try { this.node.remove(); } catch ( RepositoryException e ) { throw new RulesRepositoryException( e ); } }
/** * This will remove the item. The repository will need to be saved for this * to take effect. Typically the package that contains this should be * versioned before removing this, to make it easy to roll back. */ public void remove() { if ( StorageEventManager.hasSaveEvent() ) { StorageEventManager.getSaveEvent().onAssetDelete( this ); } checkIsUpdateable(); if ( this.getDateExpired() != null ) { if ( Calendar.getInstance().before( this.getDateExpired() ) ) { throw new RulesRepositoryException( "Can't delete an item before its expiry date." ); } } try { this.node.remove(); } catch ( RepositoryException e ) { throw new RulesRepositoryException( e ); } }
@Test public void testGetDateExpired() { try { AssetItem ruleItem1 = getRepo().loadDefaultModule().addAsset("testGetDateExpired", "test content"); //it should be initialized to null assertTrue(ruleItem1.getDateExpired() == null); //now try setting it, then retrieving it Calendar cal = Calendar.getInstance(); ruleItem1.updateDateExpired(cal); Calendar cal2 = ruleItem1.getDateExpired(); //Comparing two Calendar instances entirely doesn't work as JackRabbit persists Calendar objects as Strings using //http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/ISO8601.java //Not all Calendar properties are taken into consideration so we only check the getTime() values. assertEquals( cal.getTimeInMillis(), cal2.getTimeInMillis() ); } catch(Exception e) { fail("Caught unexpected exception: " + e); } }
@Test public void testGetDateExpiredForShareableAsset() { AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetDateExpiredForShareableAsset", "desc"); AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName()); // it should be initialized to null assertTrue(linkedAsset.getDateExpired() == null); // now try setting it, then retrieving it Calendar cal = Calendar.getInstance(); linkedAsset.updateDateExpired(cal); Calendar cal2 = linkedAsset.getDateExpired(); //Comparing two Calendar instances entirely doesn't work as JackRabbit persists Calendar objects as Strings using //http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/ISO8601.java //Not all Calendar properties are taken into consideration so we only check the getTime() values. assertEquals( cal.getTimeInMillis(), cal2.getTimeInMillis() ); }
@Test public void testAddRuleCalendarWithDates() { RulesRepository rulesRepository = getRepo(); Calendar effectiveDate = Calendar.getInstance(); Calendar expiredDate = Calendar.getInstance(); expiredDate.setTimeInMillis( effectiveDate.getTimeInMillis() + (1000 * 60 * 60 * 24) ); AssetItem ruleItem1 = rulesRepository.loadDefaultModule().addAsset( "testAddRuleCalendarCalendar", "desc" ); ruleItem1.updateDateEffective( effectiveDate ); ruleItem1.updateDateExpired( expiredDate ); assertNotNull( ruleItem1 ); assertNotNull( ruleItem1.getNode() ); //Comparing two Calendar instances entirely doesn't work as JackRabbit persists Calendar objects as Strings using //http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/ISO8601.java //Not all Calendar properties are taken into consideration so we only check the getTime() values. assertEquals( effectiveDate.getTimeInMillis(), ruleItem1.getDateEffective().getTimeInMillis() ); //Comparing two Calendar instances entirely doesn't work as JackRabbit persists Calendar objects as Strings using //http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/util/ISO8601.java //Not all Calendar properties are taken into consideration so we only check the getTime() values. assertEquals( expiredDate.getTimeInMillis(), ruleItem1.getDateExpired().getTimeInMillis() ); ruleItem1.checkin( "ho " ); }