Package org.pentaho.platform.api.scheduler2

Examples of org.pentaho.platform.api.scheduler2.IJobTrigger


   * Test method for {@link org.pentaho.platform.scheduler2.blockout.PentahoBlockoutManager#shouldFireNow()}.
   */
  @Test
  public void testShouldFireNow() throws Exception {
    Date blockOutStartDate = new Date( System.currentTimeMillis() );
    IJobTrigger blockOutJobTrigger = new SimpleJobTrigger( blockOutStartDate, null, -1, TIME.WEEK.time * 2 / 1000 );
    blockOutJobTrigger.setDuration( duration );

    Job blockOutJob = addBlockOutJob( blockOutJobTrigger );

    assertFalse( this.blockOutManager.shouldFireNow() );

    deleteJob( blockOutJob.getJobId() );
    blockOutStartDate = new Date( System.currentTimeMillis() + TIME.HOUR.time );
    blockOutJobTrigger = new SimpleJobTrigger( blockOutStartDate, null, -1, TIME.WEEK.time * 2 / 1000 );
    blockOutJobTrigger.setDuration( duration );
    addBlockOutJob( blockOutJobTrigger );

    assertTrue( this.blockOutManager.shouldFireNow() );
  }
View Full Code Here


   * .
   */
  @Test
  public void testWillBlockSchedules() throws Exception {
    Calendar trueBlockOutStartDate = new GregorianCalendar( 2013, Calendar.JANUARY, 7 );
    IJobTrigger trueBlockOutTrigger =
        new SimpleJobTrigger( trueBlockOutStartDate.getTime(), null, -1, TIME.WEEK.time / 1000 );
    trueBlockOutTrigger.setDuration( duration );

    Calendar falseBlockOutStartDate = new GregorianCalendar( 2013, Calendar.JANUARY, 9 );
    IJobTrigger falseBlockOutTrigger =
        new SimpleJobTrigger( falseBlockOutStartDate.getTime(), null, -1, TIME.WEEK.time / 1000 );
    falseBlockOutTrigger.setDuration( duration );

    IJobTrigger trueComplexBlockOutTrigger = new ComplexJobTrigger();
    trueComplexBlockOutTrigger.setStartTime( trueBlockOutStartDate.getTime() );
    trueComplexBlockOutTrigger.setCronString( "0 0 0 ? * 2 *" ); //$NON-NLS-1$
    trueComplexBlockOutTrigger.setDuration( duration );

    IJobTrigger falseComplexBlockOutTrigger = new ComplexJobTrigger();
    falseComplexBlockOutTrigger.setStartTime( falseBlockOutStartDate.getTime() );
    falseComplexBlockOutTrigger.setCronString( "0 0 0 ? * WED *" ); //$NON-NLS-1$
    falseComplexBlockOutTrigger.setDuration( duration );

    Calendar scheduleStartDate = new GregorianCalendar( 2013, Calendar.JANUARY, 7, 1, 0, 0 );
    IJobTrigger scheduleTrigger = new SimpleJobTrigger( scheduleStartDate.getTime(), null, -1, TIME.WEEK.time / 1000 );
    addJob( scheduleTrigger, "scheduleTrigger" ); //$NON-NLS-1$

    assertEquals( 1, this.blockOutManager.willBlockSchedules( trueBlockOutTrigger ).size() );
    assertEquals( 1, this.blockOutManager.willBlockSchedules( trueComplexBlockOutTrigger ).size() );
    assertEquals( 0, this.blockOutManager.willBlockSchedules( falseBlockOutTrigger ).size() );
    assertEquals( 0, this.blockOutManager.willBlockSchedules( falseComplexBlockOutTrigger ).size() );

    IJobTrigger cronTrigger = new ComplexJobTrigger();
    cronTrigger.setStartTime( scheduleStartDate.getTime() );
    cronTrigger.setCronString( "0 0 1 ? * 2-3 *" ); //$NON-NLS-1$
    addJob( cronTrigger, "cronTrigger" ); //$NON-NLS-1$

    assertEquals( 2, this.blockOutManager.willBlockSchedules( trueBlockOutTrigger ).size() );
    assertEquals( 2, this.blockOutManager.willBlockSchedules( trueComplexBlockOutTrigger ).size() );
    assertEquals( 0, this.blockOutManager.willBlockSchedules( falseBlockOutTrigger ).size() );
    assertEquals( 0, this.blockOutManager.willBlockSchedules( falseComplexBlockOutTrigger ).size() );

    IJobTrigger complexJobTrigger1 = new ComplexJobTrigger( null, null, null, ComplexJobTrigger.MONDAY, 0 );
    complexJobTrigger1.setStartTime( scheduleStartDate.getTime() );
    addJob( complexJobTrigger1, "complexJobTrigger1" ); //$NON-NLS-1$

    assertEquals( 3, this.blockOutManager.willBlockSchedules( trueBlockOutTrigger ).size() );
    assertEquals( 3, this.blockOutManager.willBlockSchedules( trueComplexBlockOutTrigger ).size() );
    assertEquals( 0, this.blockOutManager.willBlockSchedules( falseBlockOutTrigger ).size() );
    assertEquals( 0, this.blockOutManager.willBlockSchedules( falseComplexBlockOutTrigger ).size() );

    // Test non-standard interval
    IJobTrigger complexJobTrigger2 = new ComplexJobTrigger( null, null, 1, null, 0 );
    complexJobTrigger2.setStartTime( scheduleStartDate.getTime() );
    addJob( complexJobTrigger2, "complexJobTrigger2" ); //$NON-NLS-1$

    assertEquals( 4, this.blockOutManager.willBlockSchedules( trueBlockOutTrigger ).size() );
    assertEquals( 4, this.blockOutManager.willBlockSchedules( trueComplexBlockOutTrigger ).size() );
    assertEquals( 1, this.blockOutManager.willBlockSchedules( falseBlockOutTrigger ).size() );
View Full Code Here

    return true;
  }

  private void scheduleJob( int intervalInSeconds ) throws Exception {

    IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$
    JobTrigger trigger = new SimpleJobTrigger( new Date(), null, -1, intervalInSeconds );

    jobMap.put( "transFileName", getTransFileName() );
    scheduler.createJob( GatherStatsListener.JOB_NAME, GatherStatsAction.class, jobMap, trigger );
    logger.info( "Statistics gathering jop has been scheduled." );
  }
View Full Code Here

    return versionRequestFlags;
  }

  protected void scheduleJob( final int versionRequestFlags, final int repeatSeconds ) throws Exception {

    IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$

    deleteJobIfNecessary();

    Map<String, Serializable> parms = new HashMap<String, Serializable>();
    parms.put( VersionCheckerAction.VERSION_REQUEST_FLAGS, new Integer( versionRequestFlags ) );
    JobTrigger trigger = new SimpleJobTrigger( new Date(), null, -1, repeatSeconds );
    scheduler.createJob( EmbeddedVersionCheckSystemListener.VERSION_CHECK_JOBNAME, VersionCheckerAction.class, parms,
        trigger );
  }
View Full Code Here

    scheduler.createJob( EmbeddedVersionCheckSystemListener.VERSION_CHECK_JOBNAME, VersionCheckerAction.class, parms,
        trigger );
  }

  protected void deleteJobIfNecessary() throws SchedulerException {
    IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$
    IJobFilter filter = new IJobFilter() {
      public boolean accept( Job job ) {
        return job.getJobName().contains( EmbeddedVersionCheckSystemListener.VERSION_CHECK_JOBNAME );
      }
    };

    // Like old code - remove the existing job and replace it
    List<Job> matchingJobs = scheduler.getJobs( filter );
    if ( ( matchingJobs != null ) && ( matchingJobs.size() > 0 ) ) {
      for ( Job verCkJob : matchingJobs ) {
        scheduler.removeJob( verCkJob.getJobId() );
      }
    }
  }
View Full Code Here

    logger.debug( "Creating job with schedule " + trigger.toString() ); //$NON-NLS-1$

    Job job = null;
    try {
      IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$
      Map<String, Serializable> properJobParams = toProperMap( jobParams );
      job = scheduler.createJob( jobName, getDefaultActionId(), properJobParams, trigger );
    } catch ( SchedulerException e ) {
      logger.error( e.getMessage(), e ); // temporary error logging.. this needs to become an aspect
      throw e;
    }
    return job.getJobId();
View Full Code Here

  private void updateJob( String jobId, Map<String, ParamValue> jobParams, JobTrigger trigger )
    throws SchedulerException {
    logger.debug( "Creating job with schedule " + trigger.toString() ); //$NON-NLS-1$
    try {
      IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$
      Map<String, Serializable> properJobParams = toProperMap( jobParams );
      scheduler.updateJob( jobId, properJobParams, trigger );
    } catch ( SchedulerException e ) {
      logger.error( e.getMessage(), e ); // temporary error logging.. this needs to become an aspect
      throw e;
    }
  }
View Full Code Here

    }
  }

  /** {@inheritDoc} */
  public Job[] getJobs() throws SchedulerException {
    IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$
    return scheduler.getJobs( null ).toArray( new Job[0] );
  }
View Full Code Here

    return scheduler.getJobs( null ).toArray( new Job[0] );
  }

  /** {@inheritDoc} */
  public void pause() throws SchedulerException {
    IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$
    scheduler.pause();
  }
View Full Code Here

    scheduler.pause();
  }

  /** {@inheritDoc} */
  public void pauseJob( String jobId ) throws SchedulerException {
    IScheduler scheduler = PentahoSystem.get( IScheduler.class, "IScheduler2", null ); //$NON-NLS-1$
    scheduler.pauseJob( jobId );
  }
View Full Code Here

TOP

Related Classes of org.pentaho.platform.api.scheduler2.IJobTrigger

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.