Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade to include v812 and v900 fix issue #11 #12

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ The table below lists the current list of checkpoints that are performed by the
| Custom valueInfo | | ✔ | |
| Custom valueEditor | | ✔ | |
| Custom rule properties | | ✔ | |
| XML Binding | ✔ | | |
| Optional XOM Mangemenent in DC | ✔ | | |
| Operation without Ruleflow | ✔ | | |


Additionally, the advisor is looking for the following situations:

Expand Down Expand Up @@ -82,7 +86,7 @@ Running the advisor requires the following to be installed and/or available:
### Mandatory settings
Before running advisor, you need to edit the **[ota.properties](ota.properties)** file and set a few properties about your environment. At a minimum, you will need to set the following properties:
* `ota.url` is the URL to the ODM repository you want to review.
* `ota.version` is the name of the ODM version you are using. It has to be one of `v86`, `v87`, `v88`, `v89` or `v810`.
* `ota.version` is the name of the ODM version you want to move to. It has to be one of `v810`, `v811`, `v812`, `v900` .
* `odm.dir` is the Operational Decision Manager install folder.

### Optional settings
Expand Down Expand Up @@ -198,7 +202,7 @@ The goal of using rules is to make the advisor easily expandable to new validati
# More information and feedback

This application was built based on the expertise of the IBM Cloud Integration Expert Labs and IBM Garage Solution Engineering.
If you would like to discuss expanding it and/or integrating it into your operations or have other questions, comments, or feedback, please send email to **Pierre Berlandier** at *pberland@us.ibm.com*
If you would like to discuss expanding it and/or integrating it into your operations or have other questions, comments, or feedback, please create an [issue](https://github.com/DecisionsDev/odm-transformation-advisor/issues)


# License
Expand All @@ -207,5 +211,5 @@ This project is licensed under the Apache License - see the [LICENSE](LICENSE) f

# Notice

© Copyright IBM Corporation 2020.
© Copyright IBM Corporation 2025.

6 changes: 3 additions & 3 deletions ota-bom/.ruleproject
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
<paths xsi:type="ilog.rules.studio.model.xom:XOMPath" pathID="XOM">
<entries xsi:type="ilog.rules.studio.model.xom:LibraryXOMPathEntry" name="org.eclipse.jdt.launching.JRE_CONTAINER" url="file:org.eclipse.jdt.launching.JRE_CONTAINER" kind="LIBRARY" exported="false"/>
<entries xsi:type="ilog.rules.studio.model.xom:SystemXOMPathEntry" name="ota-xom" url="platform:/ota-xom" kind="JAVA_PROJECT" exported="true"/>
<entries xsi:type="ilog.rules.studio.model.xom:SystemXOMPathEntry" name="jrules-ruleartifacts.jar" url="file:C:/Tools/IBM/odm8.10.5.1/teamserver/lib/jrules-ruleartifacts.jar" exported="false"/>
<entries xsi:type="ilog.rules.studio.model.xom:SystemXOMPathEntry" name="jrules-synchronization.jar" url="file:C:/Tools/IBM/odm8.10.5.1/teamserver/lib/jrules-synchronization.jar" exported="false"/>
<entries xsi:type="ilog.rules.studio.model.xom:SystemXOMPathEntry" name="jrules-teamserver.jar" url="file:C:/Tools/IBM/odm8.10.5.1/teamserver/lib/jrules-teamserver.jar" exported="false"/>
<entries xsi:type="ilog.rules.studio.model.xom:SystemXOMPathEntry" name="jrules-ruleartifacts.jar" url="file:C:/IBM/ODM8105/teamserver/lib/jrules-ruleartifacts.jar" exported="false"/>
<entries xsi:type="ilog.rules.studio.model.xom:SystemXOMPathEntry" name="jrules-synchronization.jar" url="file:C:/IBM/ODM8105/teamserver/lib/jrules-synchronization.jar" exported="false"/>
<entries xsi:type="ilog.rules.studio.model.xom:SystemXOMPathEntry" name="jrules-teamserver.jar" url="file:C:/IBM/ODM8105/teamserver/lib/jrules-teamserver.jar" exported="false"/>
</paths>
<paths xsi:type="ilog.rules.studio.model.bom:BOMPath" pathID="BOM">
<entries xsi:type="ilog.rules.studio.model.bom:BOMEntry" name="opc-model" url="platform:/ota-bom/bom/opc-model.bom" origin="xom:/ota-bom//ota-xom"/>
Expand Down
12 changes: 12 additions & 0 deletions ota-bom/bom/opc-model.b2xa
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,18 @@
return "VERBALIZATION_SPELLING";
]]></getter>
</attribute>
<attribute>
<name>XML_BINDING</name>
<getter language="irl"><![CDATA[
return "XML_BINDING";
]]></getter>
</attribute>
<attribute>
<name>XOM_MANAGEMENT_IN_DC</name>
<getter language="irl"><![CDATA[
return "XOM_MANAGEMENT_IN_DC";
]]></getter>
</attribute>
</class>
<class>
<businessName>com.ibm.odm.ota.virtual.ParamNameType</businessName>
Expand Down
15 changes: 14 additions & 1 deletion ota-bom/bom/opc-model.bom
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,9 @@ public class FeedbackType
static MODELING_DS_REMOVED,
static CLASSIC_ENGINE_REMOVED,
static TEMPLATE_REMOVED,
static RULESET_WITHOUT_RULEFLOW
static RULESET_WITHOUT_RULEFLOW,
static XOM_MANAGEMENT_IN_DC,
static XML_BINDING
}
public static final readonly com.ibm.odm.ota.virtual.FeedbackType ARCHIVING;
public static final readonly com.ibm.odm.ota.virtual.FeedbackType B2X_CODE_TOO_LONG;
Expand Down Expand Up @@ -155,6 +157,8 @@ public class FeedbackType
public static final readonly com.ibm.odm.ota.virtual.FeedbackType VALUE_EDITOR;
public static final readonly com.ibm.odm.ota.virtual.FeedbackType VALUE_INFO;
public static final readonly com.ibm.odm.ota.virtual.FeedbackType VERBALIZATION_SPELLING;
public static final readonly com.ibm.odm.ota.virtual.FeedbackType XML_BINDING;
public static final readonly com.ibm.odm.ota.virtual.FeedbackType XOM_MANAGEMENT_IN_DC;
}

public class ParamNameType
Expand All @@ -173,3 +177,12 @@ public class ParamNameType
public static final readonly com.ibm.odm.ota.virtual.ParamNameType maxProjectBranches;
}

package java.lang;


public class ClassNotFoundException
extends java.lang.Exception
property "de.autoCatchExceptionInConditions" "true"
{
}

2 changes: 2 additions & 0 deletions ota-bom/bom/opc-model_en_US.voc
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ com.ibm.odm.ota.virtual.FeedbackType.USING_SEQUENTIAL#instance.label = Using Seq
com.ibm.odm.ota.virtual.FeedbackType.VALUE_EDITOR#instance.label = Using Value Editor
com.ibm.odm.ota.virtual.FeedbackType.VALUE_INFO#instance.label = Using Value Info
com.ibm.odm.ota.virtual.FeedbackType.VERBALIZATION_SPELLING#instance.label = Verbalizations Spelling
com.ibm.odm.ota.virtual.FeedbackType.XML_BINDING#instance.label = XML Binding
com.ibm.odm.ota.virtual.FeedbackType.XOM_MANAGEMENT_IN_DC#instance.label = XOM Management not enabled

# com.ibm.odm.ota.virtual.ParamNameType
com.ibm.odm.ota.virtual.ParamNameType#concept.label = com.ibm.odm.ota.virtual.ParamNameType
Expand Down
Binary file modified ota-bom/resources/findings.xlsx
Binary file not shown.
Binary file modified ota-bom/resources/xom-libraries/ota-xom.zip
Binary file not shown.
17 changes: 4 additions & 13 deletions ota-driver/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/jrules-dataaccess-rs4j.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/jrules-decisionservice-model.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/jrules-decisionservice.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/jrules-engine.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/jrules-language.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/jrules-model-dataaccess.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/jrules-model-xml.jar"/>
Expand Down Expand Up @@ -42,19 +41,11 @@
<classpathentry kind="var" path="ILOG_BR_HOME/executionserver/lib/poi-4.0.1.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/executionserver/lib/poi-ooxml-4.0.1.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/executionserver/lib/poi-ooxml-schemas-4.0.1.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/icu4j-61.1.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/guava-30.1-jre.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/httpclient-4.5.13.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/httpcore-4.4.14.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-aop-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-beans-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-context-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-context-support-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-core-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-expression-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-web-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/spring-webmvc-5.0.19.RELEASE.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/commons-codec-1.13.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/openjdk8"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/guava-32.0.1-jre.jar"/>
<classpathentry kind="var" path="ILOG_BR_HOME"/>
<classpathentry kind="var" path="ILOG_BR_HOME/teamserver/lib/icu4j-71.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
2 changes: 1 addition & 1 deletion ota-driver/build.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Path to your ODM install.
#
odm.dir=C:/Tools/IBM/odm8.10.5.1/
odm.dir=C:/IBM/odm81051/

2 changes: 1 addition & 1 deletion ota-driver/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
</target>

<target name="clean-ota-build">
<delete dir="${build.dir}" />
<delete dir="${build.dir}" failonerror="false" />
<mkdir dir="${build.dir}" />
</target>

Expand Down
Binary file added ota-driver/pkg/ota/lib/dc89-xom-patch.jar
Binary file not shown.
Binary file modified ota-driver/pkg/ota/lib/jrules-engine.jar
Binary file not shown.
Binary file modified ota-driver/pkg/ota/lib/ota-driver.jar
Binary file not shown.
Binary file modified ota-driver/pkg/ota/lib/ota-xom.jar
Binary file not shown.
5 changes: 5 additions & 0 deletions ota-driver/pkg/ota/ota.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,19 @@

<property file="${basedir}/ota.properties"/>


<path id="run.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
<exclude name="**/*patch.jar"/>
</fileset>
<fileset dir="${odm.dir}/teamserver/lib">
<include name="**/*.jar" />
<exclude name="jrules-engine.jar"/>
</fileset>
<fileset dir="${lib.dir}">
<include name="**/*patch.jar" />
</fileset>
<pathelement path="${res.dir}"/>
</path>

Expand Down
Binary file modified ota-driver/pkg/ota/resources/findings.xlsx
Binary file not shown.
4 changes: 3 additions & 1 deletion ota-driver/pkg/ota/resources/preferences.properties
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,6 @@ REMOVED.report.summary = true
NO_SAAS.report.detail = true
DEPRECATION.report.detail = true
RECOMMENDATION.report.detail = true
REMOVED.report.detail = true
REMOVED.report.detail = true
PASS.report.detail = false
FAIL.report.detail = false
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1737758550071
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1737758555516
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
project_group_validation_operation
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#Fri Jan 24 14:42:35 PST 2025
ruleset.uuid=42da43a0-638f-47a5-bdea-72ec103bf8da
ruleset.engine=de
ruleset.engine.version=1.40.12
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1737758553614
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
project_validation_operation
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#Fri Jan 24 14:42:35 PST 2025
ruleset.uuid=8ed8e730-bdd9-484d-8539-3377a0916ab4
ruleset.engine=de
ruleset.engine.version=1.40.12
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#Fri Jan 24 14:42:35 PST 2025
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1738198249028
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1738198255329
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
project_group_validation_operation
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#Wed Jan 29 16:50:55 PST 2025
ruleset.uuid=25bc3e57-51ca-4aa9-b180-5a79f39d0849
ruleset.engine=de
ruleset.engine.version=1.40.12
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1738198252630
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
project_validation_operation
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#Wed Jan 29 16:50:55 PST 2025
ruleset.uuid=1fae5e25-588e-48a5-9378-c21b43178874
ruleset.engine=de
ruleset.engine.version=1.40.12
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#Wed Jan 29 16:50:55 PST 2025
9 changes: 9 additions & 0 deletions ota-driver/src/com/ibm/odm/ota/Findings.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,15 @@ public static int getFindingImportance(String tag) {
}
return importance;
}

