Sun Identity Manager 8.1 ビジネス管理者ガイド

Procedureサンプルの「Accept All Dates」規則を表示する

この節では、組み込みの「Accept All Dates」サンプル規則について説明します。

  1. テキストエディタで、Identity Manager の sample ディレクトリにある ReconRules.xml を開きます。

  2. SCHEDULING_RULE_ACCEPT_ALL_DATES という名前の規則を検索します。

    規則を「調整ポリシーの編集」ページの「タスクスケジュール繰り返し規則」ドロップダウンメニューに表示するには、subtype 属性を SUBTYPE_TASKSCHEDULE_REPETITION_RULE: に設定する必要があります。


    <Rule subtype=’SUBTYPE_TASKSCHEDULE_REPETITION_RULE’ 
    name=’SCHEDULING_RULE_ACCEPT_ALL_DATES’>

    前の説明にもあるとおり、タスクスケジュール繰り返し規則でデフォルトの調整スケジュールを変更できます。

    変数 calculatedNextDate には、デフォルトの方法で計算された次の日付を設定することも、別の日付を返すこともできます。サンプル規則に記述されているように、calculatedNextDate は無条件にデフォルトの日付を受け付けます。次の箇所を参照してください。


    <RuleArgument name=’calculatedNextDate’/>
    <block>
      <ref>calculatedNextDate</ref>
    </block>

    カスタムスケジュールを作成するには、<block> 要素の間にある規則のロジックを書き換えます。たとえば、調整開始時間を土曜日の午前 10:00 に変更するには、次のような JavaScript を <block> 要素の間に記述します。


    <block>
      <script>
         var calculatedNextDate = env.get(’calculatedNextDate’);
    
        // Test to see if this task is scheduled for a Saturday
        // (Note that 6 is used to denote Saturday in JavaScript)
        if(calculatedNextDate.getDay() == 6) {
          // If so, set the time to 10:00:00
          calculatedNextDate.setHours(10);
          calculatedNextDate.setMinutes(0);
          calculatedNextDate.setSeconds(0);
        }
        // Return the modified date
        calculatedNextDate;
      </script>
    </block>

    「サンプルの「Accept All Dates」規則を表示する」 では、calculatedNextDate は最初にデフォルトのスケジュール時刻に設定されています。次回のスケジュールされた実行日が土曜の場合、規則は調整を 10:00 に開始するようにスケジュールします。次回のスケジュールされた実行日が土曜以外の場合、「サンプルの「Accept All Dates」規則を表示する」は時間の調整を行わずに calculatedNextDate を返し、デフォルトのスケジュールが使用されます。

    Identity Manager で使用するカスタム規則の作成については、『Sun Identity Manager Deployment Reference』の第 4 章「Working with Rules」を参照してください。