Changeset 13532

Show
Ignore:
Timestamp:
10/22/04 14:07:37 (4 years ago)
Author:
matt
Message:

Merge from 7.7.2 into trunk.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk

    • Property svn:ignore changed from *.iml to
      *.iml
      packages
  • trunk/.cvsignore

    r13390 r13532  
    11*.iml 
     2packages 
  • trunk/optional/database/CreateScripts/versions/7.7.0/system/prm_system_db_patch.sql

    r13408 r13532  
    1313-------------------------------------------------------------------------------- 
    1414spool off 
     15EXIT; 
  • trunk/optional/database/CreateScripts/versions/7.7.1/recompile_objects.sql

    r13408 r13532  
    122122alter TRIGGER PNET.GROUP_AFT_UPD_NAME compile; 
    123123alter TRIGGER PNET.GROUP_AFT_UPD_STATUS compile; 
     124alter TRIGGER PNET.MEETING_AFT_UPD_NAME compile; 
    124125alter TRIGGER PNET.METHODOLOGY_AFT_UPD_NAME compile; 
    125126alter TRIGGER PNET.METHODOLOGY_AFT_UPD_STATUS compile; 
  • trunk/optional/database/CreateScripts/versions/7.7.1/system/prm_system_db_patch.sql

    r13408 r13532  
    1313-------------------------------------------------------------------------------- 
    1414spool off 
     15EXIT; 
  • trunk/optional/database/CreateScripts/versions/7.7.1/update_system_properties.sql

    r13408 r13532  
    16191619  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    16201620VALUES 
     1621  ('2000','en','text','pnet.help.include_outside.assignment_update_sjsp','Assignment Update','','A','0','1') 
     1622/ 
     1623 
     1624INSERT INTO pn_property 
     1625  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     1626VALUES 
    16211627  ('2000','en','text','prm.admin.profile.license.history.usage.message','{0} of {1}','','A','0','1') 
    16221628/ 
     
    72657271  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    72667272VALUES 
    7267   ('2000','en','text','prm.document.documentcontrolmanager.verifymove.alreadycheckedout.message',': Move failed because the document is checked out by another user','','A','0','1') 
     7273  ('2000','en','text','prm.document.documentcontrolmanager.verifymove.alreadycheckedout.message','Move failed because the document is checked out by another user','','A','0','1') 
    72687274/ 
    72697275 
     
    72897295  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    72907296VALUES 
    7291   ('2000','en','text','prm.document.documentcontrolmanager.verifyremovedocument.checkedout.message',': Remove failed because the document is checked out by another user','','A','0','1') 
     7297  ('2000','en','text','prm.document.documentcontrolmanager.verifyremovedocument.checkedout.message','Remove failed because the document is checked out by another user','','A','0','1') 
    72927298/ 
    72937299 
     
    73077313  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    73087314VALUES 
    7309   ('2000','en','text','prm.document.documentcontrolmanager.verifyupdatedocument.checkedouot.message',': Update failed because the document is checked out','','A','0','1') 
     7315  ('2000','en','text','prm.document.documentcontrolmanager.verifyupdatedocument.checkedouot.message','Update failed because the document is checked out','','A','0','1') 
    73107316/ 
    73117317 
     
    1106911075  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    1107011076VALUES 
    11071   ('2000','en','text','prm.global.brand.defaulthost','localhost','','A','0','0') 
     11077  ('2000','en','text','prm.global.brand.defaulthost','koala','','A','0','0') 
    1107211078/ 
    1107311079 
     
    1109311099  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    1109411100VALUES 
    11095   ('2000','en','text','prm.global.brand.defaultsitescheme','http://','','A','0','0') 
     11101  ('2000','en','text','prm.global.brand.defaultsitescheme','https://','','A','0','0') 
    1109611102/ 
    1109711103 
     
    1244612452  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    1244712453VALUES 
     12454  ('2000','en','text','prm.global.css.library','/styles/library.css','','A','0','0') 
     12455/ 
     12456 
     12457INSERT INTO pn_property 
     12458  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     12459VALUES 
    1244812460  ('2000','en','css','prm.global.css.login','/styles/login.css','','A','0','0') 
    1244912461/ 
     
    2057020582  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    2057120583VALUES 
     20584  ('2000','en','boolean','prm.notification.sender.sendfromdefaultuser.flag','1','','A','0','0') 
     20585/ 
     20586 
     20587INSERT INTO pn_property 
     20588  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     20589VALUES 
    2057220590  ('2000','en','text','prm.notification.subscriber.group.external.name','External','','A','0','1') 
    2057320591/ 
     
    2141021428  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    2141121429VALUES 
     21430  ('2000','en','text','prm.personal.assignments.invalidassignmenttype.message','One or more objects you''ve selected cannot capture work.  Only task assignments have work assigned to them.','','A','0','1') 
     21431/ 
     21432 
     21433INSERT INTO pn_property 
     21434  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     21435VALUES 
    2141221436  ('2000','en','text','prm.personal.assignments.invalidenddate.message','The finish date you entered {0} is not a valid date.','','A','0','1') 
    2141321437/ 
     
    3189831922  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    3189931923VALUES 
     31924  ('2000','en','text','prm.schedule.taskview.resources.savebeforefixes.message','Modifications must be saved before looking for overallocation fixes.  Save changes now?','','A','0','1') 
     31925/ 
     31926 
     31927INSERT INTO pn_property 
     31928  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     31929VALUES 
    3190031930  ('2000','en','text','prm.schedule.taskview.resources.tab','Resources','','A','0','1') 
    3190131931/ 
     
    3480834838  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    3480934839VALUES 
     34840  ('2000','en','text','prm.workflow.stepcreate.sequence.label','Step Sequence','','A','0','1') 
     34841/ 
     34842 
     34843INSERT INTO pn_property 
     34844  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     34845VALUES 
    3481034846  ('2000','en','text','prm.workflow.stepcreate.status.label','On entry to step, set status to:','','A','0','1') 
    3481134847/ 
     
    3496435000  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
    3496535001VALUES 
     35002  ('2000','en','text','prm.workflow.stepedit.sequence.label','Sequence','','A','0','1') 
     35003/ 
     35004 
     35005INSERT INTO pn_property 
     35006  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     35007VALUES 
    3496635008  ('2000','en','text','prm.workflow.stepedit.status.label','{@prm.workflow.stepcreate.status.label}','','A','0','1') 
    3496735009/ 
     
    3506135103VALUES 
    3506235104  ('2000','en','text','prm.workflow.steplist.remove.message','Remove this Step?','','A','0','1') 
     35105/ 
     35106 
     35107INSERT INTO pn_property 
     35108  (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     35109VALUES 
     35110  ('2000','en','text','prm.workflow.steplist.sequence.column','Step Sequence','','A','0','1') 
    3506335111/ 
    3506435112 
  • trunk/optional/database/CreateScripts/versions/7.7.2/packages/pkg_workflow.sql

    r13408 r13532  
    25432543END; -- Package Body WORKFLOW 
    25442544/ 
    2545  
    2546  
    25472545INSERT INTO database_version_update 
    25482546(major_version, minor_version, sub_minor_version, patch_filename, patch_description, timestamp) 
     
    25502548(7,7,2,'pkg_workflow.sql','Updated create/edit procedures to store step_sequence',SYSDATE) 
    25512549/ 
    2552  
    2553  
    2554  
  • trunk/optional/database/CreateScripts/versions/7.7.2/prm_db_patch_7.7.2.sql

    r13408 r13532  
    1414@versions/7.7.2/tables/alter_pn_workflow_step.sql 
    1515COMMIT; 
     16@versions/7.7.2/tables/alter_pn_assignment_work.sql 
     17COMMIT; 
     18@versions/7.7.2/tables/fix_schedule_col_precision.sql 
     19COMMIT; 
     20@versions/7.7.2/tables/fix_assignment_col_precision.sql 
     21COMMIT; 
     22@versions/7.7.2/triggers/create_meeting_trigger.sql 
     23COMMIT; 
    1624 
    1725-------------------------------------------------------------------------------- 
    1826-- Packages 
    1927-------------------------------------------------------------------------------- 
    20 @versions/7.7.2/packages/pkg_project.sql 
     28@versions/7.7.2/packages/pkg_workflow.sql 
     29COMMIT; 
     30@versions/7.7.2/packages/pkg_calendar.sql 
     31COMMIT; 
     32@versions/7.7.2/packages/pkg_schedule.sql 
    2133COMMIT; 
    2234 
  • trunk/optional/database/CreateScripts/versions/7.7.2/tables/alter_pn_workflow_step.sql

    r13408 r13532  
    33  step_sequence NUMBER (5) 
    44 ) 
    5 / 
    65/ 
    76insert into database_version_update 
  • trunk/prm/Java/net/project/base/directory/ldap/LDAPDirectoryConfiguration.java

    r11496 r13532  
    347347    /** 
    348348     * Sets the NonAuthenticatedAccessType for the specified id. 
    349      * @param nonUathenticatedAccessTypeID the id 
     349     * @param nonAuthenticatedAccessTypeID the id 
    350350     */ 
    351351    public void setNonAuthenticatedAccessTypeID(String nonAuthenticatedAccessTypeID) { 
     
    363363    /** 
    364364     * Sets the NonAuthenticatedAccessType. 
    365      * @param nonAuthenticatedAccessType the type 
     365     * @param type the type 
    366366     */ 
    367367    public void setNonAuthenticatedAccessType(NonAuthenticatedAccessType type) { 
     
    380380     * Sets the nonauthenticated access specific user's userDN. 
    381381     * This specific user is used when anonymous access is not supported. 
    382      * @param username the username 
     382     * @param userDN the username 
    383383     */ 
    384384    public void setSpecificUserDN(String userDN) { 
     
    504504     * This affects whether an insert or update is performed during 
    505505     * a store operation. 
    506      * @param true if this configuration has been loaded; false otherwise 
     506     * @param isLoaded a boolean containing true if this configuration has been 
     507     * loaded; false otherwise 
    507508     */ 
    508509    private void setLoaded(boolean isLoaded) { 
     
    524525     * contextID. 
    525526     * Also loads the attribute map for the configuration. 
    526      * @throws NullPointerException if the current contextID is null 
     527     * @throws NullPointerException if the current domainID is null 
    527528     * @throws PersistenceException if there is 
    528529     * a problem loading 
    529      * @see #setContextID 
     530     * @see #setDomainID(String) 
    530531     * @see #getAttributeMap 
    531532     */ 
  • trunk/prm/Java/net/project/calendar/workingtime/Allocation.java

    r13408 r13532  
    1818     * to distinguish it from 29 seconds. 
    1919     */ 
    20     private static final BigDecimal THIRTY_SECONDS_AS_HOUR = new BigDecimal("0.0083"); 
     20    private static final BigDecimal THIRTY_SECONDS_AS_HOUR = new BigDecimal("0.0083334"); 
    2121 
    2222    /** 
  • trunk/prm/Java/net/project/calendar/workingtime/DaysWorked.java

    r13408 r13532  
    1 /*----------------------------------------------------------------------+ 
    2 | 
    3 |     $RCSfile$ 
    4 |    $Revision$ 
    5 |        $Date$ 
    6 |      $Author$ 
    7 | 
    8 +----------------------------------------------------------------------*/ 
    91package net.project.calendar.workingtime; 
    102 
     
    2012import java.util.Comparator; 
    2113import java.math.BigDecimal; 
     14import net.project.util.DateRange; 
    2215 
    2316/** 
     
    5952    /** 
    6053     * Returns the duration, in days, assuming an 8 hour day. 
    61      * @return the duration based on an 8 hour day with a scale of 2 
     54     * @return the duration based on an 8 hour day with a scale of 10 
    6255     */ 
    6356    public BigDecimal getTotalDays() { 
    64         return getDuration().toDay(8).setScale(2, BigDecimal.ROUND_HALF_UP); 
     57        return getDuration().toDay(8).setScale(10, BigDecimal.ROUND_HALF_UP); 
    6558    } 
    6659 
     
    127120 
    128121        return timeRangesWorked; 
     122    } 
     123 
     124    /** 
     125     * Gets the earliest time range in this map. 
     126     */ 
     127    public Date getEarliestWorkingTime() { 
     128        Date earliestWorkingTime = null; 
     129 
     130        for (Iterator it = days.keySet().iterator(); it.hasNext();) { 
     131            DayOfYear dayOfYear = (DayOfYear) it.next(); 
     132            Date workingTimeStart = dayOfYear.toDate(CONVERSION_TIMEZONE); 
     133 
     134            if (earliestWorkingTime == null || workingTimeStart.before(earliestWorkingTime)) { 
     135                earliestWorkingTime = workingTimeStart; 
     136            } 
     137        } 
     138 
     139        return earliestWorkingTime; 
    129140    } 
    130141 
  • trunk/prm/Java/net/project/calendar/workingtime/DaysWorkedTest.java

    r13408 r13532  
    1 /*----------------------------------------------------------------------+ 
    2 | 
    3 |     $RCSfile$ 
    4 |    $Revision$ 
    5 |        $Date$ 
    6 |      $Author$ 
    7 | 
    8 +----------------------------------------------------------------------*/ 
    91package net.project.calendar.workingtime; 
    102 
     
    221213        // No days 
    222214        daysWorked = new DaysWorked(); 
    223         assertEquals(new BigDecimal("0.00"), daysWorked.getTotalDays()); 
     215        assertEquals(new BigDecimal("0.00"), daysWorked.getTotalDays().setScale(2)); 
    224216 
    225217        // A day, no times 
    226218        daysWorked = new DaysWorked(); 
    227219        daysWorked.addDay(new DayOfYear(2003, Calendar.SEPTEMBER, 24), new AggregatedWorkingTimes(), timeZone); 
    228         assertEquals(new BigDecimal("0.00"), daysWorked.getTotalDays()); 
     220        assertEquals(new BigDecimal("0.00"), daysWorked.getTotalDays().setScale(2)); 
    229221 
    230222        // A day, default times 
     
    232224        timesWorked = makeDefaultTimesWorked(); 
    233225        daysWorked.addDay(new DayOfYear(2003, Calendar.SEPTEMBER, 24), timesWorked, timeZone); 
    234         assertEquals(new BigDecimal("1.00"), daysWorked.getTotalDays()); 
     226        assertEquals(new BigDecimal("1.00"), daysWorked.getTotalDays().setScale(2)); 
    235227 
    236228        // Same day more than once 
     
    240232        daysWorked.addDay(dayOfYear1, timesWorked, timeZone); 
    241233        daysWorked.addDay(dayOfYear1, timesWorked, timeZone); 
    242         assertEquals(new BigDecimal("1.00"), daysWorked.getTotalDays()); 
     234        assertEquals(new BigDecimal("1.00"), daysWorked.getTotalDays().setScale(2)); 
    243235 
    244236        // 2 different days, both default times 
     
    249241        daysWorked.addDay(dayOfYear1, timesWorked, timeZone); 
    250242        daysWorked.addDay(dayOfYear2, timesWorked, timeZone); 
    251         assertEquals(new BigDecimal("2.00"), daysWorked.getTotalDays()); 
     243        assertEquals(new BigDecimal("2.00"), daysWorked.getTotalDays().setScale(2)); 
    252244 
    253245        // Day 1: Default 
     
    263255        daysWorked.addDay(dayOfYear2, timesWorked, timeZone); 
    264256        assertEquals(new SimpleTimeQuantity(12, 40), daysWorked.getDuration()); 
    265         assertEquals(new BigDecimal("1.58"), daysWorked.getTotalDays()); 
     257        assertEquals(new BigDecimal("1.58"), daysWorked.getTotalDays().setScale(2, BigDecimal.ROUND_HALF_UP)); 
    266258    } 
    267259 
  • trunk/prm/Java/net/project/calendar/workingtime/DurationCalculatorHelperTest.java

    r13408 r13532  
    1 /*-----------------------------------------------------------------------------+ 
    2 | 
    3 |    $RCSfile$ 
    4 |   $Revision$ 
    5 |       $Date$ 
    6 |     $Author$ 
    7 | 
    8 +-----------------------------------------------------------------------------*/ 
    91package net.project.calendar.workingtime; 
    102 
     
    9183        startDate = cal.getTime(); 
    9284        work = new TimeQuantity(0, TimeQuantityUnit.HOUR); 
    93         assertEquals(new BigDecimal("0.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     85        assertEquals(new BigDecimal("0.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2)); 
    9486 
    9587        // StartDate: Monday June 2nd @ 8:00 AM 
     
    9991        startDate = cal.getTime(); 
    10092        work = new TimeQuantity(16, TimeQuantityUnit.HOUR); 
    101         assertEquals(new BigDecimal("2.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     93        assertEquals(new BigDecimal("2.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2)); 
    10294 
    10395        // StartDate: Monday June 2nd @ 8:00 AM 
     
    10799        startDate = cal.getTime(); 
    108100        work = new TimeQuantity(4, TimeQuantityUnit.HOUR); 
    109         assertEquals(new BigDecimal("0.50"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     101        assertEquals(new BigDecimal("0.50"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2)); 
    110102 
    111103        // 
     
    120112        startDate = cal.getTime(); 
    121113        work = new TimeQuantity(16, TimeQuantityUnit.HOUR); 
    122         assertEquals(new BigDecimal("8.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     114        assertEquals(new BigDecimal("8.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2)); 
    123115 
    124116        // 
     
    133125        startDate = cal.getTime(); 
    134126        work = new TimeQuantity(16, TimeQuantityUnit.HOUR); 
    135         assertEquals(new BigDecimal("0.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     127        assertEquals(new BigDecimal("0.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2)); 
    136128 
    137129        // 
     
    147139        assignmentPercentage = new BigDecimal("1.12"); 
    148140        work = new TimeQuantity(1.18, TimeQuantityUnit.HOUR); 
    149         assertEquals(new BigDecimal("0.13"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     141        assertEquals(new BigDecimal("0.13"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2, BigDecimal.ROUND_HALF_UP)); 
    150142 
    151143        // Issue: Unusual combinations 
     
    157149        assignmentPercentage = new BigDecimal("20000000.00"); 
    158150        work = new TimeQuantity(1666666666, TimeQuantityUnit.HOUR); 
    159         assertEquals(new BigDecimal("10.42"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     151        assertEquals(new BigDecimal("10.42"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2, BigDecimal.ROUND_HALF_UP)); 
    160152 
    161153        // Issue: Long calculation combinations 
     
    216208        startDate = cal.getTime(); 
    217209        work = new TimeQuantity(0, TimeQuantityUnit.HOUR); 
    218         assertEquals(new BigDecimal("0.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     210        assertEquals(new BigDecimal("0.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2)); 
    219211 
    220212        // StartDate: Monday June 2nd @ 8:00 AM (4:00 PM GMT) 
     
    224216        startDate = cal.getTime(); 
    225217        work = new TimeQuantity(8, TimeQuantityUnit.HOUR); 
    226         assertEquals(new BigDecimal("1.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays()); 
     218        assertEquals(new BigDecimal("1.00"), durationCalcHelper.getDaysWorked(startDate, work, assignmentPercentage).getTotalDays().setScale(2)); 
    227219 
    228220    } 
  • trunk/prm/Java/net/project/calendar/workingtime/IDaysWorked.java

    r13408 r13532  
    44import java.util.Map; 
    55import java.util.List; 
     6import java.util.Date; 
     7import net.project.util.DateRange; 
    68 
    79/** 
     
    1921     * by many people. 
    2022     * </p> 
    21      * @return the duration in days; has a scale of 2 
     23     * @return the duration in days; has a scale of 10 
    2224     */ 
    2325    BigDecimal getTotalDays(); 
     
    5355     */ 
    5456    List getTimeRangesWorked(); 
    55      
     57 
     58    /** 
     59     * Gets the earliest time range in this map. 
     60     */ 
     61    Date getEarliestWorkingTime(); 
    5662} 
  • trunk/prm/Java/net/project/calendar/workingtime/SimpleTimeQuantityTest.java

    r11723 r13532  
    9090 
    9191    public void testToHour() { 
    92         assertEquals(new BigDecimal("0.000"), new SimpleTimeQuantity(0, 0).toHour()); 
    93         assertEquals(new BigDecimal("0.017"), new SimpleTimeQuantity(0, 1).toHour()); 
    94         assertEquals(new BigDecimal("0.500"), new SimpleTimeQuantity(0, 30).toHour()); 
    95         assertEquals(new BigDecimal("0.983"), new SimpleTimeQuantity(0, 59).toHour()); 
    96         assertEquals(new BigDecimal("1.000"), new SimpleTimeQuantity(1, 0).toHour()); 
    97         assertEquals(new BigDecimal("1000000.000"), new SimpleTimeQuantity(1000000, 0).toHour()); 
    98  
    99         assertEquals(new BigDecimal("-0.000"), new SimpleTimeQuantity(0, 0, true).toHour()); 
    100         assertEquals(new BigDecimal("-0.017"), new SimpleTimeQuantity(0, 1, true).toHour()); 
    101         assertEquals(new BigDecimal("-0.500"), new SimpleTimeQuantity(0, 30, true).toHour()); 
    102         assertEquals(new BigDecimal("-0.983"), new SimpleTimeQuantity(0, 59, true).toHour()); 
    103         assertEquals(new BigDecimal("-1.000"), new SimpleTimeQuantity(1, 0, true).toHour()); 
    104         assertEquals(new BigDecimal("-1000000.000"), new SimpleTimeQuantity(1000000, 0, true).toHour()); 
     92        assertEquals(new BigDecimal("0.0000000000"), new SimpleTimeQuantity(0, 0).toHour()); 
     93        assertEquals(new BigDecimal("0.0166666667"), new SimpleTimeQuantity(0, 1).toHour()); 
     94        assertEquals(new BigDecimal("0.5000000000"), new SimpleTimeQuantity(0, 30).toHour()); 
     95        assertEquals(new BigDecimal("0.9833333333"), new SimpleTimeQuantity(0, 59).toHour()); 
     96        assertEquals(new BigDecimal("1.0000000000"), new SimpleTimeQuantity(1, 0).toHour()); 
     97        assertEquals(new BigDecimal("1000000.0000000000"), new SimpleTimeQuantity(1000000, 0).toHour()); 
     98 
     99        assertEquals(new BigDecimal("-0.0000000000"), new SimpleTimeQuantity(0, 0, true).toHour()); 
     100        assertEquals(new BigDecimal("-0.0166666667"), new SimpleTimeQuantity(0, 1, true).toHour()); 
     101        assertEquals(new BigDecimal("-0.5000000000"), new SimpleTimeQuantity(0, 30, true).toHour()); 
     102        assertEquals(new BigDecimal("-0.9833333333"), new SimpleTimeQuantity(0, 59, true).toHour()); 
     103        assertEquals(new BigDecimal("-1.0000000000"), new SimpleTimeQuantity(1, 0, true).toHour()); 
     104        assertEquals(new BigDecimal("-1000000.0000000000"), new SimpleTimeQuantity(1000000, 0, true).toHour()); 
    105105    } 
    106106 
     
    114114        } 
    115115 
    116         assertEquals(new BigDecimal("0.000"), new SimpleTimeQuantity(0, 0).toDay(8)); 
    117         assertEquals(new BigDecimal("1.000"), new SimpleTimeQuantity(8, 0).toDay(8)); 
    118         assertEquals(new BigDecimal("1.500"), new SimpleTimeQuantity(12, 0).toDay(8)); 
    119         assertEquals(new BigDecimal("1.500"), new SimpleTimeQuantity(12, 0).toDay(8)); 
    120         assertEquals(new BigDecimal("0.875"), new SimpleTimeQuantity(7, 0).toDay(8)); 
    121         assertEquals(new BigDecimal("1.000"), new SimpleTimeQuantity(24, 0).toDay(24)); 
    122         assertEquals(new BigDecimal("0.333"), new SimpleTimeQuantity(8, 0).toDay(24)); 
    123  
    124         assertEquals(new BigDecimal("-0.000"), new SimpleTimeQuantity(0, 0, true).toDay(8)); 
    125         assertEquals(new BigDecimal("-1.000"), new SimpleTimeQuantity(8, 0, true).toDay(8)); 
    126         assertEquals(new BigDecimal("-1.500"), new SimpleTimeQuantity(12, 0, true).toDay(8)); 
    127         assertEquals(new BigDecimal("-1.500"), new SimpleTimeQuantity(12, 0, true).toDay(8)); 
    128         assertEquals(new BigDecimal("-0.875"), new SimpleTimeQuantity(7, 0, true).toDay(8)); 
    129         assertEquals(new BigDecimal("-1.000"), new SimpleTimeQuantity(24, 0, true).toDay(24)); 
    130         assertEquals(new BigDecimal("-0.333"), new SimpleTimeQuantity(8, 0, true).toDay(24)); 
     116        assertEquals(new BigDecimal("0.0000000000"), new SimpleTimeQuantity(0, 0).toDay(8)); 
     117        assertEquals(new BigDecimal("1.0000000000"), new SimpleTimeQuantity(8, 0).toDay(8)); 
     118        assertEquals(new BigDecimal("1.5000000000"), new SimpleTimeQuantity(12, 0).toDay(8)); 
     119        assertEquals(new BigDecimal("1.5000000000"), new SimpleTimeQuantity(12, 0).toDay(8)); 
     120        assertEquals(new BigDecimal("0.8750000000"), new SimpleTimeQuantity(7, 0).toDay(8)); 
     121        assertEquals(new BigDecimal("1.0000000000"), new SimpleTimeQuantity(24, 0).toDay(24)); 
     122        assertEquals(new BigDecimal("0.3333333333"), new SimpleTimeQuantity(8, 0).toDay(24)); 
     123 
     124        assertEquals(new BigDecimal("-0.0000000000"), new SimpleTimeQuantity(0, 0, true).toDay(8)); 
     125        assertEquals(new BigDecimal("-1.0000000000"), new SimpleTimeQuantity(8, 0, true).toDay(8)); 
     126        assertEquals(new BigDecimal("-1.5000000000"), new SimpleTimeQuantity(12, 0, true).toDay(8)); 
     127        assertEquals(new BigDecimal("-1.5000000000"), new SimpleTimeQuantity(12, 0, true).toDay(8)); 
     128        assertEquals(new BigDecimal("-0.8750000000"), new SimpleTimeQuantity(7, 0, true).toDay(8)); 
     129        assertEquals(new BigDecimal("-1.0000000000"), new SimpleTimeQuantity(24, 0, true).toDay(24)); 
     130        assertEquals(new BigDecimal("-0.3333333333"), new SimpleTimeQuantity(8, 0, true).toDay(24)); 
    131131 
    132132    } 
  • trunk/prm/Java/net/project/calendar/workingtime/WorkingTime.java

    r13408