public static int getFindingMaxImportance(String tag) {
int importance = 0;
for (String flag : instance.findings.get(tag).flags) {
if ( instance.markers.get(flag).importance > importance )
importance = instance.markers.get(flag).importance ;
}
return importance;
}

public static List<String> getFindings() throws OTAException {
return new ArrayList<String>(getInstance().findings.keySet());
Expand Down
28 changes: 23 additions & 5 deletions ota-driver/src/com/ibm/odm/ota/ReportFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public void createHTML(Report report, String filename) throws OTAException {
template = template.replace("$username", report.getUsername());
template = template.replace("$repository", report.getUrl());
template = template.replace("$datasource", report.getDatasource());
template = template.replace("$version", report.getVersion());
template = template.replace("$version", report.getVersion() + "&nbsp;" + getStatus(report));
template = template.replace("$css", getCSS());
template = template.replace("$summaries", getSummaries(report));
template = template.replace("$impact", getImpact());
Expand Down Expand Up @@ -109,6 +109,20 @@ private String getCSS() throws OTAException {
throw new OTAException("Error loading CSS file", e);
}
}

private String getStatus(Report report) throws OTAException {

String result = "";
for (ReportElement element : report.getElements()) {
if ( isReportable(element, Context.summary )) {
if ( Findings.getFindingMaxImportance(element.getType()) >=4 ) {
return getMarker("FAIL");
}
}
}
return getMarker("PASS");

}

private String getSummaries(Report report) throws OTAException {
String summaries = "";
Expand Down Expand Up @@ -145,15 +159,19 @@ private String getMarkers(String type) throws OTAException {
String result = "";
for (String flag : Findings.getFinding(type).flags) {
if (isReportable(flag, Context.summary)) {
String color = Findings.getMarker(flag).color;
String icon = Findings.getMarker(flag).icon;
String markerString = String.format(MARKERS_TMPL, color, icon);
result += markerString;
result += getMarker(flag);
}
}
return result;
}

private String getMarker(String flag) throws OTAException {
String color = Findings.getMarker(flag).color;
String icon = Findings.getMarker(flag).icon;
String markerString = String.format(MARKERS_TMPL, color, icon);
return markerString;
}

private String getImpact() throws OTAException {
String impact = "";
for (String tag : Findings.getMarkers()) {
Expand Down
12 changes: 12 additions & 0 deletions ota-rules/rules/project group/enable xom.brl
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<ilog.rules.studio.model.brl:ActionRule xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ilog.rules.studio.model.brl="http://ilog.rules.studio/model/brl.ecore">
<name>enable xom</name>
<uuid>0cf5d186-360c-4c7b-8649-c1cf4baa54d8</uuid>
<locale>en_US</locale>
<definition><![CDATA[if
project is decision service
and the migration flag of the project info of the current baseline of project is 1
then
print the name of project + "does not use XOM Management in Decision Center" ;
add project entry XOM Management not enabled : < the name of project , "rule project" > to report ;]]></definition>
</ilog.rules.studio.model.brl:ActionRule>
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
if
mode is null or mode is not "DecisionEngine"
then
add project entry Classic Rule Engine : < the name of project, "decision service" > to report ;]]></definition>
add project entry Classic Rule Engine Removed : < the name of project, "decision service" > to report ;]]></definition>
</ilog.rules.studio.model.brl:ActionRule>
11 changes: 11 additions & 0 deletions ota-rules/rules/project group/use xml binding.brl
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<ilog.rules.studio.model.brl:ActionRule xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ilog.rules.studio.model.brl="http://ilog.rules.studio/model/brl.ecore">
<name>use xml binding</name>
<uuid>f8887f15-eda0-425d-bec2-147550bd6472</uuid>
<locale>en_US</locale>
<definition><![CDATA[if
the dynamic XOM of the project info of the current baseline of project is not null
then
print the name of project + " uses XML Binding" ;
add project entry XML Binding : < the name of project , "rule project" > to report ;]]></definition>
</ilog.rules.studio.model.brl:ActionRule>
2 changes: 1 addition & 1 deletion ota-xom/build.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Path to your ODM install.
#
odm.dir=C:/Tools/IBM/odm8.10.5.1
odm.dir=C:/IBM/odm81051