先前曾分享抓取目標系統安裝軟體版本的方法。本篇要分享如何判斷是否滿足升級條件。
目前我們手上會有兩個變數:
內建的IA Rule,並沒辦法達到比較字串大小的作用;假如我使用script去處理,會比較不好維護。因此最後決定寫CustomCodeRule去達到這個目的,程式碼很簡單,供給大家參考:
package org.tonylin.practice.ia.customcode; import com.zerog.ia.api.pub.CustomCodeRule; public class MatchUpgradeCriteria extends CustomCodeRule { @Override public boolean evaluateRule() { String base_version = (String)ruleProxy.getVariable("BASE_PRODUCT_VERSION"); if( base_version == null || base_version.isEmpty() ) { return false; } String installer_version = (String)ruleProxy.getVariable("PRODUCT_VERSION_NUMBER"); return installer_version.compareTo(base_version) >= 1; } }最後就是在你要執行升級動作相關的Action去加入CustomRule: