commit c41f7260ce60e232df6c3eaf0edf2a586907fc56 Author: lijh Date: Tue Mar 10 11:43:37 2026 +0800 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..bf82ff0 Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..ca5ab4b --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar diff --git a/lib/Ads0SoaAdsFoundationLoose_13000.1.0.jar b/lib/Ads0SoaAdsFoundationLoose_13000.1.0.jar new file mode 100644 index 0000000..c8ae2b1 Binary files /dev/null and b/lib/Ads0SoaAdsFoundationLoose_13000.1.0.jar differ diff --git a/lib/Ads0SoaAdsFoundationStrong_13000.1.0.jar b/lib/Ads0SoaAdsFoundationStrong_13000.1.0.jar new file mode 100644 index 0000000..0de9af1 Binary files /dev/null and b/lib/Ads0SoaAdsFoundationStrong_13000.1.0.jar differ diff --git a/lib/Aed0SoaStrongModelAutomationElectricDesign_13000.1.0.jar b/lib/Aed0SoaStrongModelAutomationElectricDesign_13000.1.0.jar new file mode 100644 index 0000000..fc18aac Binary files /dev/null and b/lib/Aed0SoaStrongModelAutomationElectricDesign_13000.1.0.jar differ diff --git a/lib/Ap0SoaStrongModelAdvancePlanner_13000.1.0.jar b/lib/Ap0SoaStrongModelAdvancePlanner_13000.1.0.jar new file mode 100644 index 0000000..743cbad Binary files /dev/null and b/lib/Ap0SoaStrongModelAdvancePlanner_13000.1.0.jar differ diff --git a/lib/Apb0SoaStrongModelAttrParmBase_13000.1.0.jar b/lib/Apb0SoaStrongModelAttrParmBase_13000.1.0.jar new file mode 100644 index 0000000..bfb9887 Binary files /dev/null and b/lib/Apb0SoaStrongModelAttrParmBase_13000.1.0.jar differ diff --git a/lib/Aps0SoaStrongModelApsCore_13000.1.0.jar b/lib/Aps0SoaStrongModelApsCore_13000.1.0.jar new file mode 100644 index 0000000..edeb59f Binary files /dev/null and b/lib/Aps0SoaStrongModelApsCore_13000.1.0.jar differ diff --git a/lib/Asp0SoaAspectLoose_13000.1.0.jar b/lib/Asp0SoaAspectLoose_13000.1.0.jar new file mode 100644 index 0000000..b99333a Binary files /dev/null and b/lib/Asp0SoaAspectLoose_13000.1.0.jar differ diff --git a/lib/Asp0SoaAspectStrong_13000.1.0.jar b/lib/Asp0SoaAspectStrong_13000.1.0.jar new file mode 100644 index 0000000..d45cf4e Binary files /dev/null and b/lib/Asp0SoaAspectStrong_13000.1.0.jar differ diff --git a/lib/Asp0SoaStrongModelAspect_13000.1.0.jar b/lib/Asp0SoaStrongModelAspect_13000.1.0.jar new file mode 100644 index 0000000..4cadf37 Binary files /dev/null and b/lib/Asp0SoaStrongModelAspect_13000.1.0.jar differ diff --git a/lib/Att0SoaAttrTargetMgmtLoose_13000.1.0.jar b/lib/Att0SoaAttrTargetMgmtLoose_13000.1.0.jar new file mode 100644 index 0000000..bff9daa Binary files /dev/null and b/lib/Att0SoaAttrTargetMgmtLoose_13000.1.0.jar differ diff --git a/lib/Att0SoaAttrTargetMgmtStrong_13000.1.0.jar b/lib/Att0SoaAttrTargetMgmtStrong_13000.1.0.jar new file mode 100644 index 0000000..ba43f60 Binary files /dev/null and b/lib/Att0SoaAttrTargetMgmtStrong_13000.1.0.jar differ diff --git a/lib/Att0SoaStrongModelAttrTargetMgmt_13000.1.0.jar b/lib/Att0SoaStrongModelAttrTargetMgmt_13000.1.0.jar new file mode 100644 index 0000000..f866862 Binary files /dev/null and b/lib/Att0SoaStrongModelAttrTargetMgmt_13000.1.0.jar differ diff --git a/lib/Bdo0SoaStrongModelBranchDataOrganization_13000.1.0.jar b/lib/Bdo0SoaStrongModelBranchDataOrganization_13000.1.0.jar new file mode 100644 index 0000000..33a1da3 Binary files /dev/null and b/lib/Bdo0SoaStrongModelBranchDataOrganization_13000.1.0.jar differ diff --git a/lib/Bhv0SoaBranchFoundationLoose_13000.1.0.jar b/lib/Bhv0SoaBranchFoundationLoose_13000.1.0.jar new file mode 100644 index 0000000..e0e8a50 Binary files /dev/null and b/lib/Bhv0SoaBranchFoundationLoose_13000.1.0.jar differ diff --git a/lib/Bhv0SoaBranchFoundationStrong_13000.1.0.jar b/lib/Bhv0SoaBranchFoundationStrong_13000.1.0.jar new file mode 100644 index 0000000..b06a9c6 Binary files /dev/null and b/lib/Bhv0SoaBranchFoundationStrong_13000.1.0.jar differ diff --git a/lib/Bhv0SoaStrongModelBranchfoundation_13000.1.0.jar b/lib/Bhv0SoaStrongModelBranchfoundation_13000.1.0.jar new file mode 100644 index 0000000..10d6ca6 Binary files /dev/null and b/lib/Bhv0SoaStrongModelBranchfoundation_13000.1.0.jar differ diff --git a/lib/Bom0SoaBomCoreLoose_13000.1.0.jar b/lib/Bom0SoaBomCoreLoose_13000.1.0.jar new file mode 100644 index 0000000..7080336 Binary files /dev/null and b/lib/Bom0SoaBomCoreLoose_13000.1.0.jar differ diff --git a/lib/Bom0SoaBomCoreStrong_13000.1.0.jar b/lib/Bom0SoaBomCoreStrong_13000.1.0.jar new file mode 100644 index 0000000..c3c9c7d Binary files /dev/null and b/lib/Bom0SoaBomCoreStrong_13000.1.0.jar differ diff --git a/lib/Bom0SoaStrongModelBomManagement_13000.1.0.jar b/lib/Bom0SoaStrongModelBomManagement_13000.1.0.jar new file mode 100644 index 0000000..f07521c Binary files /dev/null and b/lib/Bom0SoaStrongModelBomManagement_13000.1.0.jar differ diff --git a/lib/CAE0SoaSimProcLoose_13000.1.0.jar b/lib/CAE0SoaSimProcLoose_13000.1.0.jar new file mode 100644 index 0000000..06c9b7f Binary files /dev/null and b/lib/CAE0SoaSimProcLoose_13000.1.0.jar differ diff --git a/lib/CAE0SoaSimProcStrong_13000.1.0.jar b/lib/CAE0SoaSimProcStrong_13000.1.0.jar new file mode 100644 index 0000000..5fa2324 Binary files /dev/null and b/lib/CAE0SoaSimProcStrong_13000.1.0.jar differ diff --git a/lib/CAE0SoaStrongModelSimProc_13000.1.0.jar b/lib/CAE0SoaStrongModelSimProc_13000.1.0.jar new file mode 100644 index 0000000..53f420d Binary files /dev/null and b/lib/CAE0SoaStrongModelSimProc_13000.1.0.jar differ diff --git a/lib/CPA0SoaStrongModelCapaDataModel_13000.1.0.jar b/lib/CPA0SoaStrongModelCapaDataModel_13000.1.0.jar new file mode 100644 index 0000000..fad26ff Binary files /dev/null and b/lib/CPA0SoaStrongModelCapaDataModel_13000.1.0.jar differ diff --git a/lib/Cba1SoaCbaExtLoose_13000.1.0.jar b/lib/Cba1SoaCbaExtLoose_13000.1.0.jar new file mode 100644 index 0000000..f837702 Binary files /dev/null and b/lib/Cba1SoaCbaExtLoose_13000.1.0.jar differ diff --git a/lib/Cba1SoaCbaExtStrong_13000.1.0.jar b/lib/Cba1SoaCbaExtStrong_13000.1.0.jar new file mode 100644 index 0000000..2baac0f Binary files /dev/null and b/lib/Cba1SoaCbaExtStrong_13000.1.0.jar differ diff --git a/lib/Cbm0SoaColorBomPmmLoose_13000.1.0.jar b/lib/Cbm0SoaColorBomPmmLoose_13000.1.0.jar new file mode 100644 index 0000000..410eb9b Binary files /dev/null and b/lib/Cbm0SoaColorBomPmmLoose_13000.1.0.jar differ diff --git a/lib/Cbm0SoaColorBomPmmStrong_13000.1.0.jar b/lib/Cbm0SoaColorBomPmmStrong_13000.1.0.jar new file mode 100644 index 0000000..970eef4 Binary files /dev/null and b/lib/Cbm0SoaColorBomPmmStrong_13000.1.0.jar differ diff --git a/lib/Cbm0SoaStrongModelColorBomPmm_13000.1.0.jar b/lib/Cbm0SoaStrongModelColorBomPmm_13000.1.0.jar new file mode 100644 index 0000000..1bc8734 Binary files /dev/null and b/lib/Cbm0SoaStrongModelColorBomPmm_13000.1.0.jar differ diff --git a/lib/Cdm0SoaContractManagementLoose_13000.1.0.jar b/lib/Cdm0SoaContractManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..db20c2b Binary files /dev/null and b/lib/Cdm0SoaContractManagementLoose_13000.1.0.jar differ diff --git a/lib/Cdm0SoaContractManagementStrong_13000.1.0.jar b/lib/Cdm0SoaContractManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..badf2cf Binary files /dev/null and b/lib/Cdm0SoaContractManagementStrong_13000.1.0.jar differ diff --git a/lib/Cfg0SoaConfiguratorLoose_13000.1.0.jar b/lib/Cfg0SoaConfiguratorLoose_13000.1.0.jar new file mode 100644 index 0000000..06a9ce8 Binary files /dev/null and b/lib/Cfg0SoaConfiguratorLoose_13000.1.0.jar differ diff --git a/lib/Cfg0SoaConfiguratorStrong_13000.1.0.jar b/lib/Cfg0SoaConfiguratorStrong_13000.1.0.jar new file mode 100644 index 0000000..12ef364 Binary files /dev/null and b/lib/Cfg0SoaConfiguratorStrong_13000.1.0.jar differ diff --git a/lib/Cfg0SoaStrongModelConfigurator_13000.1.0.jar b/lib/Cfg0SoaStrongModelConfigurator_13000.1.0.jar new file mode 100644 index 0000000..d34f5da Binary files /dev/null and b/lib/Cfg0SoaStrongModelConfigurator_13000.1.0.jar differ diff --git a/lib/Cfg1SoaStrongModelConfigurator_13000.1.0.jar b/lib/Cfg1SoaStrongModelConfigurator_13000.1.0.jar new file mode 100644 index 0000000..09e9c0b Binary files /dev/null and b/lib/Cfg1SoaStrongModelConfigurator_13000.1.0.jar differ diff --git a/lib/Cfp0SoaStrongModelFeaturePlanning_13000.1.0.jar b/lib/Cfp0SoaStrongModelFeaturePlanning_13000.1.0.jar new file mode 100644 index 0000000..b51e93e Binary files /dev/null and b/lib/Cfp0SoaStrongModelFeaturePlanning_13000.1.0.jar differ diff --git a/lib/Cip0SoaStrongModelControlInSPPlan_13000.1.0.jar b/lib/Cip0SoaStrongModelControlInSPPlan_13000.1.0.jar new file mode 100644 index 0000000..c7ab662 Binary files /dev/null and b/lib/Cip0SoaStrongModelControlInSPPlan_13000.1.0.jar differ diff --git a/lib/Civ0SoaContMgmtS1000D40Loose_13000.1.0.jar b/lib/Civ0SoaContMgmtS1000D40Loose_13000.1.0.jar new file mode 100644 index 0000000..0e82a6c Binary files /dev/null and b/lib/Civ0SoaContMgmtS1000D40Loose_13000.1.0.jar differ diff --git a/lib/Civ0SoaContMgmtS1000D40Strong_13000.1.0.jar b/lib/Civ0SoaContMgmtS1000D40Strong_13000.1.0.jar new file mode 100644 index 0000000..f7d7a89 Binary files /dev/null and b/lib/Civ0SoaContMgmtS1000D40Strong_13000.1.0.jar differ diff --git a/lib/Cla0SoaClassificationCommonLoose_13000.1.0.jar b/lib/Cla0SoaClassificationCommonLoose_13000.1.0.jar new file mode 100644 index 0000000..b2f49f6 Binary files /dev/null and b/lib/Cla0SoaClassificationCommonLoose_13000.1.0.jar differ diff --git a/lib/Cla0SoaClassificationCommonStrong_13000.1.0.jar b/lib/Cla0SoaClassificationCommonStrong_13000.1.0.jar new file mode 100644 index 0000000..319a23b Binary files /dev/null and b/lib/Cla0SoaClassificationCommonStrong_13000.1.0.jar differ diff --git a/lib/Clr0SoaColorAppearanceLoose_13000.1.0.jar b/lib/Clr0SoaColorAppearanceLoose_13000.1.0.jar new file mode 100644 index 0000000..4cd0b2a Binary files /dev/null and b/lib/Clr0SoaColorAppearanceLoose_13000.1.0.jar differ diff --git a/lib/Clr0SoaColorAppearanceStrong_13000.1.0.jar b/lib/Clr0SoaColorAppearanceStrong_13000.1.0.jar new file mode 100644 index 0000000..f2c3450 Binary files /dev/null and b/lib/Clr0SoaColorAppearanceStrong_13000.1.0.jar differ diff --git a/lib/Clr0SoaStrongModelColorAppearance_13000.1.0.jar b/lib/Clr0SoaStrongModelColorAppearance_13000.1.0.jar new file mode 100644 index 0000000..444d181 Binary files /dev/null and b/lib/Clr0SoaStrongModelColorAppearance_13000.1.0.jar differ diff --git a/lib/Clr1SoaStrongModelColorRule_13000.1.0.jar b/lib/Clr1SoaStrongModelColorRule_13000.1.0.jar new file mode 100644 index 0000000..06c4aa9 Binary files /dev/null and b/lib/Clr1SoaStrongModelColorRule_13000.1.0.jar differ diff --git a/lib/Cls0SoaClassificationCoreLoose_13000.1.0.jar b/lib/Cls0SoaClassificationCoreLoose_13000.1.0.jar new file mode 100644 index 0000000..6b2779c Binary files /dev/null and b/lib/Cls0SoaClassificationCoreLoose_13000.1.0.jar differ diff --git a/lib/Cls0SoaClassificationCoreStrong_13000.1.0.jar b/lib/Cls0SoaClassificationCoreStrong_13000.1.0.jar new file mode 100644 index 0000000..fe6b06c Binary files /dev/null and b/lib/Cls0SoaClassificationCoreStrong_13000.1.0.jar differ diff --git a/lib/Cp0SoaStrongModelComposites_13000.1.0.jar b/lib/Cp0SoaStrongModelComposites_13000.1.0.jar new file mode 100644 index 0000000..1813b33 Binary files /dev/null and b/lib/Cp0SoaStrongModelComposites_13000.1.0.jar differ diff --git a/lib/Cpd0SoaCpdCoreLoose_13000.1.0.jar b/lib/Cpd0SoaCpdCoreLoose_13000.1.0.jar new file mode 100644 index 0000000..53bca8c Binary files /dev/null and b/lib/Cpd0SoaCpdCoreLoose_13000.1.0.jar differ diff --git a/lib/Cpd0SoaCpdCoreStrong_13000.1.0.jar b/lib/Cpd0SoaCpdCoreStrong_13000.1.0.jar new file mode 100644 index 0000000..381b1d6 Binary files /dev/null and b/lib/Cpd0SoaCpdCoreStrong_13000.1.0.jar differ diff --git a/lib/Crf0SoaStrongModelCprFoundation_13000.1.0.jar b/lib/Crf0SoaStrongModelCprFoundation_13000.1.0.jar new file mode 100644 index 0000000..00b6fd0 Binary files /dev/null and b/lib/Crf0SoaStrongModelCprFoundation_13000.1.0.jar differ diff --git a/lib/Crt0SoaStrongModelValidationContract_13000.1.0.jar b/lib/Crt0SoaStrongModelValidationContract_13000.1.0.jar new file mode 100644 index 0000000..bc34703 Binary files /dev/null and b/lib/Crt0SoaStrongModelValidationContract_13000.1.0.jar differ diff --git a/lib/Crt0SoaValidationContractLoose_13000.1.0.jar b/lib/Crt0SoaValidationContractLoose_13000.1.0.jar new file mode 100644 index 0000000..82c1fb3 Binary files /dev/null and b/lib/Crt0SoaValidationContractLoose_13000.1.0.jar differ diff --git a/lib/Crt0SoaValidationContractStrong_13000.1.0.jar b/lib/Crt0SoaValidationContractStrong_13000.1.0.jar new file mode 100644 index 0000000..3dfb832 Binary files /dev/null and b/lib/Crt0SoaValidationContractStrong_13000.1.0.jar differ diff --git a/lib/Dia0SoaDiagrammingLoose_13000.1.0.jar b/lib/Dia0SoaDiagrammingLoose_13000.1.0.jar new file mode 100644 index 0000000..e8acc3a Binary files /dev/null and b/lib/Dia0SoaDiagrammingLoose_13000.1.0.jar differ diff --git a/lib/Dia0SoaDiagrammingStrong_13000.1.0.jar b/lib/Dia0SoaDiagrammingStrong_13000.1.0.jar new file mode 100644 index 0000000..20eb75d Binary files /dev/null and b/lib/Dia0SoaDiagrammingStrong_13000.1.0.jar differ diff --git a/lib/Ebm0SoaStrongModelEnterpriseBOM_13000.1.0.jar b/lib/Ebm0SoaStrongModelEnterpriseBOM_13000.1.0.jar new file mode 100644 index 0000000..cdb622c Binary files /dev/null and b/lib/Ebm0SoaStrongModelEnterpriseBOM_13000.1.0.jar differ diff --git a/lib/Ebm9SoaStrongModelCustomebom_13000.1.0.jar b/lib/Ebm9SoaStrongModelCustomebom_13000.1.0.jar new file mode 100644 index 0000000..910f0dd Binary files /dev/null and b/lib/Ebm9SoaStrongModelCustomebom_13000.1.0.jar differ diff --git a/lib/Eda0SoaEDMDCollabLoose_13000.1.0.jar b/lib/Eda0SoaEDMDCollabLoose_13000.1.0.jar new file mode 100644 index 0000000..7c7ade0 Binary files /dev/null and b/lib/Eda0SoaEDMDCollabLoose_13000.1.0.jar differ diff --git a/lib/Eda0SoaEDMDCollabStrong_13000.1.0.jar b/lib/Eda0SoaEDMDCollabStrong_13000.1.0.jar new file mode 100644 index 0000000..e39c562 Binary files /dev/null and b/lib/Eda0SoaEDMDCollabStrong_13000.1.0.jar differ diff --git a/lib/Esm0SoaESMBaseLoose_13000.1.0.jar b/lib/Esm0SoaESMBaseLoose_13000.1.0.jar new file mode 100644 index 0000000..9f7f752 Binary files /dev/null and b/lib/Esm0SoaESMBaseLoose_13000.1.0.jar differ diff --git a/lib/Esm0SoaESMBaseStrong_13000.1.0.jar b/lib/Esm0SoaESMBaseStrong_13000.1.0.jar new file mode 100644 index 0000000..3ff493d Binary files /dev/null and b/lib/Esm0SoaESMBaseStrong_13000.1.0.jar differ diff --git a/lib/Esw0SoaStrongModelEsmgmt_13000.1.0.jar b/lib/Esw0SoaStrongModelEsmgmt_13000.1.0.jar new file mode 100644 index 0000000..153fa14 Binary files /dev/null and b/lib/Esw0SoaStrongModelEsmgmt_13000.1.0.jar differ diff --git a/lib/Fdp0SoaFourDPlanningLoose_13000.1.0.jar b/lib/Fdp0SoaFourDPlanningLoose_13000.1.0.jar new file mode 100644 index 0000000..707bfb8 Binary files /dev/null and b/lib/Fdp0SoaFourDPlanningLoose_13000.1.0.jar differ diff --git a/lib/Fdp0SoaFourDPlanningStrong_13000.1.0.jar b/lib/Fdp0SoaFourDPlanningStrong_13000.1.0.jar new file mode 100644 index 0000000..07277ad Binary files /dev/null and b/lib/Fdp0SoaFourDPlanningStrong_13000.1.0.jar differ diff --git a/lib/Fdp0SoaStrongModelFourDPlanning_13000.1.0.jar b/lib/Fdp0SoaStrongModelFourDPlanning_13000.1.0.jar new file mode 100644 index 0000000..38ef08c Binary files /dev/null and b/lib/Fdp0SoaStrongModelFourDPlanning_13000.1.0.jar differ diff --git a/lib/Fnd0SoaAuditManagerLoose_13000.1.0.jar b/lib/Fnd0SoaAuditManagerLoose_13000.1.0.jar new file mode 100644 index 0000000..791e9c7 Binary files /dev/null and b/lib/Fnd0SoaAuditManagerLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaAuditManagerStrong_13000.1.0.jar b/lib/Fnd0SoaAuditManagerStrong_13000.1.0.jar new file mode 100644 index 0000000..2bde33e Binary files /dev/null and b/lib/Fnd0SoaAuditManagerStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaConfigFilterCriteriaLoose_13000.1.0.jar b/lib/Fnd0SoaConfigFilterCriteriaLoose_13000.1.0.jar new file mode 100644 index 0000000..0794123 Binary files /dev/null and b/lib/Fnd0SoaConfigFilterCriteriaLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaConfigFilterCriteriaStrong_13000.1.0.jar b/lib/Fnd0SoaConfigFilterCriteriaStrong_13000.1.0.jar new file mode 100644 index 0000000..c5f3017 Binary files /dev/null and b/lib/Fnd0SoaConfigFilterCriteriaStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaDiagrammingLoose_13000.1.0.jar b/lib/Fnd0SoaDiagrammingLoose_13000.1.0.jar new file mode 100644 index 0000000..6607d52 Binary files /dev/null and b/lib/Fnd0SoaDiagrammingLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaDiagrammingStrong_13000.1.0.jar b/lib/Fnd0SoaDiagrammingStrong_13000.1.0.jar new file mode 100644 index 0000000..e93946a Binary files /dev/null and b/lib/Fnd0SoaDiagrammingStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaEditContextLoose_13000.1.0.jar b/lib/Fnd0SoaEditContextLoose_13000.1.0.jar new file mode 100644 index 0000000..527e171 Binary files /dev/null and b/lib/Fnd0SoaEditContextLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaEditContextStrong_13000.1.0.jar b/lib/Fnd0SoaEditContextStrong_13000.1.0.jar new file mode 100644 index 0000000..7526829 Binary files /dev/null and b/lib/Fnd0SoaEditContextStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaNotificationLoose_13000.1.0.jar b/lib/Fnd0SoaNotificationLoose_13000.1.0.jar new file mode 100644 index 0000000..ea7e4e5 Binary files /dev/null and b/lib/Fnd0SoaNotificationLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaNotificationStrong_13000.1.0.jar b/lib/Fnd0SoaNotificationStrong_13000.1.0.jar new file mode 100644 index 0000000..1d5c1ca Binary files /dev/null and b/lib/Fnd0SoaNotificationStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaParticipantLoose_13000.1.0.jar b/lib/Fnd0SoaParticipantLoose_13000.1.0.jar new file mode 100644 index 0000000..78b5bcc Binary files /dev/null and b/lib/Fnd0SoaParticipantLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaParticipantStrong_13000.1.0.jar b/lib/Fnd0SoaParticipantStrong_13000.1.0.jar new file mode 100644 index 0000000..aed43ff Binary files /dev/null and b/lib/Fnd0SoaParticipantStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaQualificationLoose_13000.1.0.jar b/lib/Fnd0SoaQualificationLoose_13000.1.0.jar new file mode 100644 index 0000000..6641143 Binary files /dev/null and b/lib/Fnd0SoaQualificationLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaQualificationStrong_13000.1.0.jar b/lib/Fnd0SoaQualificationStrong_13000.1.0.jar new file mode 100644 index 0000000..53b9daa Binary files /dev/null and b/lib/Fnd0SoaQualificationStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaUiConfigLoose_13000.1.0.jar b/lib/Fnd0SoaUiConfigLoose_13000.1.0.jar new file mode 100644 index 0000000..7d7f054 Binary files /dev/null and b/lib/Fnd0SoaUiConfigLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaUiConfigStrong_13000.1.0.jar b/lib/Fnd0SoaUiConfigStrong_13000.1.0.jar new file mode 100644 index 0000000..b41c786 Binary files /dev/null and b/lib/Fnd0SoaUiConfigStrong_13000.1.0.jar differ diff --git a/lib/Fnd0SoaWProxyLoose_13000.1.0.jar b/lib/Fnd0SoaWProxyLoose_13000.1.0.jar new file mode 100644 index 0000000..fdee8ea Binary files /dev/null and b/lib/Fnd0SoaWProxyLoose_13000.1.0.jar differ diff --git a/lib/Fnd0SoaWProxyStrong_13000.1.0.jar b/lib/Fnd0SoaWProxyStrong_13000.1.0.jar new file mode 100644 index 0000000..7ad170a Binary files /dev/null and b/lib/Fnd0SoaWProxyStrong_13000.1.0.jar differ diff --git a/lib/IAV0SoaStrongModelVerificationManagement_13000.1.0.jar b/lib/IAV0SoaStrongModelVerificationManagement_13000.1.0.jar new file mode 100644 index 0000000..02c4140 Binary files /dev/null and b/lib/IAV0SoaStrongModelVerificationManagement_13000.1.0.jar differ diff --git a/lib/Lbr0SoaLibraryManagementLoose_13000.1.0.jar b/lib/Lbr0SoaLibraryManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..0442481 Binary files /dev/null and b/lib/Lbr0SoaLibraryManagementLoose_13000.1.0.jar differ diff --git a/lib/Lbr0SoaLibraryManagementStrong_13000.1.0.jar b/lib/Lbr0SoaLibraryManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..2d8bcf8 Binary files /dev/null and b/lib/Lbr0SoaLibraryManagementStrong_13000.1.0.jar differ diff --git a/lib/Les0SoaStrongModelLisesm_13000.1.0.jar b/lib/Les0SoaStrongModelLisesm_13000.1.0.jar new file mode 100644 index 0000000..78ad776 Binary files /dev/null and b/lib/Les0SoaStrongModelLisesm_13000.1.0.jar differ diff --git a/lib/Lgt0SoaLogisticsLoose_13000.1.0.jar b/lib/Lgt0SoaLogisticsLoose_13000.1.0.jar new file mode 100644 index 0000000..7af0027 Binary files /dev/null and b/lib/Lgt0SoaLogisticsLoose_13000.1.0.jar differ diff --git a/lib/Lgt0SoaLogisticsStrong_13000.1.0.jar b/lib/Lgt0SoaLogisticsStrong_13000.1.0.jar new file mode 100644 index 0000000..48bc2cf Binary files /dev/null and b/lib/Lgt0SoaLogisticsStrong_13000.1.0.jar differ diff --git a/lib/Lgt0SoaStrongModelLogistics_13000.1.0.jar b/lib/Lgt0SoaStrongModelLogistics_13000.1.0.jar new file mode 100644 index 0000000..260496b Binary files /dev/null and b/lib/Lgt0SoaStrongModelLogistics_13000.1.0.jar differ diff --git a/lib/Lis0SoaLdfLoose_13000.1.0.jar b/lib/Lis0SoaLdfLoose_13000.1.0.jar new file mode 100644 index 0000000..2bddfc1 Binary files /dev/null and b/lib/Lis0SoaLdfLoose_13000.1.0.jar differ diff --git a/lib/Lis0SoaLdfStrong_13000.1.0.jar b/lib/Lis0SoaLdfStrong_13000.1.0.jar new file mode 100644 index 0000000..d88b474 Binary files /dev/null and b/lib/Lis0SoaLdfStrong_13000.1.0.jar differ diff --git a/lib/Lis0SoaStrongModelLdf_13000.1.0.jar b/lib/Lis0SoaStrongModelLdf_13000.1.0.jar new file mode 100644 index 0000000..cbc384a Binary files /dev/null and b/lib/Lis0SoaStrongModelLdf_13000.1.0.jar differ diff --git a/lib/Lrm0SoaStrongModelLisrm_13000.1.0.jar b/lib/Lrm0SoaStrongModelLisrm_13000.1.0.jar new file mode 100644 index 0000000..e97c0d7 Binary files /dev/null and b/lib/Lrm0SoaStrongModelLisrm_13000.1.0.jar differ diff --git a/lib/Mat1SoaMaterialMgmtLoose_13000.1.0.jar b/lib/Mat1SoaMaterialMgmtLoose_13000.1.0.jar new file mode 100644 index 0000000..079b679 Binary files /dev/null and b/lib/Mat1SoaMaterialMgmtLoose_13000.1.0.jar differ diff --git a/lib/Mat1SoaMaterialMgmtStrong_13000.1.0.jar b/lib/Mat1SoaMaterialMgmtStrong_13000.1.0.jar new file mode 100644 index 0000000..dae8bbb Binary files /dev/null and b/lib/Mat1SoaMaterialMgmtStrong_13000.1.0.jar differ diff --git a/lib/Mci0SoaPMIManagementLoose_13000.1.0.jar b/lib/Mci0SoaPMIManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..9df0298 Binary files /dev/null and b/lib/Mci0SoaPMIManagementLoose_13000.1.0.jar differ diff --git a/lib/Mci0SoaPMIManagementStrong_13000.1.0.jar b/lib/Mci0SoaPMIManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..1346bf0 Binary files /dev/null and b/lib/Mci0SoaPMIManagementStrong_13000.1.0.jar differ diff --git a/lib/Mci0SoaStrongModelPMIManagement_13000.1.0.jar b/lib/Mci0SoaStrongModelPMIManagement_13000.1.0.jar new file mode 100644 index 0000000..b2a5195 Binary files /dev/null and b/lib/Mci0SoaStrongModelPMIManagement_13000.1.0.jar differ diff --git a/lib/Mdc0SoaMDConnectivityLoose_13000.1.0.jar b/lib/Mdc0SoaMDConnectivityLoose_13000.1.0.jar new file mode 100644 index 0000000..78dd302 Binary files /dev/null and b/lib/Mdc0SoaMDConnectivityLoose_13000.1.0.jar differ diff --git a/lib/Mdc0SoaMDConnectivityStrong_13000.1.0.jar b/lib/Mdc0SoaMDConnectivityStrong_13000.1.0.jar new file mode 100644 index 0000000..7e1cc84 Binary files /dev/null and b/lib/Mdc0SoaMDConnectivityStrong_13000.1.0.jar differ diff --git a/lib/Mdl0SoaModelCoreLoose_13000.1.0.jar b/lib/Mdl0SoaModelCoreLoose_13000.1.0.jar new file mode 100644 index 0000000..a553f5e Binary files /dev/null and b/lib/Mdl0SoaModelCoreLoose_13000.1.0.jar differ diff --git a/lib/Mdl0SoaModelCoreStrong_13000.1.0.jar b/lib/Mdl0SoaModelCoreStrong_13000.1.0.jar new file mode 100644 index 0000000..6e1286e Binary files /dev/null and b/lib/Mdl0SoaModelCoreStrong_13000.1.0.jar differ diff --git a/lib/Mdo0SoaMDOManagementLoose_13000.1.0.jar b/lib/Mdo0SoaMDOManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..95edd49 Binary files /dev/null and b/lib/Mdo0SoaMDOManagementLoose_13000.1.0.jar differ diff --git a/lib/Mdo0SoaMDOManagementStrong_13000.1.0.jar b/lib/Mdo0SoaMDOManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..1a75898 Binary files /dev/null and b/lib/Mdo0SoaMDOManagementStrong_13000.1.0.jar differ diff --git a/lib/Mdo0SoaStrongModelMdo_13000.1.0.jar b/lib/Mdo0SoaStrongModelMdo_13000.1.0.jar new file mode 100644 index 0000000..e6a5ef7 Binary files /dev/null and b/lib/Mdo0SoaStrongModelMdo_13000.1.0.jar differ diff --git a/lib/Mea0SoaStrongModelMea0Fpam_13000.1.0.jar b/lib/Mea0SoaStrongModelMea0Fpam_13000.1.0.jar new file mode 100644 index 0000000..961227b Binary files /dev/null and b/lib/Mea0SoaStrongModelMea0Fpam_13000.1.0.jar differ diff --git a/lib/Mei0SoaMESIntegLoose_13000.1.0.jar b/lib/Mei0SoaMESIntegLoose_13000.1.0.jar new file mode 100644 index 0000000..3c1a50a Binary files /dev/null and b/lib/Mei0SoaMESIntegLoose_13000.1.0.jar differ diff --git a/lib/Mei0SoaMESIntegStrong_13000.1.0.jar b/lib/Mei0SoaMESIntegStrong_13000.1.0.jar new file mode 100644 index 0000000..8878d5b Binary files /dev/null and b/lib/Mei0SoaMESIntegStrong_13000.1.0.jar differ diff --git a/lib/Mei0SoaStrongModelMESInteg_13000.1.0.jar b/lib/Mei0SoaStrongModelMESInteg_13000.1.0.jar new file mode 100644 index 0000000..2e43fc0 Binary files /dev/null and b/lib/Mei0SoaStrongModelMESInteg_13000.1.0.jar differ diff --git a/lib/Nxc0SoaTcinCpdLoose_13000.1.0.jar b/lib/Nxc0SoaTcinCpdLoose_13000.1.0.jar new file mode 100644 index 0000000..44f06fe Binary files /dev/null and b/lib/Nxc0SoaTcinCpdLoose_13000.1.0.jar differ diff --git a/lib/Nxc0SoaTcinCpdStrong_13000.1.0.jar b/lib/Nxc0SoaTcinCpdStrong_13000.1.0.jar new file mode 100644 index 0000000..03ca72c Binary files /dev/null and b/lib/Nxc0SoaTcinCpdStrong_13000.1.0.jar differ diff --git a/lib/Ods0SoaObjectDataServicesLoose_13000.1.0.jar b/lib/Ods0SoaObjectDataServicesLoose_13000.1.0.jar new file mode 100644 index 0000000..a86fb30 Binary files /dev/null and b/lib/Ods0SoaObjectDataServicesLoose_13000.1.0.jar differ diff --git a/lib/Ods0SoaObjectDataServicesStrong_13000.1.0.jar b/lib/Ods0SoaObjectDataServicesStrong_13000.1.0.jar new file mode 100644 index 0000000..aa8c5cb Binary files /dev/null and b/lib/Ods0SoaObjectDataServicesStrong_13000.1.0.jar differ diff --git a/lib/Ods0SoaStrongModelObjectDataServices_13000.1.0.jar b/lib/Ods0SoaStrongModelObjectDataServices_13000.1.0.jar new file mode 100644 index 0000000..9da488f Binary files /dev/null and b/lib/Ods0SoaStrongModelObjectDataServices_13000.1.0.jar differ diff --git a/lib/Ods9SoaStrongModelObjectDataServicesTest_13000.1.0.jar b/lib/Ods9SoaStrongModelObjectDataServicesTest_13000.1.0.jar new file mode 100644 index 0000000..fb30bfa Binary files /dev/null and b/lib/Ods9SoaStrongModelObjectDataServicesTest_13000.1.0.jar differ diff --git a/lib/Oo1SoaOfficeOnlineLoose_13000.1.0.jar b/lib/Oo1SoaOfficeOnlineLoose_13000.1.0.jar new file mode 100644 index 0000000..4c7dfd3 Binary files /dev/null and b/lib/Oo1SoaOfficeOnlineLoose_13000.1.0.jar differ diff --git a/lib/Oo1SoaOfficeOnlineStrong_13000.1.0.jar b/lib/Oo1SoaOfficeOnlineStrong_13000.1.0.jar new file mode 100644 index 0000000..aa12f71 Binary files /dev/null and b/lib/Oo1SoaOfficeOnlineStrong_13000.1.0.jar differ diff --git a/lib/Ord0SoaStrongModelOrderManagement_13000.1.0.jar b/lib/Ord0SoaStrongModelOrderManagement_13000.1.0.jar new file mode 100644 index 0000000..c235e0d Binary files /dev/null and b/lib/Ord0SoaStrongModelOrderManagement_13000.1.0.jar differ diff --git a/lib/Osl0SoaStrongModelLISOSLC_13000.1.0.jar b/lib/Osl0SoaStrongModelLISOSLC_13000.1.0.jar new file mode 100644 index 0000000..59e4dc6 Binary files /dev/null and b/lib/Osl0SoaStrongModelLISOSLC_13000.1.0.jar differ diff --git a/lib/Pdg0SoaStrongModelPtnDesignGdlines_13000.1.0.jar b/lib/Pdg0SoaStrongModelPtnDesignGdlines_13000.1.0.jar new file mode 100644 index 0000000..65aeb6c Binary files /dev/null and b/lib/Pdg0SoaStrongModelPtnDesignGdlines_13000.1.0.jar differ diff --git a/lib/Pdm0SoaPlantDataMgmtLoose_13000.1.0.jar b/lib/Pdm0SoaPlantDataMgmtLoose_13000.1.0.jar new file mode 100644 index 0000000..34c1aa6 Binary files /dev/null and b/lib/Pdm0SoaPlantDataMgmtLoose_13000.1.0.jar differ diff --git a/lib/Pdm0SoaPlantDataMgmtStrong_13000.1.0.jar b/lib/Pdm0SoaPlantDataMgmtStrong_13000.1.0.jar new file mode 100644 index 0000000..c53f361 Binary files /dev/null and b/lib/Pdm0SoaPlantDataMgmtStrong_13000.1.0.jar differ diff --git a/lib/Pdm0SoaStrongModelPlantDataMgmt_13000.1.0.jar b/lib/Pdm0SoaStrongModelPlantDataMgmt_13000.1.0.jar new file mode 100644 index 0000000..18d5a98 Binary files /dev/null and b/lib/Pdm0SoaStrongModelPlantDataMgmt_13000.1.0.jar differ diff --git a/lib/Pfp0SoaFeaturePlanningLoose_13000.1.0.jar b/lib/Pfp0SoaFeaturePlanningLoose_13000.1.0.jar new file mode 100644 index 0000000..d5991dc Binary files /dev/null and b/lib/Pfp0SoaFeaturePlanningLoose_13000.1.0.jar differ diff --git a/lib/Pfp0SoaFeaturePlanningStrong_13000.1.0.jar b/lib/Pfp0SoaFeaturePlanningStrong_13000.1.0.jar new file mode 100644 index 0000000..84f8a93 Binary files /dev/null and b/lib/Pfp0SoaFeaturePlanningStrong_13000.1.0.jar differ diff --git a/lib/Pma0SoaStrongModelAutomation_13000.1.0.jar b/lib/Pma0SoaStrongModelAutomation_13000.1.0.jar new file mode 100644 index 0000000..1b338ad Binary files /dev/null and b/lib/Pma0SoaStrongModelAutomation_13000.1.0.jar differ diff --git a/lib/Pmg0SoaStrongModelCpMgmt_13000.1.0.jar b/lib/Pmg0SoaStrongModelCpMgmt_13000.1.0.jar new file mode 100644 index 0000000..ff0ce0a Binary files /dev/null and b/lib/Pmg0SoaStrongModelCpMgmt_13000.1.0.jar differ diff --git a/lib/Prg0SoaProgramInfraLoose_13000.1.0.jar b/lib/Prg0SoaProgramInfraLoose_13000.1.0.jar new file mode 100644 index 0000000..e2580c8 Binary files /dev/null and b/lib/Prg0SoaProgramInfraLoose_13000.1.0.jar differ diff --git a/lib/Prg0SoaProgramInfraStrong_13000.1.0.jar b/lib/Prg0SoaProgramInfraStrong_13000.1.0.jar new file mode 100644 index 0000000..f9f5ba8 Binary files /dev/null and b/lib/Prg0SoaProgramInfraStrong_13000.1.0.jar differ diff --git a/lib/Prg0SoaStrongModelProgramInfra_13000.1.0.jar b/lib/Prg0SoaStrongModelProgramInfra_13000.1.0.jar new file mode 100644 index 0000000..c5b7849 Binary files /dev/null and b/lib/Prg0SoaStrongModelProgramInfra_13000.1.0.jar differ diff --git a/lib/Prg1SoaProgramPlanningAppLoose_13000.1.0.jar b/lib/Prg1SoaProgramPlanningAppLoose_13000.1.0.jar new file mode 100644 index 0000000..3629f37 Binary files /dev/null and b/lib/Prg1SoaProgramPlanningAppLoose_13000.1.0.jar differ diff --git a/lib/Prg1SoaProgramPlanningAppStrong_13000.1.0.jar b/lib/Prg1SoaProgramPlanningAppStrong_13000.1.0.jar new file mode 100644 index 0000000..5be922c Binary files /dev/null and b/lib/Prg1SoaProgramPlanningAppStrong_13000.1.0.jar differ diff --git a/lib/Prg1SoaStrongModelProgramPlanningApp_13000.1.0.jar b/lib/Prg1SoaStrongModelProgramPlanningApp_13000.1.0.jar new file mode 100644 index 0000000..7ee211c Binary files /dev/null and b/lib/Prg1SoaStrongModelProgramPlanningApp_13000.1.0.jar differ diff --git a/lib/Ptn0SoaPartitionLoose_13000.1.0.jar b/lib/Ptn0SoaPartitionLoose_13000.1.0.jar new file mode 100644 index 0000000..3027cdb Binary files /dev/null and b/lib/Ptn0SoaPartitionLoose_13000.1.0.jar differ diff --git a/lib/Ptn0SoaPartitionStrong_13000.1.0.jar b/lib/Ptn0SoaPartitionStrong_13000.1.0.jar new file mode 100644 index 0000000..e10c5cf Binary files /dev/null and b/lib/Ptn0SoaPartitionStrong_13000.1.0.jar differ diff --git a/lib/Qc0SoaStrongModelQualityCenterBase_13000.1.0.jar b/lib/Qc0SoaStrongModelQualityCenterBase_13000.1.0.jar new file mode 100644 index 0000000..9896390 Binary files /dev/null and b/lib/Qc0SoaStrongModelQualityCenterBase_13000.1.0.jar differ diff --git a/lib/Rlz0SoaRealizationLoose_13000.1.0.jar b/lib/Rlz0SoaRealizationLoose_13000.1.0.jar new file mode 100644 index 0000000..78c0fc9 Binary files /dev/null and b/lib/Rlz0SoaRealizationLoose_13000.1.0.jar differ diff --git a/lib/Rlz0SoaRealizationStrong_13000.1.0.jar b/lib/Rlz0SoaRealizationStrong_13000.1.0.jar new file mode 100644 index 0000000..d47a396 Binary files /dev/null and b/lib/Rlz0SoaRealizationStrong_13000.1.0.jar differ diff --git a/lib/Rse0SoaStrongModelTcRsEnablement_13000.1.0.jar b/lib/Rse0SoaStrongModelTcRsEnablement_13000.1.0.jar new file mode 100644 index 0000000..a4f0c67 Binary files /dev/null and b/lib/Rse0SoaStrongModelTcRsEnablement_13000.1.0.jar differ diff --git a/lib/SAS0SoaSvcAutoSchedulingLoose_13000.1.0.jar b/lib/SAS0SoaSvcAutoSchedulingLoose_13000.1.0.jar new file mode 100644 index 0000000..4adb731 Binary files /dev/null and b/lib/SAS0SoaSvcAutoSchedulingLoose_13000.1.0.jar differ diff --git a/lib/SAS0SoaSvcAutoSchedulingStrong_13000.1.0.jar b/lib/SAS0SoaSvcAutoSchedulingStrong_13000.1.0.jar new file mode 100644 index 0000000..465005c Binary files /dev/null and b/lib/SAS0SoaSvcAutoSchedulingStrong_13000.1.0.jar differ diff --git a/lib/SSF0SoaServiceForecastingLoose_13000.1.0.jar b/lib/SSF0SoaServiceForecastingLoose_13000.1.0.jar new file mode 100644 index 0000000..f381fb2 Binary files /dev/null and b/lib/SSF0SoaServiceForecastingLoose_13000.1.0.jar differ diff --git a/lib/SSF0SoaServiceForecastingStrong_13000.1.0.jar b/lib/SSF0SoaServiceForecastingStrong_13000.1.0.jar new file mode 100644 index 0000000..5827f14 Binary files /dev/null and b/lib/SSF0SoaServiceForecastingStrong_13000.1.0.jar differ diff --git a/lib/SSF0SoaStrongModelServiceForecasting_13000.1.0.jar b/lib/SSF0SoaStrongModelServiceForecasting_13000.1.0.jar new file mode 100644 index 0000000..fef6b49 Binary files /dev/null and b/lib/SSF0SoaStrongModelServiceForecasting_13000.1.0.jar differ diff --git a/lib/SSP0SoaStrongModelServicePlanning_13000.1.0.jar b/lib/SSP0SoaStrongModelServicePlanning_13000.1.0.jar new file mode 100644 index 0000000..44e81a6 Binary files /dev/null and b/lib/SSP0SoaStrongModelServicePlanning_13000.1.0.jar differ diff --git a/lib/SSS0SoaStrongModelServiceScheduling_13000.1.0.jar b/lib/SSS0SoaStrongModelServiceScheduling_13000.1.0.jar new file mode 100644 index 0000000..b0cc343 Binary files /dev/null and b/lib/SSS0SoaStrongModelServiceScheduling_13000.1.0.jar differ diff --git a/lib/SSS0SoaSvcSchedulingLoose_13000.1.0.jar b/lib/SSS0SoaSvcSchedulingLoose_13000.1.0.jar new file mode 100644 index 0000000..6bfbcc3 Binary files /dev/null and b/lib/SSS0SoaSvcSchedulingLoose_13000.1.0.jar differ diff --git a/lib/SSS0SoaSvcSchedulingStrong_13000.1.0.jar b/lib/SSS0SoaSvcSchedulingStrong_13000.1.0.jar new file mode 100644 index 0000000..93f9b01 Binary files /dev/null and b/lib/SSS0SoaSvcSchedulingStrong_13000.1.0.jar differ diff --git a/lib/Sdm0SoaStrongModelSampleDocMgt_13000.1.0.jar b/lib/Sdm0SoaStrongModelSampleDocMgt_13000.1.0.jar new file mode 100644 index 0000000..296c052 Binary files /dev/null and b/lib/Sdm0SoaStrongModelSampleDocMgt_13000.1.0.jar differ diff --git a/lib/Sis0SoaSocialIntLoose_13000.1.0.jar b/lib/Sis0SoaSocialIntLoose_13000.1.0.jar new file mode 100644 index 0000000..00d188d Binary files /dev/null and b/lib/Sis0SoaSocialIntLoose_13000.1.0.jar differ diff --git a/lib/Sis0SoaSocialIntStrong_13000.1.0.jar b/lib/Sis0SoaSocialIntStrong_13000.1.0.jar new file mode 100644 index 0000000..e996af9 Binary files /dev/null and b/lib/Sis0SoaSocialIntStrong_13000.1.0.jar differ diff --git a/lib/Smc0SoaStrongModelPsMcfgSupport_13000.1.0.jar b/lib/Smc0SoaStrongModelPsMcfgSupport_13000.1.0.jar new file mode 100644 index 0000000..cedb7d6 Binary files /dev/null and b/lib/Smc0SoaStrongModelPsMcfgSupport_13000.1.0.jar differ diff --git a/lib/Smc0SoaStructureManagementLoose_13000.1.0.jar b/lib/Smc0SoaStructureManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..6fa9f9b Binary files /dev/null and b/lib/Smc0SoaStructureManagementLoose_13000.1.0.jar differ diff --git a/lib/Smc0SoaStructureManagementStrong_13000.1.0.jar b/lib/Smc0SoaStructureManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..92ed3c1 Binary files /dev/null and b/lib/Smc0SoaStructureManagementStrong_13000.1.0.jar differ diff --git a/lib/Srh0SoaStrongModelApsConfiguredSearch_13000.1.0.jar b/lib/Srh0SoaStrongModelApsConfiguredSearch_13000.1.0.jar new file mode 100644 index 0000000..ef280be Binary files /dev/null and b/lib/Srh0SoaStrongModelApsConfiguredSearch_13000.1.0.jar differ diff --git a/lib/Ssm0SoaStrongModelSystemSynthesisModeling_13000.1.0.jar b/lib/Ssm0SoaStrongModelSystemSynthesisModeling_13000.1.0.jar new file mode 100644 index 0000000..259508f Binary files /dev/null and b/lib/Ssm0SoaStrongModelSystemSynthesisModeling_13000.1.0.jar differ diff --git a/lib/TcSoaAdministrationLoose_13000.1.0.jar b/lib/TcSoaAdministrationLoose_13000.1.0.jar new file mode 100644 index 0000000..3da16a5 Binary files /dev/null and b/lib/TcSoaAdministrationLoose_13000.1.0.jar differ diff --git a/lib/TcSoaAdministrationStrong_13000.1.0.jar b/lib/TcSoaAdministrationStrong_13000.1.0.jar new file mode 100644 index 0000000..9765a66 Binary files /dev/null and b/lib/TcSoaAdministrationStrong_13000.1.0.jar differ diff --git a/lib/TcSoaAiLoose_13000.1.0.jar b/lib/TcSoaAiLoose_13000.1.0.jar new file mode 100644 index 0000000..d28a086 Binary files /dev/null and b/lib/TcSoaAiLoose_13000.1.0.jar differ diff --git a/lib/TcSoaAiStrong_13000.1.0.jar b/lib/TcSoaAiStrong_13000.1.0.jar new file mode 100644 index 0000000..aab97b3 Binary files /dev/null and b/lib/TcSoaAiStrong_13000.1.0.jar differ diff --git a/lib/TcSoaAllocationsLoose_13000.1.0.jar b/lib/TcSoaAllocationsLoose_13000.1.0.jar new file mode 100644 index 0000000..fdb5f2e Binary files /dev/null and b/lib/TcSoaAllocationsLoose_13000.1.0.jar differ diff --git a/lib/TcSoaAllocationsStrong_13000.1.0.jar b/lib/TcSoaAllocationsStrong_13000.1.0.jar new file mode 100644 index 0000000..69b930b Binary files /dev/null and b/lib/TcSoaAllocationsStrong_13000.1.0.jar differ diff --git a/lib/TcSoaAsBuiltLoose_13000.1.0.jar b/lib/TcSoaAsBuiltLoose_13000.1.0.jar new file mode 100644 index 0000000..c5829e4 Binary files /dev/null and b/lib/TcSoaAsBuiltLoose_13000.1.0.jar differ diff --git a/lib/TcSoaAsBuiltStrong_13000.1.0.jar b/lib/TcSoaAsBuiltStrong_13000.1.0.jar new file mode 100644 index 0000000..68084be Binary files /dev/null and b/lib/TcSoaAsBuiltStrong_13000.1.0.jar differ diff --git a/lib/TcSoaAsMaintainedLoose_13000.1.0.jar b/lib/TcSoaAsMaintainedLoose_13000.1.0.jar new file mode 100644 index 0000000..c84ab96 Binary files /dev/null and b/lib/TcSoaAsMaintainedLoose_13000.1.0.jar differ diff --git a/lib/TcSoaAsMaintainedStrong_13000.1.0.jar b/lib/TcSoaAsMaintainedStrong_13000.1.0.jar new file mode 100644 index 0000000..6b2c04e Binary files /dev/null and b/lib/TcSoaAsMaintainedStrong_13000.1.0.jar differ diff --git a/lib/TcSoaAsbAsmAlignmentLoose_13000.1.0.jar b/lib/TcSoaAsbAsmAlignmentLoose_13000.1.0.jar new file mode 100644 index 0000000..609a5aa Binary files /dev/null and b/lib/TcSoaAsbAsmAlignmentLoose_13000.1.0.jar differ diff --git a/lib/TcSoaAsbAsmAlignmentStrong_13000.1.0.jar b/lib/TcSoaAsbAsmAlignmentStrong_13000.1.0.jar new file mode 100644 index 0000000..2587703 Binary files /dev/null and b/lib/TcSoaAsbAsmAlignmentStrong_13000.1.0.jar differ diff --git a/lib/TcSoaAuthorizedDataAccessLoose_13000.1.0.jar b/lib/TcSoaAuthorizedDataAccessLoose_13000.1.0.jar new file mode 100644 index 0000000..1bb7842 Binary files /dev/null and b/lib/TcSoaAuthorizedDataAccessLoose_13000.1.0.jar differ diff --git a/lib/TcSoaAuthorizedDataAccessStrong_13000.1.0.jar b/lib/TcSoaAuthorizedDataAccessStrong_13000.1.0.jar new file mode 100644 index 0000000..91701d2 Binary files /dev/null and b/lib/TcSoaAuthorizedDataAccessStrong_13000.1.0.jar differ diff --git a/lib/TcSoaBomLoose_13000.1.0.jar b/lib/TcSoaBomLoose_13000.1.0.jar new file mode 100644 index 0000000..085821d Binary files /dev/null and b/lib/TcSoaBomLoose_13000.1.0.jar differ diff --git a/lib/TcSoaBomStrong_13000.1.0.jar b/lib/TcSoaBomStrong_13000.1.0.jar new file mode 100644 index 0000000..cc31fbb Binary files /dev/null and b/lib/TcSoaBomStrong_13000.1.0.jar differ diff --git a/lib/TcSoaBusinessModelerLoose_13000.1.0.jar b/lib/TcSoaBusinessModelerLoose_13000.1.0.jar new file mode 100644 index 0000000..34f45e2 Binary files /dev/null and b/lib/TcSoaBusinessModelerLoose_13000.1.0.jar differ diff --git a/lib/TcSoaBusinessModelerStrong_13000.1.0.jar b/lib/TcSoaBusinessModelerStrong_13000.1.0.jar new file mode 100644 index 0000000..dca61a9 Binary files /dev/null and b/lib/TcSoaBusinessModelerStrong_13000.1.0.jar differ diff --git a/lib/TcSoaCadBomAlignmentLoose_13000.1.0.jar b/lib/TcSoaCadBomAlignmentLoose_13000.1.0.jar new file mode 100644 index 0000000..0ed231b Binary files /dev/null and b/lib/TcSoaCadBomAlignmentLoose_13000.1.0.jar differ diff --git a/lib/TcSoaCadBomAlignmentStrong_13000.1.0.jar b/lib/TcSoaCadBomAlignmentStrong_13000.1.0.jar new file mode 100644 index 0000000..6e0eac3 Binary files /dev/null and b/lib/TcSoaCadBomAlignmentStrong_13000.1.0.jar differ diff --git a/lib/TcSoaCadLoose_13000.1.0.jar b/lib/TcSoaCadLoose_13000.1.0.jar new file mode 100644 index 0000000..9503785 Binary files /dev/null and b/lib/TcSoaCadLoose_13000.1.0.jar differ diff --git a/lib/TcSoaCadStrong_13000.1.0.jar b/lib/TcSoaCadStrong_13000.1.0.jar new file mode 100644 index 0000000..5c3f2c2 Binary files /dev/null and b/lib/TcSoaCadStrong_13000.1.0.jar differ diff --git a/lib/TcSoaCaeLoose_13000.1.0.jar b/lib/TcSoaCaeLoose_13000.1.0.jar new file mode 100644 index 0000000..6c08c42 Binary files /dev/null and b/lib/TcSoaCaeLoose_13000.1.0.jar differ diff --git a/lib/TcSoaCaeStrong_13000.1.0.jar b/lib/TcSoaCaeStrong_13000.1.0.jar new file mode 100644 index 0000000..57333ad Binary files /dev/null and b/lib/TcSoaCaeStrong_13000.1.0.jar differ diff --git a/lib/TcSoaCalendarManagementLoose_13000.1.0.jar b/lib/TcSoaCalendarManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..3143a9a Binary files /dev/null and b/lib/TcSoaCalendarManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaCalendarManagementStrong_13000.1.0.jar b/lib/TcSoaCalendarManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..31f7edb Binary files /dev/null and b/lib/TcSoaCalendarManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaChangeManagementLoose_13000.1.0.jar b/lib/TcSoaChangeManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..02c53b0 Binary files /dev/null and b/lib/TcSoaChangeManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaChangeManagementStrong_13000.1.0.jar b/lib/TcSoaChangeManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..df01c6a Binary files /dev/null and b/lib/TcSoaChangeManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaClassificationLoose_13000.1.0.jar b/lib/TcSoaClassificationLoose_13000.1.0.jar new file mode 100644 index 0000000..3c95430 Binary files /dev/null and b/lib/TcSoaClassificationLoose_13000.1.0.jar differ diff --git a/lib/TcSoaClassificationStrong_13000.1.0.jar b/lib/TcSoaClassificationStrong_13000.1.0.jar new file mode 100644 index 0000000..ff9d2b1 Binary files /dev/null and b/lib/TcSoaClassificationStrong_13000.1.0.jar differ diff --git a/lib/TcSoaClient_13000.1.0.jar b/lib/TcSoaClient_13000.1.0.jar new file mode 100644 index 0000000..9c4050e Binary files /dev/null and b/lib/TcSoaClient_13000.1.0.jar differ diff --git a/lib/TcSoaCommon_13000.1.0.jar b/lib/TcSoaCommon_13000.1.0.jar new file mode 100644 index 0000000..2bf7a1e Binary files /dev/null and b/lib/TcSoaCommon_13000.1.0.jar differ diff --git a/lib/TcSoaConfigurationLoose_13000.1.0.jar b/lib/TcSoaConfigurationLoose_13000.1.0.jar new file mode 100644 index 0000000..ec8b342 Binary files /dev/null and b/lib/TcSoaConfigurationLoose_13000.1.0.jar differ diff --git a/lib/TcSoaConfigurationStrong_13000.1.0.jar b/lib/TcSoaConfigurationStrong_13000.1.0.jar new file mode 100644 index 0000000..6bb5da5 Binary files /dev/null and b/lib/TcSoaConfigurationStrong_13000.1.0.jar differ diff --git a/lib/TcSoaContMgmtBaseLoose_13000.1.0.jar b/lib/TcSoaContMgmtBaseLoose_13000.1.0.jar new file mode 100644 index 0000000..be8d2ad Binary files /dev/null and b/lib/TcSoaContMgmtBaseLoose_13000.1.0.jar differ diff --git a/lib/TcSoaContMgmtBaseStrong_13000.1.0.jar b/lib/TcSoaContMgmtBaseStrong_13000.1.0.jar new file mode 100644 index 0000000..2579f64 Binary files /dev/null and b/lib/TcSoaContMgmtBaseStrong_13000.1.0.jar differ diff --git a/lib/TcSoaCoreLoose_13000.1.0.jar b/lib/TcSoaCoreLoose_13000.1.0.jar new file mode 100644 index 0000000..dee249b Binary files /dev/null and b/lib/TcSoaCoreLoose_13000.1.0.jar differ diff --git a/lib/TcSoaCoreStrong_13000.1.0.jar b/lib/TcSoaCoreStrong_13000.1.0.jar new file mode 100644 index 0000000..eebfeb3 Binary files /dev/null and b/lib/TcSoaCoreStrong_13000.1.0.jar differ diff --git a/lib/TcSoaDocumentManagementLoose_13000.1.0.jar b/lib/TcSoaDocumentManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..33158ef Binary files /dev/null and b/lib/TcSoaDocumentManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaDocumentManagementStrong_13000.1.0.jar b/lib/TcSoaDocumentManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..059fb86 Binary files /dev/null and b/lib/TcSoaDocumentManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaGlobalMultiSiteLoose_13000.1.0.jar b/lib/TcSoaGlobalMultiSiteLoose_13000.1.0.jar new file mode 100644 index 0000000..e8fbb94 Binary files /dev/null and b/lib/TcSoaGlobalMultiSiteLoose_13000.1.0.jar differ diff --git a/lib/TcSoaGlobalMultiSiteStrong_13000.1.0.jar b/lib/TcSoaGlobalMultiSiteStrong_13000.1.0.jar new file mode 100644 index 0000000..38e984c Binary files /dev/null and b/lib/TcSoaGlobalMultiSiteStrong_13000.1.0.jar differ diff --git a/lib/TcSoaImportExportLoose_13000.1.0.jar b/lib/TcSoaImportExportLoose_13000.1.0.jar new file mode 100644 index 0000000..64275f9 Binary files /dev/null and b/lib/TcSoaImportExportLoose_13000.1.0.jar differ diff --git a/lib/TcSoaImportExportStrong_13000.1.0.jar b/lib/TcSoaImportExportStrong_13000.1.0.jar new file mode 100644 index 0000000..98e57ec Binary files /dev/null and b/lib/TcSoaImportExportStrong_13000.1.0.jar differ diff --git a/lib/TcSoaIssueManagementLoose_13000.1.0.jar b/lib/TcSoaIssueManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..2d23be4 Binary files /dev/null and b/lib/TcSoaIssueManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaIssueManagementStrong_13000.1.0.jar b/lib/TcSoaIssueManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..d47c6e3 Binary files /dev/null and b/lib/TcSoaIssueManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaMESLoose_13000.1.0.jar b/lib/TcSoaMESLoose_13000.1.0.jar new file mode 100644 index 0000000..998e28b Binary files /dev/null and b/lib/TcSoaMESLoose_13000.1.0.jar differ diff --git a/lib/TcSoaMESStrong_13000.1.0.jar b/lib/TcSoaMESStrong_13000.1.0.jar new file mode 100644 index 0000000..4b5eb41 Binary files /dev/null and b/lib/TcSoaMESStrong_13000.1.0.jar differ diff --git a/lib/TcSoaMROCoreLoose_13000.1.0.jar b/lib/TcSoaMROCoreLoose_13000.1.0.jar new file mode 100644 index 0000000..a0d8ce8 Binary files /dev/null and b/lib/TcSoaMROCoreLoose_13000.1.0.jar differ diff --git a/lib/TcSoaMROCoreStrong_13000.1.0.jar b/lib/TcSoaMROCoreStrong_13000.1.0.jar new file mode 100644 index 0000000..d9157b8 Binary files /dev/null and b/lib/TcSoaMROCoreStrong_13000.1.0.jar differ diff --git a/lib/TcSoaManufacturingLoose_13000.1.0.jar b/lib/TcSoaManufacturingLoose_13000.1.0.jar new file mode 100644 index 0000000..5b9201c Binary files /dev/null and b/lib/TcSoaManufacturingLoose_13000.1.0.jar differ diff --git a/lib/TcSoaManufacturingStrong_13000.1.0.jar b/lib/TcSoaManufacturingStrong_13000.1.0.jar new file mode 100644 index 0000000..34f2ca4 Binary files /dev/null and b/lib/TcSoaManufacturingStrong_13000.1.0.jar differ diff --git a/lib/TcSoaMultisiteLoose_13000.1.0.jar b/lib/TcSoaMultisiteLoose_13000.1.0.jar new file mode 100644 index 0000000..62311f2 Binary files /dev/null and b/lib/TcSoaMultisiteLoose_13000.1.0.jar differ diff --git a/lib/TcSoaMultisiteStrong_13000.1.0.jar b/lib/TcSoaMultisiteStrong_13000.1.0.jar new file mode 100644 index 0000000..4714056 Binary files /dev/null and b/lib/TcSoaMultisiteStrong_13000.1.0.jar differ diff --git a/lib/TcSoaParameterManagementLoose_13000.1.0.jar b/lib/TcSoaParameterManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..98aae3b Binary files /dev/null and b/lib/TcSoaParameterManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaParameterManagementStrong_13000.1.0.jar b/lib/TcSoaParameterManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..59a5915 Binary files /dev/null and b/lib/TcSoaParameterManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaProductionManagementLoose_13000.1.0.jar b/lib/TcSoaProductionManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..ef697e0 Binary files /dev/null and b/lib/TcSoaProductionManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaProductionManagementStrong_13000.1.0.jar b/lib/TcSoaProductionManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..1e42811 Binary files /dev/null and b/lib/TcSoaProductionManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaProjectManagementLoose_13000.1.0.jar b/lib/TcSoaProjectManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..1c991fc Binary files /dev/null and b/lib/TcSoaProjectManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaProjectManagementStrong_13000.1.0.jar b/lib/TcSoaProjectManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..135c614 Binary files /dev/null and b/lib/TcSoaProjectManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaQueryLoose_13000.1.0.jar b/lib/TcSoaQueryLoose_13000.1.0.jar new file mode 100644 index 0000000..2b1ce03 Binary files /dev/null and b/lib/TcSoaQueryLoose_13000.1.0.jar differ diff --git a/lib/TcSoaQueryStrong_13000.1.0.jar b/lib/TcSoaQueryStrong_13000.1.0.jar new file mode 100644 index 0000000..e4ebc3d Binary files /dev/null and b/lib/TcSoaQueryStrong_13000.1.0.jar differ diff --git a/lib/TcSoaRdvLoose_13000.1.0.jar b/lib/TcSoaRdvLoose_13000.1.0.jar new file mode 100644 index 0000000..03114c6 Binary files /dev/null and b/lib/TcSoaRdvLoose_13000.1.0.jar differ diff --git a/lib/TcSoaRdvStrong_13000.1.0.jar b/lib/TcSoaRdvStrong_13000.1.0.jar new file mode 100644 index 0000000..21cce24 Binary files /dev/null and b/lib/TcSoaRdvStrong_13000.1.0.jar differ diff --git a/lib/TcSoaReportsLoose_13000.1.0.jar b/lib/TcSoaReportsLoose_13000.1.0.jar new file mode 100644 index 0000000..6773556 Binary files /dev/null and b/lib/TcSoaReportsLoose_13000.1.0.jar differ diff --git a/lib/TcSoaReportsStrong_13000.1.0.jar b/lib/TcSoaReportsStrong_13000.1.0.jar new file mode 100644 index 0000000..7ab1928 Binary files /dev/null and b/lib/TcSoaReportsStrong_13000.1.0.jar differ diff --git a/lib/TcSoaRequirementsManagementLoose_13000.1.0.jar b/lib/TcSoaRequirementsManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..a5cc826 Binary files /dev/null and b/lib/TcSoaRequirementsManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaRequirementsManagementStrong_13000.1.0.jar b/lib/TcSoaRequirementsManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..fba8979 Binary files /dev/null and b/lib/TcSoaRequirementsManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaSrmIntegrationLoose_13000.1.0.jar b/lib/TcSoaSrmIntegrationLoose_13000.1.0.jar new file mode 100644 index 0000000..526a8d3 Binary files /dev/null and b/lib/TcSoaSrmIntegrationLoose_13000.1.0.jar differ diff --git a/lib/TcSoaSrmIntegrationStrong_13000.1.0.jar b/lib/TcSoaSrmIntegrationStrong_13000.1.0.jar new file mode 100644 index 0000000..fac935d Binary files /dev/null and b/lib/TcSoaSrmIntegrationStrong_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelAdsChangeManagement_13000.1.0.jar b/lib/TcSoaStrongModelAdsChangeManagement_13000.1.0.jar new file mode 100644 index 0000000..1892496 Binary files /dev/null and b/lib/TcSoaStrongModelAdsChangeManagement_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelAdsFoundation_13000.1.0.jar b/lib/TcSoaStrongModelAdsFoundation_13000.1.0.jar new file mode 100644 index 0000000..1065ea3 Binary files /dev/null and b/lib/TcSoaStrongModelAdsFoundation_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelAsBuilt_13000.1.0.jar b/lib/TcSoaStrongModelAsBuilt_13000.1.0.jar new file mode 100644 index 0000000..3885bbd Binary files /dev/null and b/lib/TcSoaStrongModelAsBuilt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelAsMaintained_13000.1.0.jar b/lib/TcSoaStrongModelAsMaintained_13000.1.0.jar new file mode 100644 index 0000000..ddec570 Binary files /dev/null and b/lib/TcSoaStrongModelAsMaintained_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelBrndMgmt_13000.1.0.jar b/lib/TcSoaStrongModelBrndMgmt_13000.1.0.jar new file mode 100644 index 0000000..3af1efd Binary files /dev/null and b/lib/TcSoaStrongModelBrndMgmt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCba_13000.1.0.jar b/lib/TcSoaStrongModelCba_13000.1.0.jar new file mode 100644 index 0000000..d100f79 Binary files /dev/null and b/lib/TcSoaStrongModelCba_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCcdm_13000.1.0.jar b/lib/TcSoaStrongModelCcdm_13000.1.0.jar new file mode 100644 index 0000000..fdb7574 Binary files /dev/null and b/lib/TcSoaStrongModelCcdm_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCdm0ContractManagement_13000.1.0.jar b/lib/TcSoaStrongModelCdm0ContractManagement_13000.1.0.jar new file mode 100644 index 0000000..e2c46be Binary files /dev/null and b/lib/TcSoaStrongModelCdm0ContractManagement_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelClassificationCore_13000.1.0.jar b/lib/TcSoaStrongModelClassificationCore_13000.1.0.jar new file mode 100644 index 0000000..021d2a3 Binary files /dev/null and b/lib/TcSoaStrongModelClassificationCore_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCm_13000.1.0.jar b/lib/TcSoaStrongModelCm_13000.1.0.jar new file mode 100644 index 0000000..272785a Binary files /dev/null and b/lib/TcSoaStrongModelCm_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCmtEbop_13000.1.0.jar b/lib/TcSoaStrongModelCmtEbop_13000.1.0.jar new file mode 100644 index 0000000..08a39cf Binary files /dev/null and b/lib/TcSoaStrongModelCmtEbop_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCmtEmserver_13000.1.0.jar b/lib/TcSoaStrongModelCmtEmserver_13000.1.0.jar new file mode 100644 index 0000000..3db8b66 Binary files /dev/null and b/lib/TcSoaStrongModelCmtEmserver_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCmtPadTwp_13000.1.0.jar b/lib/TcSoaStrongModelCmtPadTwp_13000.1.0.jar new file mode 100644 index 0000000..058795c Binary files /dev/null and b/lib/TcSoaStrongModelCmtPadTwp_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelContmgmtBase_13000.1.0.jar b/lib/TcSoaStrongModelContmgmtBase_13000.1.0.jar new file mode 100644 index 0000000..d5c9f9b Binary files /dev/null and b/lib/TcSoaStrongModelContmgmtBase_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelContmgmtDita_13000.1.0.jar b/lib/TcSoaStrongModelContmgmtDita_13000.1.0.jar new file mode 100644 index 0000000..bbe15b2 Binary files /dev/null and b/lib/TcSoaStrongModelContmgmtDita_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelContmgmtS1000d40_13000.1.0.jar b/lib/TcSoaStrongModelContmgmtS1000d40_13000.1.0.jar new file mode 100644 index 0000000..b657237 Binary files /dev/null and b/lib/TcSoaStrongModelContmgmtS1000d40_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelContmgmtS1000d_13000.1.0.jar b/lib/TcSoaStrongModelContmgmtS1000d_13000.1.0.jar new file mode 100644 index 0000000..4aaa731 Binary files /dev/null and b/lib/TcSoaStrongModelContmgmtS1000d_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCpdCore_13000.1.0.jar b/lib/TcSoaStrongModelCpdCore_13000.1.0.jar new file mode 100644 index 0000000..92255d8 Binary files /dev/null and b/lib/TcSoaStrongModelCpdCore_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelCpgMaterials_13000.1.0.jar b/lib/TcSoaStrongModelCpgMaterials_13000.1.0.jar new file mode 100644 index 0000000..1d4ea92 Binary files /dev/null and b/lib/TcSoaStrongModelCpgMaterials_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelDiagramming_13000.1.0.jar b/lib/TcSoaStrongModelDiagramming_13000.1.0.jar new file mode 100644 index 0000000..8020a4b Binary files /dev/null and b/lib/TcSoaStrongModelDiagramming_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelDpv_13000.1.0.jar b/lib/TcSoaStrongModelDpv_13000.1.0.jar new file mode 100644 index 0000000..0c64191 Binary files /dev/null and b/lib/TcSoaStrongModelDpv_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelEdaLibrary_13000.1.0.jar b/lib/TcSoaStrongModelEdaLibrary_13000.1.0.jar new file mode 100644 index 0000000..a587a17 Binary files /dev/null and b/lib/TcSoaStrongModelEdaLibrary_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelEdaServer_13000.1.0.jar b/lib/TcSoaStrongModelEdaServer_13000.1.0.jar new file mode 100644 index 0000000..d6e91f1 Binary files /dev/null and b/lib/TcSoaStrongModelEdaServer_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelEmps_13000.1.0.jar b/lib/TcSoaStrongModelEmps_13000.1.0.jar new file mode 100644 index 0000000..577a642 Binary files /dev/null and b/lib/TcSoaStrongModelEmps_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelEsddm_13000.1.0.jar b/lib/TcSoaStrongModelEsddm_13000.1.0.jar new file mode 100644 index 0000000..4b0237e Binary files /dev/null and b/lib/TcSoaStrongModelEsddm_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelEsmBase_13000.1.0.jar b/lib/TcSoaStrongModelEsmBase_13000.1.0.jar new file mode 100644 index 0000000..e27eaf3 Binary files /dev/null and b/lib/TcSoaStrongModelEsmBase_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelEsmProcessor_13000.1.0.jar b/lib/TcSoaStrongModelEsmProcessor_13000.1.0.jar new file mode 100644 index 0000000..75d9ded Binary files /dev/null and b/lib/TcSoaStrongModelEsmProcessor_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelEsmSoftware_13000.1.0.jar b/lib/TcSoaStrongModelEsmSoftware_13000.1.0.jar new file mode 100644 index 0000000..4d3fcef Binary files /dev/null and b/lib/TcSoaStrongModelEsmSoftware_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelFnshmgmt_13000.1.0.jar b/lib/TcSoaStrongModelFnshmgmt_13000.1.0.jar new file mode 100644 index 0000000..d6b48f9 Binary files /dev/null and b/lib/TcSoaStrongModelFnshmgmt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelFpMgmt_13000.1.0.jar b/lib/TcSoaStrongModelFpMgmt_13000.1.0.jar new file mode 100644 index 0000000..4b48e77 Binary files /dev/null and b/lib/TcSoaStrongModelFpMgmt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelGmo_13000.1.0.jar b/lib/TcSoaStrongModelGmo_13000.1.0.jar new file mode 100644 index 0000000..f8cd817 Binary files /dev/null and b/lib/TcSoaStrongModelGmo_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelHrn_13000.1.0.jar b/lib/TcSoaStrongModelHrn_13000.1.0.jar new file mode 100644 index 0000000..e95e517 Binary files /dev/null and b/lib/TcSoaStrongModelHrn_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelIssuemgmt_13000.1.0.jar b/lib/TcSoaStrongModelIssuemgmt_13000.1.0.jar new file mode 100644 index 0000000..268df9f Binary files /dev/null and b/lib/TcSoaStrongModelIssuemgmt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelLibraryManagement_13000.1.0.jar b/lib/TcSoaStrongModelLibraryManagement_13000.1.0.jar new file mode 100644 index 0000000..143c7a9 Binary files /dev/null and b/lib/TcSoaStrongModelLibraryManagement_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelMDConnectivity_13000.1.0.jar b/lib/TcSoaStrongModelMDConnectivity_13000.1.0.jar new file mode 100644 index 0000000..8970d7c Binary files /dev/null and b/lib/TcSoaStrongModelMDConnectivity_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelMES_13000.1.0.jar b/lib/TcSoaStrongModelMES_13000.1.0.jar new file mode 100644 index 0000000..15bb935 Binary files /dev/null and b/lib/TcSoaStrongModelMES_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelMROCore_13000.1.0.jar b/lib/TcSoaStrongModelMROCore_13000.1.0.jar new file mode 100644 index 0000000..277d109 Binary files /dev/null and b/lib/TcSoaStrongModelMROCore_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelMaterialMgmt_13000.1.0.jar b/lib/TcSoaStrongModelMaterialMgmt_13000.1.0.jar new file mode 100644 index 0000000..0efe250 Binary files /dev/null and b/lib/TcSoaStrongModelMaterialMgmt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelMesIssueMgmt_13000.1.0.jar b/lib/TcSoaStrongModelMesIssueMgmt_13000.1.0.jar new file mode 100644 index 0000000..f4d8c56 Binary files /dev/null and b/lib/TcSoaStrongModelMesIssueMgmt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelModelCore_13000.1.0.jar b/lib/TcSoaStrongModelModelCore_13000.1.0.jar new file mode 100644 index 0000000..3fc0633 Binary files /dev/null and b/lib/TcSoaStrongModelModelCore_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelNX0tcin_13000.1.0.jar b/lib/TcSoaStrongModelNX0tcin_13000.1.0.jar new file mode 100644 index 0000000..f598044 Binary files /dev/null and b/lib/TcSoaStrongModelNX0tcin_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelNXP0pid_13000.1.0.jar b/lib/TcSoaStrongModelNXP0pid_13000.1.0.jar new file mode 100644 index 0000000..34b5dab Binary files /dev/null and b/lib/TcSoaStrongModelNXP0pid_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelPMI_13000.1.0.jar b/lib/TcSoaStrongModelPMI_13000.1.0.jar new file mode 100644 index 0000000..24b6430 Binary files /dev/null and b/lib/TcSoaStrongModelPMI_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelPartition_13000.1.0.jar b/lib/TcSoaStrongModelPartition_13000.1.0.jar new file mode 100644 index 0000000..81860b4 Binary files /dev/null and b/lib/TcSoaStrongModelPartition_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelPenetrationmgmt_13000.1.0.jar b/lib/TcSoaStrongModelPenetrationmgmt_13000.1.0.jar new file mode 100644 index 0000000..d86012b Binary files /dev/null and b/lib/TcSoaStrongModelPenetrationmgmt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelPkgArt_13000.1.0.jar b/lib/TcSoaStrongModelPkgArt_13000.1.0.jar new file mode 100644 index 0000000..3b4d555 Binary files /dev/null and b/lib/TcSoaStrongModelPkgArt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelPlp0ProdLinePlan_13000.1.0.jar b/lib/TcSoaStrongModelPlp0ProdLinePlan_13000.1.0.jar new file mode 100644 index 0000000..f0711cf Binary files /dev/null and b/lib/TcSoaStrongModelPlp0ProdLinePlan_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelProductVariant_13000.1.0.jar b/lib/TcSoaStrongModelProductVariant_13000.1.0.jar new file mode 100644 index 0000000..4c858df Binary files /dev/null and b/lib/TcSoaStrongModelProductVariant_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelRealization_13000.1.0.jar b/lib/TcSoaStrongModelRealization_13000.1.0.jar new file mode 100644 index 0000000..2c92b56 Binary files /dev/null and b/lib/TcSoaStrongModelRealization_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelSSPSPRAlignment_13000.1.0.jar b/lib/TcSoaStrongModelSSPSPRAlignment_13000.1.0.jar new file mode 100644 index 0000000..613b916 Binary files /dev/null and b/lib/TcSoaStrongModelSSPSPRAlignment_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelScdt_13000.1.0.jar b/lib/TcSoaStrongModelScdt_13000.1.0.jar new file mode 100644 index 0000000..f659289 Binary files /dev/null and b/lib/TcSoaStrongModelScdt_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelScmCc_13000.1.0.jar b/lib/TcSoaStrongModelScmCc_13000.1.0.jar new file mode 100644 index 0000000..5ded21f Binary files /dev/null and b/lib/TcSoaStrongModelScmCc_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelServiceEventManagement_13000.1.0.jar b/lib/TcSoaStrongModelServiceEventManagement_13000.1.0.jar new file mode 100644 index 0000000..1a2ca66 Binary files /dev/null and b/lib/TcSoaStrongModelServiceEventManagement_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelServiceProcessing_13000.1.0.jar b/lib/TcSoaStrongModelServiceProcessing_13000.1.0.jar new file mode 100644 index 0000000..bdb0182 Binary files /dev/null and b/lib/TcSoaStrongModelServiceProcessing_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelServiceRequest_13000.1.0.jar b/lib/TcSoaStrongModelServiceRequest_13000.1.0.jar new file mode 100644 index 0000000..29e4b77 Binary files /dev/null and b/lib/TcSoaStrongModelServiceRequest_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelSmdsysmodeling_13000.1.0.jar b/lib/TcSoaStrongModelSmdsysmodeling_13000.1.0.jar new file mode 100644 index 0000000..310be7d Binary files /dev/null and b/lib/TcSoaStrongModelSmdsysmodeling_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelSpecMgr_13000.1.0.jar b/lib/TcSoaStrongModelSpecMgr_13000.1.0.jar new file mode 100644 index 0000000..45027bd Binary files /dev/null and b/lib/TcSoaStrongModelSpecMgr_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelStockMaterial_13000.1.0.jar b/lib/TcSoaStrongModelStockMaterial_13000.1.0.jar new file mode 100644 index 0000000..0324a93 Binary files /dev/null and b/lib/TcSoaStrongModelStockMaterial_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelSystemsEngineering_13000.1.0.jar b/lib/TcSoaStrongModelSystemsEngineering_13000.1.0.jar new file mode 100644 index 0000000..757d2b6 Binary files /dev/null and b/lib/TcSoaStrongModelSystemsEngineering_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelTcae_13000.1.0.jar b/lib/TcSoaStrongModelTcae_13000.1.0.jar new file mode 100644 index 0000000..271bb90 Binary files /dev/null and b/lib/TcSoaStrongModelTcae_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelTransactionProcessing_13000.1.0.jar b/lib/TcSoaStrongModelTransactionProcessing_13000.1.0.jar new file mode 100644 index 0000000..10544bc Binary files /dev/null and b/lib/TcSoaStrongModelTransactionProcessing_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelVendorManagement_13000.1.0.jar b/lib/TcSoaStrongModelVendorManagement_13000.1.0.jar new file mode 100644 index 0000000..559e660 Binary files /dev/null and b/lib/TcSoaStrongModelVendorManagement_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelWeldManagement_13000.1.0.jar b/lib/TcSoaStrongModelWeldManagement_13000.1.0.jar new file mode 100644 index 0000000..39443d6 Binary files /dev/null and b/lib/TcSoaStrongModelWeldManagement_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModelWorkPackageManagement_13000.1.0.jar b/lib/TcSoaStrongModelWorkPackageManagement_13000.1.0.jar new file mode 100644 index 0000000..7cdc368 Binary files /dev/null and b/lib/TcSoaStrongModelWorkPackageManagement_13000.1.0.jar differ diff --git a/lib/TcSoaStrongModel_13000.1.0.jar b/lib/TcSoaStrongModel_13000.1.0.jar new file mode 100644 index 0000000..4d7263d Binary files /dev/null and b/lib/TcSoaStrongModel_13000.1.0.jar differ diff --git a/lib/TcSoaStructureManagementLoose_13000.1.0.jar b/lib/TcSoaStructureManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..ca162e3 Binary files /dev/null and b/lib/TcSoaStructureManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaStructureManagementStrong_13000.1.0.jar b/lib/TcSoaStructureManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..93b3a70 Binary files /dev/null and b/lib/TcSoaStructureManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaSvcProcessingLoose_13000.1.0.jar b/lib/TcSoaSvcProcessingLoose_13000.1.0.jar new file mode 100644 index 0000000..0292545 Binary files /dev/null and b/lib/TcSoaSvcProcessingLoose_13000.1.0.jar differ diff --git a/lib/TcSoaSvcProcessingStrong_13000.1.0.jar b/lib/TcSoaSvcProcessingStrong_13000.1.0.jar new file mode 100644 index 0000000..22f1e2f Binary files /dev/null and b/lib/TcSoaSvcProcessingStrong_13000.1.0.jar differ diff --git a/lib/TcSoaSvcRequestLoose_13000.1.0.jar b/lib/TcSoaSvcRequestLoose_13000.1.0.jar new file mode 100644 index 0000000..0b5773f Binary files /dev/null and b/lib/TcSoaSvcRequestLoose_13000.1.0.jar differ diff --git a/lib/TcSoaSvcRequestStrong_13000.1.0.jar b/lib/TcSoaSvcRequestStrong_13000.1.0.jar new file mode 100644 index 0000000..5abb0a0 Binary files /dev/null and b/lib/TcSoaSvcRequestStrong_13000.1.0.jar differ diff --git a/lib/TcSoaSystemsEngineeringLoose_13000.1.0.jar b/lib/TcSoaSystemsEngineeringLoose_13000.1.0.jar new file mode 100644 index 0000000..a1bcbef Binary files /dev/null and b/lib/TcSoaSystemsEngineeringLoose_13000.1.0.jar differ diff --git a/lib/TcSoaSystemsEngineeringStrong_13000.1.0.jar b/lib/TcSoaSystemsEngineeringStrong_13000.1.0.jar new file mode 100644 index 0000000..4300bca Binary files /dev/null and b/lib/TcSoaSystemsEngineeringStrong_13000.1.0.jar differ diff --git a/lib/TcSoaTranslationLoose_13000.1.0.jar b/lib/TcSoaTranslationLoose_13000.1.0.jar new file mode 100644 index 0000000..5090d70 Binary files /dev/null and b/lib/TcSoaTranslationLoose_13000.1.0.jar differ diff --git a/lib/TcSoaTranslationStrong_13000.1.0.jar b/lib/TcSoaTranslationStrong_13000.1.0.jar new file mode 100644 index 0000000..202e87b Binary files /dev/null and b/lib/TcSoaTranslationStrong_13000.1.0.jar differ diff --git a/lib/TcSoaVendorManagementLoose_13000.1.0.jar b/lib/TcSoaVendorManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..6e6cde8 Binary files /dev/null and b/lib/TcSoaVendorManagementLoose_13000.1.0.jar differ diff --git a/lib/TcSoaVendorManagementStrong_13000.1.0.jar b/lib/TcSoaVendorManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..5e9160a Binary files /dev/null and b/lib/TcSoaVendorManagementStrong_13000.1.0.jar differ diff --git a/lib/TcSoaVisualizationLoose_13000.1.0.jar b/lib/TcSoaVisualizationLoose_13000.1.0.jar new file mode 100644 index 0000000..20ee43e Binary files /dev/null and b/lib/TcSoaVisualizationLoose_13000.1.0.jar differ diff --git a/lib/TcSoaVisualizationStrong_13000.1.0.jar b/lib/TcSoaVisualizationStrong_13000.1.0.jar new file mode 100644 index 0000000..849a79c Binary files /dev/null and b/lib/TcSoaVisualizationStrong_13000.1.0.jar differ diff --git a/lib/TcSoaWireHarnessLoose_13000.1.0.jar b/lib/TcSoaWireHarnessLoose_13000.1.0.jar new file mode 100644 index 0000000..225156f Binary files /dev/null and b/lib/TcSoaWireHarnessLoose_13000.1.0.jar differ diff --git a/lib/TcSoaWireHarnessStrong_13000.1.0.jar b/lib/TcSoaWireHarnessStrong_13000.1.0.jar new file mode 100644 index 0000000..49efa87 Binary files /dev/null and b/lib/TcSoaWireHarnessStrong_13000.1.0.jar differ diff --git a/lib/TcSoaWorkflowLoose_13000.1.0.jar b/lib/TcSoaWorkflowLoose_13000.1.0.jar new file mode 100644 index 0000000..2c61b64 Binary files /dev/null and b/lib/TcSoaWorkflowLoose_13000.1.0.jar differ diff --git a/lib/TcSoaWorkflowStrong_13000.1.0.jar b/lib/TcSoaWorkflowStrong_13000.1.0.jar new file mode 100644 index 0000000..9c17a3b Binary files /dev/null and b/lib/TcSoaWorkflowStrong_13000.1.0.jar differ diff --git a/lib/Tgm0SoaStrongModelTargetManagement_13000.1.0.jar b/lib/Tgm0SoaStrongModelTargetManagement_13000.1.0.jar new file mode 100644 index 0000000..3a4e8a6 Binary files /dev/null and b/lib/Tgm0SoaStrongModelTargetManagement_13000.1.0.jar differ diff --git a/lib/Tgm0SoaTargetManagementLoose_13000.1.0.jar b/lib/Tgm0SoaTargetManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..3c9e2bb Binary files /dev/null and b/lib/Tgm0SoaTargetManagementLoose_13000.1.0.jar differ diff --git a/lib/Tgm0SoaTargetManagementStrong_13000.1.0.jar b/lib/Tgm0SoaTargetManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..1bb4eed Binary files /dev/null and b/lib/Tgm0SoaTargetManagementStrong_13000.1.0.jar differ diff --git a/lib/Tm0SoaStrongModelTestManagement_13000.1.0.jar b/lib/Tm0SoaStrongModelTestManagement_13000.1.0.jar new file mode 100644 index 0000000..18cc4c9 Binary files /dev/null and b/lib/Tm0SoaStrongModelTestManagement_13000.1.0.jar differ diff --git a/lib/Tm0SoaTestManagementLoose_13000.1.0.jar b/lib/Tm0SoaTestManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..6c5ef72 Binary files /dev/null and b/lib/Tm0SoaTestManagementLoose_13000.1.0.jar differ diff --git a/lib/Tm0SoaTestManagementStrong_13000.1.0.jar b/lib/Tm0SoaTestManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..4aead17 Binary files /dev/null and b/lib/Tm0SoaTestManagementStrong_13000.1.0.jar differ diff --git a/lib/Val0SoaNXValidationLoose_13000.1.0.jar b/lib/Val0SoaNXValidationLoose_13000.1.0.jar new file mode 100644 index 0000000..282a41a Binary files /dev/null and b/lib/Val0SoaNXValidationLoose_13000.1.0.jar differ diff --git a/lib/Val0SoaNXValidationStrong_13000.1.0.jar b/lib/Val0SoaNXValidationStrong_13000.1.0.jar new file mode 100644 index 0000000..eb8bf9f Binary files /dev/null and b/lib/Val0SoaNXValidationStrong_13000.1.0.jar differ diff --git a/lib/Val0SoaStrongModelNXValidation_13000.1.0.jar b/lib/Val0SoaStrongModelNXValidation_13000.1.0.jar new file mode 100644 index 0000000..7667ac7 Binary files /dev/null and b/lib/Val0SoaStrongModelNXValidation_13000.1.0.jar differ diff --git a/lib/Val1SoaCfgValidationLoose_13000.1.0.jar b/lib/Val1SoaCfgValidationLoose_13000.1.0.jar new file mode 100644 index 0000000..cd251cf Binary files /dev/null and b/lib/Val1SoaCfgValidationLoose_13000.1.0.jar differ diff --git a/lib/Val1SoaCfgValidationStrong_13000.1.0.jar b/lib/Val1SoaCfgValidationStrong_13000.1.0.jar new file mode 100644 index 0000000..6a431dc Binary files /dev/null and b/lib/Val1SoaCfgValidationStrong_13000.1.0.jar differ diff --git a/lib/Val1SoaStrongModelCfgValidation_13000.1.0.jar b/lib/Val1SoaStrongModelCfgValidation_13000.1.0.jar new file mode 100644 index 0000000..9eb0279 Binary files /dev/null and b/lib/Val1SoaStrongModelCfgValidation_13000.1.0.jar differ diff --git a/lib/WdM0SoaWeldManagementLoose_13000.1.0.jar b/lib/WdM0SoaWeldManagementLoose_13000.1.0.jar new file mode 100644 index 0000000..21606b2 Binary files /dev/null and b/lib/WdM0SoaWeldManagementLoose_13000.1.0.jar differ diff --git a/lib/WdM0SoaWeldManagementStrong_13000.1.0.jar b/lib/WdM0SoaWeldManagementStrong_13000.1.0.jar new file mode 100644 index 0000000..8aae5e6 Binary files /dev/null and b/lib/WdM0SoaWeldManagementStrong_13000.1.0.jar differ diff --git a/lib/Wnb0SoaStrongModelWeightandBalance_13000.1.0.jar b/lib/Wnb0SoaStrongModelWeightandBalance_13000.1.0.jar new file mode 100644 index 0000000..a11daa1 Binary files /dev/null and b/lib/Wnb0SoaStrongModelWeightandBalance_13000.1.0.jar differ diff --git a/lib/activation-1.1.1.jar b/lib/activation-1.1.1.jar new file mode 100644 index 0000000..1b703ab Binary files /dev/null and b/lib/activation-1.1.1.jar differ diff --git a/lib/com.teamcenter.rac.aif.registryeditor_13000.1.0.jar b/lib/com.teamcenter.rac.aif.registryeditor_13000.1.0.jar new file mode 100644 index 0000000..2d83908 Binary files /dev/null and b/lib/com.teamcenter.rac.aif.registryeditor_13000.1.0.jar differ diff --git a/lib/com.teamcenter.rac.aifrcp_13000.1.0.jar b/lib/com.teamcenter.rac.aifrcp_13000.1.0.jar new file mode 100644 index 0000000..bb79547 Binary files /dev/null and b/lib/com.teamcenter.rac.aifrcp_13000.1.0.jar differ diff --git a/lib/com.teamcenter.rac.kernel.testing_13000.1.0.jar b/lib/com.teamcenter.rac.kernel.testing_13000.1.0.jar new file mode 100644 index 0000000..bfae4ab Binary files /dev/null and b/lib/com.teamcenter.rac.kernel.testing_13000.1.0.jar differ diff --git a/lib/com.teamcenter.rac.kernel_13000.1.0.jar b/lib/com.teamcenter.rac.kernel_13000.1.0.jar new file mode 100644 index 0000000..a2be741 Binary files /dev/null and b/lib/com.teamcenter.rac.kernel_13000.1.0.jar differ diff --git a/lib/com.teamcenter.rac.util.testing_13000.1.0.jar b/lib/com.teamcenter.rac.util.testing_13000.1.0.jar new file mode 100644 index 0000000..2ca6be9 Binary files /dev/null and b/lib/com.teamcenter.rac.util.testing_13000.1.0.jar differ diff --git a/lib/com.teamcenter.rac.util_13000.1.0.jar b/lib/com.teamcenter.rac.util_13000.1.0.jar new file mode 100644 index 0000000..8cfaece Binary files /dev/null and b/lib/com.teamcenter.rac.util_13000.1.0.jar differ diff --git a/lib/commons-codec.jar b/lib/commons-codec.jar new file mode 100644 index 0000000..957b675 Binary files /dev/null and b/lib/commons-codec.jar differ diff --git a/lib/commons-logging-1.2.jar b/lib/commons-logging-1.2.jar new file mode 100644 index 0000000..93a3b9f Binary files /dev/null and b/lib/commons-logging-1.2.jar differ diff --git a/lib/fccclient.jar b/lib/fccclient.jar new file mode 100644 index 0000000..732fbc9 Binary files /dev/null and b/lib/fccclient.jar differ diff --git a/lib/fscclient.jar b/lib/fscclient.jar new file mode 100644 index 0000000..11ac4cf Binary files /dev/null and b/lib/fscclient.jar differ diff --git a/lib/httpclient-4.5.10.jar b/lib/httpclient-4.5.10.jar new file mode 100644 index 0000000..d0c7821 Binary files /dev/null and b/lib/httpclient-4.5.10.jar differ diff --git a/lib/httpcore-4.4.12.jar b/lib/httpcore-4.4.12.jar new file mode 100644 index 0000000..1838672 Binary files /dev/null and b/lib/httpcore-4.4.12.jar differ diff --git a/lib/httpmime-4.5.10.jar b/lib/httpmime-4.5.10.jar new file mode 100644 index 0000000..0fae6d0 Binary files /dev/null and b/lib/httpmime-4.5.10.jar differ diff --git a/lib/jaxb-api-2.3.1.jar b/lib/jaxb-api-2.3.1.jar new file mode 100644 index 0000000..4565865 Binary files /dev/null and b/lib/jaxb-api-2.3.1.jar differ diff --git a/lib/jaxb-core-2.2.11.jar b/lib/jaxb-core-2.2.11.jar new file mode 100644 index 0000000..4ab7dc5 Binary files /dev/null and b/lib/jaxb-core-2.2.11.jar differ diff --git a/lib/jaxb-impl-2.3.1.jar b/lib/jaxb-impl-2.3.1.jar new file mode 100644 index 0000000..e3c2b28 Binary files /dev/null and b/lib/jaxb-impl-2.3.1.jar differ diff --git a/lib/log4j-1.2-api-2.13.0.jar b/lib/log4j-1.2-api-2.13.0.jar new file mode 100644 index 0000000..b3e18ab Binary files /dev/null and b/lib/log4j-1.2-api-2.13.0.jar differ diff --git a/lib/log4j-api-2.13.0.jar b/lib/log4j-api-2.13.0.jar new file mode 100644 index 0000000..4681b9c Binary files /dev/null and b/lib/log4j-api-2.13.0.jar differ diff --git a/lib/log4j-core-2.13.0.jar b/lib/log4j-core-2.13.0.jar new file mode 100644 index 0000000..0fc39c3 Binary files /dev/null and b/lib/log4j-core-2.13.0.jar differ diff --git a/lib/resolver.jar b/lib/resolver.jar new file mode 100644 index 0000000..e535bdc Binary files /dev/null and b/lib/resolver.jar differ diff --git a/lib/serializer.jar b/lib/serializer.jar new file mode 100644 index 0000000..de9b007 Binary files /dev/null and b/lib/serializer.jar differ diff --git a/lib/tcmemjavabinding.jar b/lib/tcmemjavabinding.jar new file mode 100644 index 0000000..78cf543 Binary files /dev/null and b/lib/tcmemjavabinding.jar differ diff --git a/lib/tcserverjavabinding.jar b/lib/tcserverjavabinding.jar new file mode 100644 index 0000000..40d0757 Binary files /dev/null and b/lib/tcserverjavabinding.jar differ diff --git a/lib/tctp_13000.1.0.jar b/lib/tctp_13000.1.0.jar new file mode 100644 index 0000000..93df559 Binary files /dev/null and b/lib/tctp_13000.1.0.jar differ diff --git a/lib/teamcenter_sso_applib.jar b/lib/teamcenter_sso_applib.jar new file mode 100644 index 0000000..32b5814 Binary files /dev/null and b/lib/teamcenter_sso_applib.jar differ diff --git a/lib/teamcenter_sso_common.jar b/lib/teamcenter_sso_common.jar new file mode 100644 index 0000000..84a374b Binary files /dev/null and b/lib/teamcenter_sso_common.jar differ diff --git a/lib/teamcenter_sso_ldapcustom.jar b/lib/teamcenter_sso_ldapcustom.jar new file mode 100644 index 0000000..69b2c74 Binary files /dev/null and b/lib/teamcenter_sso_ldapcustom.jar differ diff --git a/lib/teamcenter_sso_webtoolkit.jar b/lib/teamcenter_sso_webtoolkit.jar new file mode 100644 index 0000000..e973dd1 Binary files /dev/null and b/lib/teamcenter_sso_webtoolkit.jar differ diff --git a/lib/ws-commons-util-1.0.2.jar b/lib/ws-commons-util-1.0.2.jar new file mode 100644 index 0000000..3fc364e Binary files /dev/null and b/lib/ws-commons-util-1.0.2.jar differ diff --git a/lib/xercesImpl.jar b/lib/xercesImpl.jar new file mode 100644 index 0000000..0aaa990 Binary files /dev/null and b/lib/xercesImpl.jar differ diff --git a/lib/xml-apis.jar b/lib/xml-apis.jar new file mode 100644 index 0000000..4673346 Binary files /dev/null and b/lib/xml-apis.jar differ diff --git a/lib/xmlrpc-client-3.1.3.jar b/lib/xmlrpc-client-3.1.3.jar new file mode 100644 index 0000000..38e3359 Binary files /dev/null and b/lib/xmlrpc-client-3.1.3.jar differ diff --git a/lib/xmlrpc-common-3.1.3.jar b/lib/xmlrpc-common-3.1.3.jar new file mode 100644 index 0000000..b5eb9df Binary files /dev/null and b/lib/xmlrpc-common-3.1.3.jar differ diff --git a/lib/xmlrpc-server-3.1.3.jar b/lib/xmlrpc-server-3.1.3.jar new file mode 100644 index 0000000..2f930f1 Binary files /dev/null and b/lib/xmlrpc-server-3.1.3.jar differ diff --git a/logs/2024-01/app-01-18-2024-1.log.gz b/logs/2024-01/app-01-18-2024-1.log.gz new file mode 100644 index 0000000..72eb508 Binary files /dev/null and b/logs/2024-01/app-01-18-2024-1.log.gz differ diff --git a/logs/2024-02/app-02-02-2024-1.log.gz b/logs/2024-02/app-02-02-2024-1.log.gz new file mode 100644 index 0000000..c432357 Binary files /dev/null and b/logs/2024-02/app-02-02-2024-1.log.gz differ diff --git a/logs/2024-02/app-02-18-2024-1.log.gz b/logs/2024-02/app-02-18-2024-1.log.gz new file mode 100644 index 0000000..4df1c82 Binary files /dev/null and b/logs/2024-02/app-02-18-2024-1.log.gz differ diff --git a/logs/2024-02/app-02-19-2024-1.log.gz b/logs/2024-02/app-02-19-2024-1.log.gz new file mode 100644 index 0000000..25faee3 Binary files /dev/null and b/logs/2024-02/app-02-19-2024-1.log.gz differ diff --git a/logs/2024-02/app-02-20-2024-1.log.gz b/logs/2024-02/app-02-20-2024-1.log.gz new file mode 100644 index 0000000..0b40e3b Binary files /dev/null and b/logs/2024-02/app-02-20-2024-1.log.gz differ diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..841f63a --- /dev/null +++ b/mvnw @@ -0,0 +1,331 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ]; then + + if [ -f /usr/local/etc/mavenrc ]; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ]; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ]; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +mingw=false +case "$(uname)" in +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="$(/usr/libexec/java_home)" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +if [ -z "$M2_HOME" ]; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ]; do + ls=$(ls -ld "$PRG") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' >/dev/null; then + PRG="$link" + else + PRG="$(dirname "$PRG")/$link" + fi + done + + saveddir=$(pwd) + + M2_HOME=$(dirname "$PRG")/.. + + # make it fully qualified + M2_HOME=$(cd "$M2_HOME" && pwd) + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --unix "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw; then + [ -n "$M2_HOME" ] && + M2_HOME="$( ( + cd "$M2_HOME" + pwd + ))" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="$( ( + cd "$JAVA_HOME" + pwd + ))" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then + if $darwin; then + javaHome="$(dirname \"$javaExecutable\")" + javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac" + else + javaExecutable="$(readlink -f \"$javaExecutable\")" + fi + javaHome="$(dirname \"$javaExecutable\")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$( + \unset -f command + \command -v java + )" + fi +fi + +if [ ! -x "$JAVACMD" ]; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$( + cd "$wdir/.." + pwd + ) + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' <"$1")" + fi +} + +BASE_DIR=$(find_maven_basedir "$(pwd)") +if [ -z "$BASE_DIR" ]; then + exit 1 +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in wrapperUrl) + jarUrl="$value" + break + ;; + esac + done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl >/dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=$(cygpath --path --windows "$M2_HOME") + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/out/artifacts/batch_conversion_dwgtopdf_jar/batch_conversion_dwgtopdf.jar b/out/artifacts/batch_conversion_dwgtopdf_jar/batch_conversion_dwgtopdf.jar new file mode 100644 index 0000000..02f9fa7 Binary files /dev/null and b/out/artifacts/batch_conversion_dwgtopdf_jar/batch_conversion_dwgtopdf.jar differ diff --git a/out/artifacts/savadata_jar/savadata.jar b/out/artifacts/savadata_jar/savadata.jar new file mode 100644 index 0000000..df2b3d7 Binary files /dev/null and b/out/artifacts/savadata_jar/savadata.jar differ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..b0b1ecc --- /dev/null +++ b/pom.xml @@ -0,0 +1,333 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.7.11 + + + + com.connor.rb + presaleinfomation + 1.0.0 + jar + presaleinfomation + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-logging + + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.1 + + + com.oracle + ojdbc7 + 12.2.0.1 + + + + + org.springframework.boot + spring-boot-starter-log4j2 + + + + teamcenter + log4j + 12.3.0 + + + + + org.apache.logging.log4j + log4j-api + 2.17.2 + + + org.apache.logging.log4j + log4j-core + 2.17.2 + + + + + org.projectlombok + lombok + true + + + + org.springframework.boot + spring-boot-starter-test + test + + + com.alibaba + fastjson + 1.2.28 + + + + com.google.code.gson + gson + 2.8.6 + + + com.fasterxml.jackson.core + jackson-databind + 2.13.5 + + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + + org.glassfish.jaxb + jaxb-runtime + 2.3.2 + + + + teamcenter + commons-io + 2.5 + + + teamcenter + commons-logging + 2.5 + + + teamcenter + fccclient + 12.3.0 + + + + teamcenter + fscclient + 12.3.0 + + + + teamcenter + httpclient + 12.3.0 + + + + teamcenter + httpcore + 12.3.0 + + + + teamcenter + httpmime + 12.3.0 + + + + + + teamcenter + TcSoaAdministrationStrong + 12.3.0 + + + + teamcenter + TcSoaAiStrong + 12.3.0 + + + + teamcenter + TcSoaAllocationsStrong + 12.3.0 + + + + teamcenter + TcSoaBomStrong + 12.3.0 + + + + teamcenter + TcSoaBusinessModelerStrong + 12.3.0 + + + + teamcenter + TcSoaCadBomAlignmentStrong + 12.3.0 + + + + teamcenter + TcSoaCadStrong + 12.3.0 + + + + teamcenter + TcSoaCaeStrong + 12.3.0 + + + + teamcenter + TcSoaCalendarManagementStrong + 12.3.0 + + + + teamcenter + TcSoaChangeManagementStrong + 12.3.0 + + + + teamcenter + TcSoaClassificationStrong + 12.3.0 + + + + teamcenter + TcSoaClient + 12.3.0 + + + org.springframework + spring-context-support + 5.2.12.RELEASE + + + + teamcenter + TcSoaCommon + 12.3.0 + + + + teamcenter + TcSoaConfigurationStrong + 12.3.0 + + + + teamcenter + TcSoaCoreLoose + 12.3.0 + + + + teamcenter + TcSoaCoreStrong + 12.3.0 + + + + teamcenter + TcSoaDocumentManagementStrong + 12.3.0 + + + + teamcenter + TcSoaImportExportStrong + 12.3.0 + + + + teamcenter + TcSoaQueryStrong + 12.3.0 + + + + teamcenter + TcSoaStrongModel + 12.3.0 + + + + teamcenter + TcSoaWorkflowLoose + 12.3.0 + + + teamcenter + TcSoaWorkflowStrong + 12.3.0 + + + + teamcenter + xercesImpl + 12.3.0 + + + + teamcenter + xml-apis + 12.3.0 + + + + + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + com.connor.rb.dwgtopdf.savadataApplication + + + + + repackage + + + + + + + + diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000..e15f8bf --- /dev/null +++ b/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.connor.rb.dwgtopdf.savadataApplication + diff --git a/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXCredentialManager.java b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXCredentialManager.java new file mode 100644 index 0000000..b3bcf57 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXCredentialManager.java @@ -0,0 +1,145 @@ +//================================================== +// +// Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved. +// +//================================================== + +package com.connor.rb.dwgtopdf.clientx; + +import com.teamcenter.schemas.soa._2006_03.exceptions.InvalidCredentialsException; +import com.teamcenter.schemas.soa._2006_03.exceptions.InvalidUserException; +import com.teamcenter.soa.client.CredentialManager; +import com.teamcenter.soa.exceptions.CanceledOperationException; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.LineNumberReader; + +/** + * The CredentialManager is used by the Teamcenter Services framework to get the + * user's credentials when challenged by the server. This can occur after a period + * of inactivity and the server has timed-out the user's session, at which time + * the client application will need to re-authenticate. The framework will + * call one of the getCredentials methods (depending on circumstances) and will + * send the SessionService.login service request. Upon successful completion of + * the login service request. The last service request (one that caused the challenge) + * will be resent. + * + * The framework will also call the setUserPassword setGroupRole methods when ever + * these credentials change, thus allowing this implementation of the CredentialManager + * to cache these values so prompting of the user is not required for re-authentication. + * + */ +public class AppXCredentialManager implements CredentialManager +{ + + private String name = null; + private String password = null; + private String group = ""; // default group + private String role = ""; // default role + private String discriminator = "SoaAppX"; // always connect same user + // to same instance of server + + /** + * Return the type of credentials this implementation provides, + * standard (user/password) or Single-Sign-On. In this case + * Standard credentials are returned. + * + * @see CredentialManager#getCredentialType() + */ + public int getCredentialType() + { + return CredentialManager.CLIENT_CREDENTIAL_TYPE_STD; + } + + + /** + * Prompt's the user for credentials. + * This method will only be called by the framework when a login attempt has + * failed. + * + * @see CredentialManager#getCredentials(InvalidCredentialsException) + */ + public String[] getCredentials(InvalidCredentialsException e) + throws CanceledOperationException + { + System.out.println(e.getMessage()); + return new String[0]; + } + + /** + * Return the cached credentials. + * This method will be called when a service request is sent without a valid + * session ( session has expired on the server). + * + * @see CredentialManager#getCredentials(InvalidUserException) + */ + public String[] getCredentials(InvalidUserException e) + throws CanceledOperationException + { + // Have not logged in yet, should not happen but just in case +// if (name == null) return promptForCredentials(); +// +// // Return cached credentials +// String[] tokens = { name, password, group, role, discriminator }; +// return tokens; + return new String[0]; + } + + /** + * Cache the group and role + * This is called after the SessionService.setSessionGroupMember service + * operation is called. + * + * @see CredentialManager#setGroupRole(String, + * String) + */ + public void setGroupRole(String group, String role) + { + this.group = group; + this.role = role; + } + + /** + * Cache the User and Password + * This is called after the SessionService.login service operation is called. + * + * @see CredentialManager#setUserPassword(String, + * String, String) + */ + public void setUserPassword(String user, String password, String discriminator) + { + this.name = user; + this.password = password; + this.discriminator = discriminator; + } + + + public String[] promptForCredentials() + throws CanceledOperationException + { + try + { + LineNumberReader reader = new LineNumberReader(new InputStreamReader(System.in)); + System.out.println("Please enter user credentials (return to quit):"); + System.out.print("User Name: "); + name = reader.readLine(); + + if (name.length() == 0) + throw new CanceledOperationException(""); + + System.out.print("Password: "); + password = reader.readLine(); + } + catch (IOException e) + { + String message = "Failed to get the name and password.\n" + e.getMessage(); + System.out.println(message); + throw new CanceledOperationException(message); + } + + String[] tokens = { name, password, group, role, discriminator }; + return tokens; + } + +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXExceptionHandler.java b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXExceptionHandler.java new file mode 100644 index 0000000..f700d0d --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXExceptionHandler.java @@ -0,0 +1,48 @@ +//================================================== +// +// Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved. +// +//================================================== + +package com.connor.rb.dwgtopdf.clientx; + +import com.teamcenter.schemas.soa._2006_03.exceptions.InternalServerException; +import com.teamcenter.soa.client.ExceptionHandler; +import com.teamcenter.soa.exceptions.CanceledOperationException; + +/** + * Implementation of the ExceptionHandler. For ConnectionExceptions (server + * temporarily down .etc) prompts the user to retry the last request. For other + * exceptions convert to a RunTime exception. + */ +public class AppXExceptionHandler implements ExceptionHandler +{ + + /* + * (non-Javadoc) + * + * @see com.teamcenter.soa.client.ExceptionHandler#handleException(com.teamcenter.schemas.soa._2006_03.exceptions.InternalServerException) + */ + public void handleException(InternalServerException ise) + { + throw new RuntimeException(ise.getMessage()); + } + + /* + * (non-Javadoc) + * + * @see com.teamcenter.soa.client.ExceptionHandler#handleException(com.teamcenter.soa.exceptions.CanceledOperationException) + */ + public void handleException(CanceledOperationException coe) + { + System.out.println(""); + System.out.println("*****"); + System.out.println("Exception caught in com.teamcenter.clientx.AppXExceptionHandler.handleException(CanceledOperationException)."); + + // Expecting this from the login tests with bad credentials, and the + // AnyUserCredentials class not + // prompting for different credentials + throw new RuntimeException(coe); + } + +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXModelEventListener.java b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXModelEventListener.java new file mode 100644 index 0000000..699819e --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXModelEventListener.java @@ -0,0 +1,57 @@ +package com.connor.rb.dwgtopdf.clientx;////================================================== +//// +//// Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved. +//// +////================================================== +// +//package com.connor.cadService.clientx; +// +// +//import com.teamcenter.soa.client.model.ModelEventListener; +//import com.teamcenter.soa.client.model.ModelObject; +//import com.teamcenter.soa.exceptions.NotLoadedException; +// +///** +// * Implementation of the ChangeListener. Print out all objects that have been updated. +// * +// */ +//public class AppXModelEventListener extends ModelEventListener +//{ +// +// @Override +// public void localObjectChange(ModelObject[] objects) +// { +// +// if (objects.length == 0) return; +// for (int i = 0; i < objects.length; i++) +// { +// String uid = objects[i].getUid(); +// String type = objects[i].getTypeObject().getName(); +// String name = ""; +// if (objects[i].getTypeObject().isInstanceOf("WorkspaceObject")) +// { +// ModelObject wo = objects[i]; +// try +// { +// name = wo.getPropertyObject("object_string").getStringValue(); +// } +// catch (NotLoadedException e) {} // just ignore +// } +// System.out.println(" " + uid + " " + type + " " + name); +// } +// } +// +// @Override +// public void localObjectDelete(String[] uids) +// { +// +// if (uids.length == 0) +// return; +// for (int i = 0; i < uids.length; i++) +// { +// System.out.println(" " + uids[i]); +// } +// +// } +// +//} diff --git a/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXPartialErrorListener.java b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXPartialErrorListener.java new file mode 100644 index 0000000..b202991 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXPartialErrorListener.java @@ -0,0 +1,57 @@ +//================================================== +// +// Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved. +// +//================================================== + + +package com.connor.rb.dwgtopdf.clientx; + +import com.teamcenter.soa.client.model.ErrorStack; +import com.teamcenter.soa.client.model.ErrorValue; +import com.teamcenter.soa.client.model.PartialErrorListener; + +/** + * Implementation of the PartialErrorListener. Print out any partial errors + * returned. + * + */ +public class AppXPartialErrorListener implements PartialErrorListener +{ + + @Override + public void handlePartialError(ErrorStack[] stacks) + { + if (stacks.length == 0) return; + + + for (int i = 0; i < stacks.length; i++) + { + ErrorValue[] errors = stacks[i].getErrorValues(); + System.out.print("Partial Error for "); + + // The different service implementation may optionally associate + // an ModelObject, client ID, or nothing, with each partial error + if (stacks[i].hasAssociatedObject()) + { + System.out.println( "object " + stacks[i].getAssociatedObject().getUid() ); + } + else if (stacks[i].hasClientId()) + { + System.out.println( "client id " + stacks[i].getClientId() ); + } + else if (stacks[i].hasClientIndex()) + System.out.println( "client index " + stacks[i].getClientIndex() ); + + + // Each Partial Error will have one or more contributing error messages + for (int j = 0; j < errors.length; j++) + { + System.out.println(" Code: " + errors[j].getCode() + "\tSeverity: " + + errors[j].getLevel() + "\t" + errors[j].getMessage()); + } + } + + } + +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXRequestListener.java b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXRequestListener.java new file mode 100644 index 0000000..53ae957 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXRequestListener.java @@ -0,0 +1,36 @@ +package com.connor.rb.dwgtopdf.clientx;////================================================== +//// +//// Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved. +//// +////================================================== +// +//package com.connor.cadService.clientx; +// +//import com.teamcenter.soa.client.RequestListener; +// +///** +// * This implementation of the RequestListener, logs each service request +// * to the console. +// * +// */ +//public class AppXRequestListener implements RequestListener +//{ +// +// /** +// * Called before each request is sent to the server. +// */ +// public void serviceRequest ( final Info info ) +// { +// // will log the service name when done +// } +// +// /** +// * Called after each response from the server. +// * Log the service operation to the console. +// */ +// public void serviceResponse( final Info info ) +// { +// System.out.println( info.id +": "+info.service+"."+info.operation); +// } +// +//} diff --git a/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXSession.java b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXSession.java new file mode 100644 index 0000000..ed324b8 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/clientx/AppXSession.java @@ -0,0 +1,275 @@ +//================================================== +// +// Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved. +// +//================================================== + +package com.connor.rb.dwgtopdf.clientx; + +import com.teamcenter.schemas.soa._2006_03.exceptions.ServiceException; +import com.teamcenter.services.strong.core.DataManagementService; +import com.teamcenter.services.strong.core.SessionService; +import com.teamcenter.services.strong.core._2006_03.Session.LoginResponse; +import com.teamcenter.soa.SoaConstants; +import com.teamcenter.soa.client.Connection; +import com.teamcenter.soa.client.model.ModelObject; +import com.teamcenter.soa.client.model.strong.User; +import com.teamcenter.soa.client.model.strong.WorkspaceObject; +import com.teamcenter.soa.exceptions.NotLoadedException; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class AppXSession { + /** + * Single instance of the Connection object that is shared throughout the + * application. This Connection object is needed whenever a Service stub is + * instantiated. + */ + private static Connection connection; + + /** + * The credentialManager is used both by the Session class and the Teamcenter + * Services Framework to get user credentials. + * + */ + private AppXCredentialManager credentialManager; + + private User user; + + /** + * Create an instance of the Session with a connection to the specified server. + * + * Add implementations of the ExceptionHandler, PartialErrorListener, + * ChangeListener, and DeleteListeners. + * + * @param host + * Address of the host to connect to, http://serverName:port/tc + */ +// public AppXSession(String host) +// { +// // Create an instance of the CredentialManager, this is used +// // by the SOA Framework to get the user's credentials when +// // challenged by the server (session timeout on the web tier). +// credentialManager = new AppXCredentialManager(); +// +// String protocol=null; +// String envNameTccs = null; +// if ( host.startsWith("http") ) +// { +// protocol = SoaConstants.HTTP; +// } +// else if ( host.startsWith("tccs") ) +// { +// protocol = SoaConstants.TCCS; +// host = host.trim(); +// int envNameStart = host.indexOf('/') + 2; +// envNameTccs = host.substring( envNameStart, host.length() ); +// host = ""; +// } +// else +// { +// protocol = SoaConstants.IIOP; +// } +// +// +// // Create the Connection object, no contact is made with the server +// // until a service request is made +// connection = new Connection(host, credentialManager, SoaConstants.REST, protocol); +// +// if( protocol == SoaConstants.TCCS ) +// { +// connection.setOption( Connection.TCCS_ENV_NAME, envNameTccs ); +// } +// +// +// // Add an ExceptionHandler to the Connection, this will handle any +// // InternalServerException, communication errors, XML marshaling errors +// // .etc +// connection.setExceptionHandler(new AppXExceptionHandler()); +// +// // While the above ExceptionHandler is required, all of the following +// // Listeners are optional. Client application can add as many or as few Listeners +// // of each type that they want. +// +// // Add a Partial Error Listener, this will be notified when ever a +// // a service returns partial errors. +// // connection.getModelManager().addPartialErrorListener(new AppXPartialErrorListener()); +// +// // Add a Change and Delete Listener, this will be notified when ever a +// // a service returns model objects that have been updated or deleted. +// // connection.getModelManager().addModelEventListener(new AppXModelEventListener()); +// +// +// // Add a Request Listener, this will be notified before and after each +// // service request is sent to the server. +// // Connection.addRequestListener( new AppXRequestListener() ); +// +// } + public AppXSession(String host) throws Exception{ + // Create an instance of the CredentialManager, this is used + // by the SOA Framework to get the user's credentials when + // challenged by the server (session timeout on the web tier). + System.out.println("host"+host); + credentialManager = new AppXCredentialManager(); + String protocol = null; + String envNameTccs = null; + if (host.startsWith("http")) { + protocol = SoaConstants.HTTP; + } else if (host.startsWith("tccs")) { + protocol = SoaConstants.TCCS; + host = host.trim(); + int envNameStart = host.indexOf('/') + 2; + envNameTccs = host.substring(envNameStart, host.length()); + host = ""; + } else { + protocol = SoaConstants.IIOP; + } + + System.out.println(protocol); + + // Create the Connection object, no contact is made with the server + // until a service request is made + connection = new Connection(host, credentialManager, SoaConstants.REST, protocol); + + System.out.println(connection); + if (protocol == SoaConstants.TCCS) { + connection.setOption(Connection.TCCS_ENV_NAME, envNameTccs); + } + + // Add an ExceptionHandler to the Connection, this will handle any + // InternalServerException, communication errors, XML marshaling errors + // .etc + connection.setExceptionHandler(new AppXExceptionHandler()); + + // While the above ExceptionHandler is required, all of the following + // Listeners are optional. Client application can add as many or as few + // Listeners + // of each type that they want. + + // Add a Partial Error Listener, this will be notified when ever a + // a service returns partial errors. + connection.getModelManager().addPartialErrorListener(new AppXPartialErrorListener()); +// +// // Add a Change and Delete Listener, this will be notified when ever a +// // a service returns model objects that have been updated or deleted. +// connection.getModelManager().addModelEventListener(new AppXModelEventListener()); +// +// // Add a Request Listener, this will be notified before and after each +// // service request is sent to the server. +// Connection.addRequestListener(new AppXRequestListener()); + + } + + /** + * Get the single Connection object for the application + * + * @return connection + */ + public static Connection getConnection() { + return connection; + } + + /** + * Login to the Teamcenter Server + * + */ + public User login(String userId, String password, String group, String role) throws Exception { + System.out.println("userid :"+userId+"password"+password); + SessionService sessionService = SessionService.getService(connection); + String[] credentials = new String[] { userId, password, group, role,UUID.randomUUID().toString()}; + LoginResponse out = sessionService.login(credentials[0], credentials[1], credentials[2], credentials[3], "zh_CN", credentials[4]); + this.user = out.user; + return out.user; + } + + public User getUser() { + return this.user; + } + + /** + * Terminate the session with the Teamcenter Server + * + */ + public void logout() { + // Get the service stub + SessionService sessionService = SessionService.getService(connection); + try { + // ***************************** + // Execute the service operation + // ***************************** + sessionService.logout(); + } catch (ServiceException e) { + } + } + + /** + * Print some basic information for a list of objects + * + * @param objects + */ + public void printObjects(ModelObject[] objects) { + if (objects == null) + return; + + SimpleDateFormat format = new SimpleDateFormat("M/d/yyyy h:mm a", new Locale("en", "US")); // Simple no time zone + + // Ensure that the referenced User objects that we will use below are loaded + getUsers(objects); + + System.out.println("Name\t\tOwner\t\tLast Modified"); + System.out.println("====\t\t=====\t\t============="); + for (int i = 0; i < objects.length; i++) { + if (!(objects[i] instanceof WorkspaceObject)) + continue; + + WorkspaceObject wo = (WorkspaceObject) objects[i]; + try { + String name = wo.get_object_string(); + User owner = (User) wo.get_owning_user(); + Calendar lastModified = wo.get_last_mod_date(); + + System.out.println(name + "\t" + owner.get_user_name() + "\t" + format.format(lastModified.getTime())); + } catch (NotLoadedException e) { + // Print out a message, and skip to the next item in the folder + // Could do a DataManagementService.getProperties call at this point + System.out.println(e.getMessage()); + System.out.println("The Object Property Policy ($TC_DATA/soa/policies/Default.xml) is not configured with this property."); + } + } + + } + + private void getUsers(ModelObject[] objects) { + if (objects == null) + return; + + DataManagementService dmService = DataManagementService.getService(getConnection()); + + List unKnownUsers = new Vector(); + for (int i = 0; i < objects.length; i++) { + if (!(objects[i] instanceof WorkspaceObject)) + continue; + + WorkspaceObject wo = (WorkspaceObject) objects[i]; + + User owner = null; + try { + owner = (User) wo.get_owning_user(); + owner.get_user_name(); + } catch (NotLoadedException e) { + if (owner != null) + unKnownUsers.add(owner); + } + } + User[] users = (User[]) unKnownUsers.toArray(new User[unKnownUsers.size()]); + String[] attributes = { "user_name" }; + + // ***************************** + // Execute the service operation + // ***************************** + dmService.getProperties(users, attributes); + + } + +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/controller/ReceiveProjectCreateFolderController.java b/src/main/java/com/connor/rb/dwgtopdf/controller/ReceiveProjectCreateFolderController.java new file mode 100644 index 0000000..3f09357 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/controller/ReceiveProjectCreateFolderController.java @@ -0,0 +1,403 @@ +package com.connor.rb.dwgtopdf.controller; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.JSONPObject; +import com.connor.rb.dwgtopdf.pojo.OAProj; +import com.connor.rb.dwgtopdf.pojo.Result; +import com.connor.rb.dwgtopdf.savadataApplication; +import com.connor.rb.dwgtopdf.util.KUtil; +import com.connor.rb.dwgtopdf.util.LoginUtil; +import com.google.gson.JsonObject; +import com.teamcenter.schemas.soa._2006_03.exceptions.ServiceException; +import com.teamcenter.services.loose.core.ReservationService; +import com.teamcenter.services.loose.core._2006_03.FileManagement; + +import com.teamcenter.services.strong.cad.StructureManagementService; +import com.teamcenter.services.strong.cad._2007_01.StructureManagement; +import com.teamcenter.services.strong.core.FileManagementService; +import com.teamcenter.services.strong.query.SavedQueryService; +import com.teamcenter.services.strong.query._2007_09.SavedQuery; +import com.teamcenter.services.strong.workflow.WorkflowService; +import com.teamcenter.services.strong.workflow._2007_06.Workflow; +import com.teamcenter.soa.client.FileManagementUtility; +import com.teamcenter.soa.client.GetFileResponse; +import com.teamcenter.soa.client.model.*; +import com.teamcenter.soa.client.model.Property; +import com.teamcenter.soa.client.model.strong.*; + +import com.connor.rb.dwgtopdf.clientx.AppXSession; +import com.connor.rb.dwgtopdf.pojo.BatchConversion; +import com.connor.rb.dwgtopdf.pojo.DWGFile; +import com.teamcenter.services.strong.core._2010_04.DataManagement; +import com.teamcenter.services.strong.core.DataManagementService; +import com.teamcenter.soa.exceptions.NotLoadedException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.text.SimpleDateFormat; +import java.util.*; + +@RestController +@RequestMapping("/api") +public class ReceiveProjectCreateFolderController { + private static final Logger logger = LogManager.getLogger(ReceiveProjectCreateFolderController.class); + private final Object lock = new Object(); + private AppXSession session; + @Autowired + private LoginUtil loginUtil; + + @PostMapping("/getTCBOM") + public String getOAChangeStatic(@RequestBody String jsonstr) throws Exception { + + + + + JSONObject resultJson = new JSONObject(); + JSONObject parse = (JSONObject) JSON.parse(jsonstr); + System.out.println(jsonstr); + logger.info(jsonstr); + //获取uid+文件夹名称 + HashMap uidMap = new HashMap<>(); + String projectId = (String)parse.get("projectId"); + String type = (String)parse.get("type"); + System.out.println("projectId==============="+projectId); + + if(projectId == null || type == null){ + resultJson.put("code",-1); + resultJson.put("msg","入参不正确"); + return resultJson.toJSONString(); + } + + if(type.equals("1")){ + type = "成品"; + }else if(type.equals("2")){ + type = "冲压件"; + }else if(type.equals("3")){ + type = "全部"; + } + + + //获取登录 + System.out.println("开始登录"); + logger.info("开始登录"); + try { + session = loginUtil.loginTC(); + logger.info("登录成功"); + System.out.println("登录成功"); + } catch (Exception e) { + logger.error("登录失败",e); + System.out.println("登录失败"); + e.printStackTrace(); + resultJson.put("code",-1); + resultJson.put("msg","登录TC失败"); + return resultJson.toJSONString(); + } + + + + //定义查询 + SavedQueryService queryService = SavedQueryService.getService(session.getConnection()); + com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse savedQueries1 = queryService.getSavedQueries(); + DataManagementService dmService = DataManagementService.getService(session.getConnection()); + if (savedQueries1.queries.length == 0) { + throw new Exception("系统中没有保存的查询"); + } + ImanQuery query = null; + User user = null; + for (com.teamcenter.services.strong.query._2006_03.SavedQuery.SavedQueryObject queryObj : savedQueries1.queries) { + + if (queryObj.name.equals("Item...")) { + query = queryObj.query; + } + } + if (query == null) { + throw new Exception("没有找到查询:零组件 ID"); + } + + + SavedQuery.QueryInput queryInput = + new com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryInput(); + queryInput.query = query; + queryInput.entries = new String[] {"零组件 ID"}; + queryInput.values = new String[] {projectId}; + queryInput.maxNumToReturn = 2; + com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse queryResp = + queryService.executeSavedQueries( + new com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryInput[] {queryInput}); + //ThrowServiceDataError(queryResp.serviceData); + com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults queryResults = + queryResp.arrayOfResults[0]; + int cnt = queryResults.objectUIDS.length; + + System.out.println("cnt============"+cnt); + logger.info("查询个数============"+cnt); + //查到就把对象放到目录下 + + if (cnt > 0) { + //iterator.remove(); + + String userUid = queryResults.objectUIDS[0]; + ServiceData serviceData = dmService.loadObjects(new String[]{userUid}); + Item item = (Item)serviceData.getPlainObject(0); + dmService.getProperties(new ModelObject[]{item},new String[]{"revision_list"}); + ModelObject[] revision_list = item.get_revision_list(); + //获取最新发布版本 + ItemRevision latestReleasedRev = getLatestReleasedRev(dmService, item); + + //BOM全展开 + StructureManagementService service = StructureManagementService.getService(session.getConnection()); + ArrayList arrayList; + if(latestReleasedRev != null){ + arrayList = openBOMWindow((ItemRevision) revision_list[0]); + }else{//没取到发布版本,取最新版本 + arrayList = openBOMWindow((ItemRevision) revision_list[revision_list.length - 1]); + } + + BOMLine procTopLine = (BOMLine) arrayList.get(1); + // StructureManagement structureService = (StructureManagement)StructureManagementService.getService(connection); + com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsInfo levelInfo = new com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsInfo(); + com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsPref levelPref = new StructureManagement.ExpandPSAllLevelsPref(); + levelInfo.parentBomLines = new BOMLine[] { procTopLine }; //输入顶层BOMLine对象 + levelInfo.excludeFilter = "None"; + levelPref.expItemRev = false; + levelPref.info = new StructureManagement.RelationAndTypesFilter[0]; + com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsResponse levelResp = service.expandPSAllLevels(levelInfo, levelPref); + List bomlineList = new ArrayList(); + List itemRevList = new ArrayList(); + for (int i = 0; i < levelResp.serviceData.sizeOfPlainObjects(); i++) + { + ModelObject obj = levelResp.serviceData.getPlainObject(i); + BOMLine bomline = null; + ItemRevision itemrev = null; + //获取所有的BOMLine对象 + if (obj instanceof BOMLine) + { + bomline = (BOMLine)obj; + bomlineList.add(bomline); + } + else if (obj instanceof ItemRevision) + { + //获取当前BOM窗口中所有的版本对象 + itemrev = (ItemRevision)obj; + itemRevList.add(itemrev); + } + } + //属性批量预读 + + JSONArray array = new JSONArray(); + ArrayList judgeList = new ArrayList<>();//判断是否重复id + ServiceData resp = dmService.getProperties(bomlineList.toArray(new BOMLine[0]), new String[]{"bl_line_object","bl_item_item_id","bl_rev_object_name","bl_item_object_type","dy2_productType","dy2_partClass"});//范例,此处可以填入多个属性,建议<20个 + for (int i = 0; i < resp.sizeOfPlainObjects(); i++) + { + + BOMLine loadPropObj = (BOMLine)resp.getPlainObject(i); + // System.out.println("loadPropObj.get_bl_item_object_type()======="+loadPropObj.get_bl_item_object_type()); + if(loadPropObj.get_bl_item_object_type().equals("达亚图纸") || loadPropObj.get_bl_item_object_type().equals("Dy2_DYDesign")){ + // System.out.println("id====================="+loadPropObj.get_bl_item_item_id()); + JSONObject tempObject = new JSONObject(); + ItemRevision bl_line_object = (ItemRevision) loadPropObj.get_bl_line_object(); + if(type.equals("成品")){ + dmService.getProperties(new ModelObject[]{bl_line_object}, new String[]{"dy2_productType","dy2_partClass"}); + + if(bl_line_object.getPropertyDisplayableValue("dy2_partClass") != null && bl_line_object.getPropertyDisplayableValue("dy2_partClass").equals("成品")){ + if(!judgeList.contains(loadPropObj.get_bl_item_item_id())){ + tempObject.put("itemId",loadPropObj.get_bl_item_item_id()); + tempObject.put("itemName",loadPropObj.get_bl_rev_object_name()); + + tempObject.put("dy2_productType",bl_line_object.getPropertyDisplayableValue("dy2_productType")); + tempObject.put("dy2_partClass",bl_line_object.getPropertyDisplayableValue("dy2_partClass")); + + System.out.println("=========="+bl_line_object.getPropertyDisplayableValue("dy2_partClass")); + System.out.println("=========="+bl_line_object.getPropertyDisplayableValue("dy2_productType")); + + array.add(tempObject); + judgeList.add(loadPropObj.get_bl_item_item_id()); + } + } + }else if(type.equals("冲压件")){ + dmService.getProperties(new ModelObject[]{bl_line_object}, new String[]{"dy2_productType","dy2_partClass"}); + + if(bl_line_object.getPropertyDisplayableValue("dy2_productType") != null && bl_line_object.getPropertyDisplayableValue("dy2_productType").equals("冲压件")){ + if(!judgeList.contains(loadPropObj.get_bl_item_item_id())){ + tempObject.put("itemId",loadPropObj.get_bl_item_item_id()); + tempObject.put("itemName",loadPropObj.get_bl_rev_object_name()); + + tempObject.put("dy2_productType",bl_line_object.getPropertyDisplayableValue("dy2_productType")); + tempObject.put("dy2_partClass",bl_line_object.getPropertyDisplayableValue("dy2_partClass")); + + System.out.println("=========="+bl_line_object.getPropertyDisplayableValue("dy2_partClass")); + System.out.println("=========="+bl_line_object.getPropertyDisplayableValue("dy2_productType")); + + array.add(tempObject); + judgeList.add(loadPropObj.get_bl_item_item_id()); + } + } + }else if(type.equals("全部")){ + dmService.getProperties(new ModelObject[]{bl_line_object}, new String[]{"dy2_productType","dy2_partClass"}); + + if((bl_line_object.getPropertyDisplayableValue("dy2_productType") != null && bl_line_object.getPropertyDisplayableValue("dy2_productType").equals("冲压件")) || (bl_line_object.getPropertyDisplayableValue("dy2_partClass") != null && bl_line_object.getPropertyDisplayableValue("dy2_partClass").equals("成品"))){ + if(!judgeList.contains(loadPropObj.get_bl_item_item_id())){ + tempObject.put("itemId",loadPropObj.get_bl_item_item_id()); + tempObject.put("itemName",loadPropObj.get_bl_rev_object_name()); + + tempObject.put("dy2_productType",bl_line_object.getPropertyDisplayableValue("dy2_productType")); + tempObject.put("dy2_partClass",bl_line_object.getPropertyDisplayableValue("dy2_partClass")); + + System.out.println("=========="+bl_line_object.getPropertyDisplayableValue("dy2_partClass")); + System.out.println("=========="+bl_line_object.getPropertyDisplayableValue("dy2_productType")); + + array.add(tempObject); + judgeList.add(loadPropObj.get_bl_item_item_id()); + } + } + } + + + } + + } + if(array.size() == 0){ + resultJson.put("code",-1); + resultJson.put("msg","未查到数据"); + } + resultJson.put("code",200); + resultJson.put("boms",array); + System.out.println("取到"); + + }else{ + + resultJson.put("code",-1); + resultJson.put("msg","根据id未查到对象"); + + } + + + + + + + + logger.info("创建成功"); + return resultJson.toJSONString(); + } + + + + + + /** + * 根据版本打开BOM + * + * @param parentItemRev BOM顶层版本 + * @return 返回信息 0 BOMWindow 1 BOMLine + */ + public ArrayList openBOMWindow(ItemRevision parentItemRev) { + + ArrayList bomWindowandParentLine = new ArrayList<>(); + com.teamcenter.services.strong.cad._2007_01.StructureManagement.CreateBOMWindowsInfo[] createBOMWindowsInfo = new com.teamcenter.services.strong.cad._2007_01.StructureManagement.CreateBOMWindowsInfo[1]; + + + createBOMWindowsInfo[0] = new com.teamcenter.services.strong.cad._2007_01.StructureManagement.CreateBOMWindowsInfo(); + createBOMWindowsInfo[0].itemRev = parentItemRev; + com.teamcenter.services.strong.cad.StructureManagementService cadSMService = + com.teamcenter.services.strong.cad.StructureManagementService + .getService(session.getConnection()); + + com.teamcenter.services.strong.cad._2007_01.StructureManagement.CreateBOMWindowsResponse createBOMWindowsResponse = + cadSMService.createBOMWindows(createBOMWindowsInfo); +// cadSMService. +// cadSMService.d + if (createBOMWindowsResponse.serviceData.sizeOfPartialErrors() > 0) { + for (int i = 0; i < createBOMWindowsResponse.serviceData + .sizeOfPartialErrors(); i++) { + + System.out.println("Partial Error in Open BOMWindow = " + createBOMWindowsResponse.serviceData + .getPartialError(i).getMessages()[0]); + } + } + + bomWindowandParentLine.add(createBOMWindowsResponse.output[0].bomWindow);//BOMWindow + BOMLine bomLine = createBOMWindowsResponse.output[0].bomLine; + bomWindowandParentLine.add(bomLine); + return bomWindowandParentLine; + } + + + + /** + * 获取对象的最新发布版本 + * + * @param dataManagementService + * @param item + * @return + * @throws Exception + */ + public static ItemRevision getLatestReleasedRev(DataManagementService dataManagementService, Item item) throws Exception { + if (item == null) { + return null; + } + dataManagementService.refreshObjects(new ModelObject[]{item}); + ItemRevision[] revs = getReleasedRevs(dataManagementService, item); + if (revs == null || revs.length == 0) { + return null; + } + dataManagementService.getProperties(revs, new String[]{"item_revision_id"}); + ItemRevision baseRev = revs[0]; + for (int i = 0; i < revs.length; i++) { + ItemRevision temp = revs[i]; + if (temp.get_item_revision_id().compareTo(baseRev.get_item_revision_id()) > 0) { + baseRev = temp; + } + } + return baseRev; + } + + + /** + * 获取发布的版本 + * + * @param dataManagementService + * @param item + * @return + * @throws Exception + */ + private static ItemRevision[] getReleasedRevs(DataManagementService dataManagementService, Item item) throws Exception { + dataManagementService.refreshObjects(new ModelObject[]{item}); + dataManagementService.getProperties(new ModelObject[]{item}, new String[]{"revision_list"}); + ModelObject[] revs = item.get_revision_list(); + if (revs == null) { + return null; + } + List res = new ArrayList<>(); + dataManagementService.refreshObjects(revs); + dataManagementService.getProperties(revs, new String[]{"release_status_list"}); + for (int i = 0; i < revs.length; i++) { + ReleaseStatus[] rs = ((ItemRevision) revs[i]).get_release_status_list(); + if (rs != null && rs.length > 0) { + res.add((ItemRevision) revs[i]); + } + } + return res.toArray(new ItemRevision[]{}); + } + + +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/pojo/BatchConversion.java b/src/main/java/com/connor/rb/dwgtopdf/pojo/BatchConversion.java new file mode 100644 index 0000000..271d814 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/pojo/BatchConversion.java @@ -0,0 +1,49 @@ +package com.connor.rb.dwgtopdf.pojo; + +import java.util.List; + +/** + * 接收json信息类 + */ +public class BatchConversion { + + private String folderUid; + private String userId; + private List dwgFiles; + + public BatchConversion() { + } + + public String getFolderUid() { + return folderUid; + } + + public void setFolderUid(String folderUid) { + this.folderUid = folderUid; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public List getDwgFiles() { + return dwgFiles; + } + + public void setDwgFiles(List dwgFiles) { + this.dwgFiles = dwgFiles; + } + + @Override + public String toString() { + return "BatchConversion{" + + "folderUid='" + folderUid + '\'' + + ", userId='" + userId + '\'' + + ", dwgFiles=" + dwgFiles + + '}'; + } +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/pojo/DWGFile.java b/src/main/java/com/connor/rb/dwgtopdf/pojo/DWGFile.java new file mode 100644 index 0000000..5855b1b --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/pojo/DWGFile.java @@ -0,0 +1,48 @@ +package com.connor.rb.dwgtopdf.pojo; + +/** + * 文件信息类 + */ +public class DWGFile { + private String itemId; + private String fileName; + private String fileUid; + + public DWGFile() { + } + + public String getItemId() { + return itemId; + } + + + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileUid() { + return fileUid; + } + + public void setFileUid(String fileUid) { + this.fileUid = fileUid; + } + + @Override + public String toString() { + return "DWGFile{" + + "itemId='" + itemId + '\'' + + ", fileName='" + fileName + '\'' + + ", filePath='" + fileUid + '\'' + + '}'; + } +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/pojo/MessageEntry.java b/src/main/java/com/connor/rb/dwgtopdf/pojo/MessageEntry.java new file mode 100644 index 0000000..3cd2ead --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/pojo/MessageEntry.java @@ -0,0 +1,19 @@ +package com.connor.rb.dwgtopdf.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MessageEntry { + String itemPuid; + String datasetPuid; + String pdfPuid; + String stage; + String tcstatus; + String taskpuid; + String signinfos; + String tcrelation; +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/pojo/OAProj.java b/src/main/java/com/connor/rb/dwgtopdf/pojo/OAProj.java new file mode 100644 index 0000000..f35ea3e --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/pojo/OAProj.java @@ -0,0 +1,51 @@ +package com.connor.rb.dwgtopdf.pojo; + +public class OAProj { + private String itemId; + + private String releaseStatusList; + + private String dateReleased; + + public OAProj() { + } + + public OAProj(String item_id, String release_status_list, String date_released) { + this.itemId = item_id; + this.releaseStatusList = release_status_list; + this.dateReleased = date_released; + } + + public String getItemId() { + return itemId; + } + + public void setItemId(String itemId) { + this.itemId = itemId; + } + + public String getReleaseStatusList() { + return releaseStatusList; + } + + public void setReleaseStatusList(String releaseStatusList) { + this.releaseStatusList = releaseStatusList; + } + + public String getDateReleased() { + return dateReleased; + } + + public void setDateReleased(String dateReleased) { + this.dateReleased = dateReleased; + } + + @Override + public String toString() { + return "OAProj{" + + "item_id='" + itemId + '\'' + + ", release_status_list='" + releaseStatusList + '\'' + + ", date_released='" + dateReleased + '\'' + + '}'; + } +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/pojo/Project.java b/src/main/java/com/connor/rb/dwgtopdf/pojo/Project.java new file mode 100644 index 0000000..411e285 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/pojo/Project.java @@ -0,0 +1,49 @@ +package com.connor.rb.dwgtopdf.pojo; +/* + 接收JSONbean对象 + */ + +public class Project { + private String id; + private String objectName; + private String objectDesc; + private String ProjectType; + private String ProjectClass; + private String ActAsBU; + private String CooperateBU; + private String InvolvedBU; + private String planStartTime; + private String planEndTime; + private String TotalAmount; + private String PlanType; + private String ExpQuantity; + private String TargetPrice; + private String MoldCostModel; + private String DesCostModel; + private String PrDirection; + private String PrInvestment; + private String CustomerName; + private String CustIndCategory; + private String Location; + private String MainProducts; + private String MainCustGroups; + private String MainSuppliers; + private String BusiSituation; + private String CustStrength; + private String CustNature; + private String ResAnddeve; + private String TechnicalAspects; + private String ProductionAspect; + private String CostAspect; + private String MarketAspect; + private String ProtInitiationDate; + private String ProtManager; + + + + + + + + +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/pojo/Result.java b/src/main/java/com/connor/rb/dwgtopdf/pojo/Result.java new file mode 100644 index 0000000..898ccc5 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/pojo/Result.java @@ -0,0 +1,31 @@ +package com.connor.rb.dwgtopdf.pojo; + +public class Result { + private String result; + private String message; + + public Result(String result, String message) { + this.result = result; + this.message = message; + } + + public String getResult() { + return result; + } + public void setResult(String result) { + this.result = result; + } + public String getMessage() { + return message; + } + public void setMessage(String message) { + this.message = message; + } + @Override + public String toString() { + return "{" + + "result:'" + result + '\'' + + ", message:'" + message + '\'' + + '}'; + } +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/pojo/ServerSignoffEntry.java b/src/main/java/com/connor/rb/dwgtopdf/pojo/ServerSignoffEntry.java new file mode 100644 index 0000000..6853080 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/pojo/ServerSignoffEntry.java @@ -0,0 +1,234 @@ +package com.connor.rb.dwgtopdf.pojo; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.HashMap; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ServerSignoffEntry implements Serializable { + /**是否签名PDF,如果不是PDF则转换成PDF后进行签名*/ + //private static final long serialVersionUID = 5616797708079132230L; + private static final long serialVersionUID = -2266512137201278835L; + boolean issignpdf = true; + boolean isoriginalfilepdf = false; + boolean isoriginalfiledwg = false; + boolean isaddtask = false; + String ismergepdf; + boolean isdwgtopdf = false; + /**基地代号*/ + String tcdepartmentid; + /**tc中的数据集UID*/ + String tcdatasetuid ; + /**tc中的对象UID*/ + String tccomponentuid; + String tccomponentrelation; + String pdfuid; + /**tc中的签名后文件下挂到对象的关系*/ + String tcpdfrelation; + String tcoriginalname; + String tcoriginalext; + String tcoriginalfilename; + String tcpdffilename; + String tcsigninfofilename; + String dwgtype; + //pdf发布状态 + String tcstatus; + String taskpuid; + String picture; + String location; + HashMap signinfos; + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public boolean isIssignpdf() { + return issignpdf; + } + + public void setIssignpdf(boolean issignpdf) { + this.issignpdf = issignpdf; + } + + public boolean isIsoriginalfilepdf() { + return isoriginalfilepdf; + } + + public void setIsoriginalfilepdf(boolean isoriginalfilepdf) { + this.isoriginalfilepdf = isoriginalfilepdf; + } + + public boolean isIsoriginalfiledwg() { + return isoriginalfiledwg; + } + + public void setIsoriginalfiledwg(boolean isoriginalfiledwg) { + this.isoriginalfiledwg = isoriginalfiledwg; + } + + public boolean isIsaddtask() { + return isaddtask; + } + + public void setIsaddtask(boolean isaddtask) { + this.isaddtask = isaddtask; + } + + public String getIsmergepdf() { + return ismergepdf; + } + + public void setIsmergepdf(String ismergepdf) { + this.ismergepdf = ismergepdf; + } + + public boolean isIsdwgtopdf() { + return isdwgtopdf; + } + + public void setIsdwgtopdf(boolean isdwgtopdf) { + this.isdwgtopdf = isdwgtopdf; + } + + public String getTcdepartmentid() { + return tcdepartmentid; + } + + public void setTcdepartmentid(String tcdepartmentid) { + this.tcdepartmentid = tcdepartmentid; + } + + public String getTcdatasetuid() { + return tcdatasetuid; + } + + public void setTcdatasetuid(String tcdatasetuid) { + this.tcdatasetuid = tcdatasetuid; + } + + public String getTccomponentuid() { + return tccomponentuid; + } + + public void setTccomponentuid(String tccomponentuid) { + this.tccomponentuid = tccomponentuid; + } + + public String getTccomponentrelation() { + return tccomponentrelation; + } + + public void setTccomponentrelation(String tccomponentrelation) { + this.tccomponentrelation = tccomponentrelation; + } + + public String getPdfuid() { + return pdfuid; + } + + public void setPdfuid(String pdfuid) { + this.pdfuid = pdfuid; + } + + public String getTcpdfrelation() { + return tcpdfrelation; + } + + public void setTcpdfrelation(String tcpdfrelation) { + this.tcpdfrelation = tcpdfrelation; + } + + public String getTcoriginalname() { + return tcoriginalname; + } + + public void setTcoriginalname(String tcoriginalname) { + this.tcoriginalname = tcoriginalname; + } + + public String getTcoriginalext() { + return tcoriginalext; + } + + public void setTcoriginalext(String tcoriginalext) { + this.tcoriginalext = tcoriginalext; + } + + public String getTcoriginalfilename() { + return tcoriginalfilename; + } + + public void setTcoriginalfilename(String tcoriginalfilename) { + this.tcoriginalfilename = tcoriginalfilename; + } + + public String getTcpdffilename() { + return tcpdffilename; + } + + public void setTcpdffilename(String tcpdffilename) { + this.tcpdffilename = tcpdffilename; + } + + public String getTcsigninfofilename() { + return tcsigninfofilename; + } + + public void setTcsigninfofilename(String tcsigninfofilename) { + this.tcsigninfofilename = tcsigninfofilename; + } + + public String getDwgtype() { + return dwgtype; + } + + public void setDwgtype(String dwgtype) { + this.dwgtype = dwgtype; + } + + public String getTcstatus() { + return tcstatus; + } + + public void setTcstatus(String tcstatus) { + this.tcstatus = tcstatus; + } + + public String getTaskpuid() { + return taskpuid; + } + + public void setTaskpuid(String taskpuid) { + this.taskpuid = taskpuid; + } + + public String getPicture() { + return picture; + } + + public void setPicture(String picture) { + this.picture = picture; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public HashMap getSigninfos() { + return signinfos; + } + + public void setSigninfos(HashMap signinfos) { + this.signinfos = signinfos; + } +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/savadataApplication.java b/src/main/java/com/connor/rb/dwgtopdf/savadataApplication.java new file mode 100644 index 0000000..e565192 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/savadataApplication.java @@ -0,0 +1,29 @@ +package com.connor.rb.dwgtopdf; + + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; + + +@SpringBootApplication +public class savadataApplication { + + + public static String TC_FMSURL; + public static String TC_FCCCACH; + + public static String APP_ARGS[]; + + public static void main(String[] args) { + // ConfigurableApplicationContext run = SpringApplication.run(savadataApplication.class, args); + ConfigurableApplicationContext contenxt = SpringApplication.run(savadataApplication.class, args); + + + TC_FMSURL = contenxt.getEnvironment().getProperty("teamcenter.fmsurl"); + TC_FCCCACH = contenxt.getEnvironment().getProperty("teamcenter.fcccash"); + + } + +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/service/QuotationService.java b/src/main/java/com/connor/rb/dwgtopdf/service/QuotationService.java new file mode 100644 index 0000000..df1031a --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/service/QuotationService.java @@ -0,0 +1,52 @@ +//package com.connor.rb.dwgtopdf.service; +// +////import com.connor.rb.savadata.pojo.*; +// +//import com.alibaba.fastjson.JSONObject; +//import com.connor.rb.dwgtopdf.bean.SRMResultBean; +//import com.connor.rb.dwgtopdf.mapper.SRMMapper; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import java.util.ArrayList; +//import java.util.List; +// +////import com.teamcenter.soa.client.model.strong.Session; +////import com.teamcenter.services.strong.workflow.WorkflowService; +////import com.teamcenter.services.strong.workflow._2014_06.Workflow; +// +//@Service +//public class QuotationService { +// @Autowired +// private SRMMapper dataMapper; +// +// public List GetDrawingUrl(String factory, String wbs, String materialno, String versionall, String revision) throws Exception{ +// JSONObject result = new JSONObject(); +// +// List srmResultBeans = null; +// +// if(versionall != null && versionall.equals("Y")){ +// //所有版本 +//// List srmResultBeans1 = new ArrayList<>(); +//// srmResultBeans1.add(new SRMResultBean("1111111")); +//// srmResultBeans = srmResultBeans1; +// srmResultBeans = dataMapper.GetDrawingUrlAllVersion(wbs, materialno,factory); +// +// }else{ +// if(revision != null && !revision.isEmpty()){ +//// List srmResultBeans1 = new ArrayList<>(); +//// srmResultBeans1.add(new SRMResultBean("33333333")); +//// srmResultBeans1.add(new SRMResultBean("2222222")); +//// srmResultBeans = srmResultBeans1; +// //匹配版本 +// srmResultBeans = dataMapper.GetDrawingUrlVersion(wbs, materialno,revision,factory); +// }else{ +// //最新版本 +// srmResultBeans = dataMapper.GetDrawingUrlLatestVersion(wbs, materialno,factory); +// } +// } +// +// +// return srmResultBeans; +// } +//} diff --git a/src/main/java/com/connor/rb/dwgtopdf/util/AppConfig.java b/src/main/java/com/connor/rb/dwgtopdf/util/AppConfig.java new file mode 100644 index 0000000..0cc2ddc --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/util/AppConfig.java @@ -0,0 +1,23 @@ +package com.connor.rb.dwgtopdf.util; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class AppConfig { + + @Value("${tc.server}") + private String server; + + @Value("${tc.user}") + private String user; + + @Value("${tc.password}") + private String password; + + @Bean + public LoginUtil loginUtil() { + return new LoginUtil(server, user, password); + } +} diff --git a/src/main/java/com/connor/rb/dwgtopdf/util/KUtil.java b/src/main/java/com/connor/rb/dwgtopdf/util/KUtil.java new file mode 100644 index 0000000..d2bdcc2 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/util/KUtil.java @@ -0,0 +1,1229 @@ +package com.connor.rb.dwgtopdf.util; +//teamcenter.com/Schemas/Manufacturing/2018-11/StructureManagement + + +import com.connor.rb.dwgtopdf.clientx.AppXSession; +import com.teamcenter.services.loose.core._2006_03.FileManagement; +import com.teamcenter.services.strong.core.DataManagementService; +import com.teamcenter.services.strong.core.FileManagementService; +import com.teamcenter.services.strong.core.SessionService; +import com.teamcenter.services.strong.core._2007_01.DataManagement; +import com.teamcenter.services.strong.core._2007_12.Session; +import com.teamcenter.services.strong.query.SavedQueryService; +import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse; +import com.teamcenter.services.strong.query._2007_06.SavedQuery.ExecuteSavedQueriesResponse; +import com.teamcenter.services.strong.query._2007_06.SavedQuery.SavedQueryInput; +import com.teamcenter.services.strong.workflow.WorkflowService; +import com.teamcenter.services.strong.workflow._2008_06.Workflow; +import com.teamcenter.soa.client.Connection; +import com.teamcenter.soa.client.FileManagementUtility; +import com.teamcenter.soa.client.model.*; +import com.teamcenter.soa.client.model.Property; +import com.teamcenter.soa.client.model.strong.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + + +import java.io.*; +import java.util.*; + +//import com.teamcenter.services.internal.strong.query.SavedQueryService; +//import com.teamcenter.services.strong.manufacturing._2020_04. + +public class KUtil { + + private static Logger logger = LogManager.getLogger(KUtil.class); + private static User loginedUser; +// public static DataManagementService dmService; +// private static Map loadedObjects = new HashMap<>(); +// private static Map loadedQueries = new HashMap<>(); +// private static SavedQueryService queryService; +// private static AppXSession session; + + public static void main(String[] args) { + String s="JCXB-22-3-0047.BCD-368WP9B(B21317(D))样机匹配测试报告(HVM70MT a)国标.标准耗电量.综合耗电量.能效等级.储藏温度.冷冻能力.20220117.xlsx"; +// String substring = s.substring(0, 127); +// System.out.println(s.length()+substring); + + interception(string2Array(s),127); +// try { +//// getJsonString0("1002937","item"); +// } catch (IOException e) { +// e.printStackTrace(); +// } + } + public static String[] string2Array(String string) + { + String[] temp = new String[string.length()]; + for (int i = 0; i < temp.length; i++) { + temp[i] = string.substring(i,i+1); + } + return temp; + } + //创建发布流程 + public static void createProcess(String[] uids, String process_name, String process_temp) { + try { + com.teamcenter.soa.client.Connection connection = AppXSession.getConnection(); + System.out.println("process_temp:" + process_temp); + System.out.println("revisionUid:" + uids.length); + //创建流程 + WorkflowService wfService = WorkflowService.getService(connection); + + Workflow.ContextData contextData = new Workflow.ContextData(); + + String observerKey = ""; + String name = process_name; + String subject = ""; + String description = ""; + + contextData.processTemplate = process_temp; // update with your own ProcessTemplate. + contextData.subscribeToEvents = false; + contextData.subscriptionEventCount = 0; + contextData.attachmentCount = uids.length; + contextData.attachments = uids; + contextData.attachmentTypes = new int[]{1,1}; + //创建流程 + com.teamcenter.services.strong.workflow._2008_06.Workflow.InstanceInfo instanceInfo = + wfService.createInstance(true, observerKey, name, subject, description, contextData); + + System.out.println("创建流程完成!"); + } catch (Exception ex) { + System.out.println(ex.getMessage()); + } + } + + public static boolean serviceDataError(ServiceData data) { + return data.sizeOfPartialErrors() <= 0; + } + + public static ModelObject[] loadObjects(String[] ids, DataManagementService dmService) { + ServiceData sData = dmService.loadObjects(ids); + List lstObj = new ArrayList<>(16); + if (serviceDataError(sData)) { + for (int i = 0; i < sData.sizeOfPlainObjects(); i++) { + lstObj.add(sData.getPlainObject(i)); + } + } + return lstObj.toArray(new ModelObject[0]); + } + public static void setProperties(String objectId, String[] keys, + String[] values) { + if (keys.length != values.length) { + return; + } + DataManagementService dmService = DataManagementService.getService(AppXSession.getConnection()); + ModelObject[] obj = loadObjects(new String[]{objectId}, dmService); + if (obj.length == 0) { + return; + } + + Map ht = new HashMap<>(16); + + for (int i = 0; i < keys.length; i++) { + DataManagement.VecStruct vs = new DataManagement.VecStruct(); + vs.stringVec = new String[]{values[i]}; + ht.put(keys[i], vs); + } + + dmService.setProperties(new ModelObject[]{obj[0]}, ht); + + } + + /** + * 字符串按字节数截取 + * @param str + * @param n + */ + public static void interception(String[] str, int n) + { + int count = 0; + String m = "[\u4e00-\u9fa5]"; + System.out.println("以每" + n +"个字节划分的字符串如下所示:"); + for (int i=0; i < str.length; i++) { + if (str[i].matches(m)) { + //,计数器加2 + count += 2; + } else { + //,计数器加1 + count += 1; + } + //如果当前计数器的值小于n,则直接输出当前字符 + if (count < n) { + System.out.print(str[i]); + } else if (count == n) { + System.out.print(str[i]); + count = 0; + //满足n个字节后,就换行 + System.out.println(); + } else {//如果当前计数器count的值大于n,说明有汉子,换行输出,且此时计数器count=2 + System.out.println(); + System.out.print(str[i]); + count = 2; + } + } + } + private KUtil() { + + } + public static void upload(String filePath, DataManagementService dmService, Dataset dataset, String fmsurl, AppXSession session){ + + Connection connection = session.getConnection(); + System.out.println("开始上传文件"+dataset.getUid()); + FileManagementService service = FileManagementService.getService(connection); +// Connection connection = com.teamcenter.clientx.Session.getConnection(); + setByPass(true,session); + String[] url = { fmsurl }; + ModelObject[] mo = new ModelObject[]{dataset}; + dmService.refreshObjects(mo); + FileManagementUtility fm = null; + try { + fm = new FileManagementUtility(connection, null, null, url, null); + System.out.println(fm); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + FileManagement.DatasetFileInfo fileInfo = new FileManagement.DatasetFileInfo(); +// File file=new File(filePath); +// if(file.exists()) { +// +// } + fileInfo.fileName = filePath; + fileInfo.allowReplace = true; + fileInfo.isText = false; + fileInfo.namedReferencedName = "PDF_Reference";//"PDF_Reference"; + FileManagement.GetDatasetWriteTicketsInputData inputData = new FileManagement.GetDatasetWriteTicketsInputData(); + inputData.dataset = dataset; + inputData.createNewVersion = false; + inputData.datasetFileInfos = new FileManagement.DatasetFileInfo[]{fileInfo}; + ServiceData sd = fm.putFiles(new FileManagement.GetDatasetWriteTicketsInputData[]{inputData}); + try { + throwServiceDataError(sd); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + dmService.refreshObjects(mo); + System.out.println("上传文件完成"); + setByPass(false,session); + } + public static Dataset createDataset(ItemRevision revision, DataManagementService dmService, String name,AppXSession session) throws Exception { + Dataset dataset = null; + setByPass(true,session); + com.teamcenter.services.strong.core._2010_04.DataManagement.DatasetInfo[] datasetInfos = new com.teamcenter.services.strong.core._2010_04.DataManagement.DatasetInfo[1]; + datasetInfos[0] = new com.teamcenter.services.strong.core._2010_04.DataManagement.DatasetInfo(); + datasetInfos[0].name = name; + datasetInfos[0].type = "PDF"; + datasetInfos[0].description = "TCServerCreate"; + com.teamcenter.services.strong.core._2010_04.DataManagement.CreateDatasetsResponse response = dmService.createDatasets(datasetInfos); + dataset = response.datasetOutput[0].dataset; + com.teamcenter.services.strong.core._2006_03.DataManagement.Relationship[] + rela_vec = new com.teamcenter.services.strong.core._2006_03.DataManagement.Relationship[1]; + com.teamcenter.services.strong.core._2006_03.DataManagement.Relationship + one_rela = new com.teamcenter.services.strong.core._2006_03.DataManagement.Relationship(); + one_rela.clientId = ""; + one_rela.primaryObject = revision; + one_rela.secondaryObject = dataset; + one_rela.relationType = "IMAN_specification"; + one_rela.userData = null; + rela_vec[0] = one_rela; + +// com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsInfo levelInfo = new com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsInfo(); +// com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsPref levelPref = new com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsPref(); +// levelInfo.parentBomLines = new TCComponentBOMLine[] {bomLine}; //输入顶层BOMLine对象 +// levelInfo.excludeFilter="None"; +// levelPref.expItemRev = false; +// levelPref.info = new com.teamcenter.services.strong.cad._2007_01.StructureManagement.RelationAndTypesFilter[0]; +// //使用以下方法展开完整的BOM行 +// com.teamcenter.services.strong.cad._2007_01.StructureManagement.ExpandPSAllLevelsResponse levelResp = structureService.expandPSAllLevels(levelInfo, levelPref); + + //解除锁定对象 + dmService.refreshObjects2(new ModelObject[]{revision, dataset}, false); + + //创建关系 + com.teamcenter.services.strong.core._2006_03.DataManagement.CreateRelationsResponse + reResp = null; + int breakTime = 0; + boolean createSuccess = false; + while (!createSuccess){ + try { + reResp= dmService.createRelations(rela_vec); + createSuccess = true; + }catch (Exception e){ + createSuccess = false; + System.out.println("创建关系失败:"); + } + breakTime ++; + + Thread.sleep(1000); + + if(breakTime > 15){ + System.out.println("循环15秒创建关系依旧失败,不再创建关系"); + break; + } + } + System.out.println("开始更改所有者"); + //获取版本的所有者和所有组 + dmService.getProperties(new ModelObject[]{revision}, new String[]{"owning_user", "owning_group"}); + + User ownUser = (User) revision.get_owning_user(); + Group ownGroup = (Group) revision.get_owning_group(); + com.teamcenter.services.strong.core._2006_03.DataManagement.ObjectOwner objectOwner + = new com.teamcenter.services.strong.core._2006_03.DataManagement.ObjectOwner(); + objectOwner.object = dataset; + objectOwner.owner = ownUser; + objectOwner.group = ownGroup; + //更改所有者 + dmService.changeOwnership(new com.teamcenter.services.strong.core._2006_03.DataManagement.ObjectOwner[]{objectOwner}); + System.out.println("结束更改所有者"); + dmService.refreshObjects2(new ModelObject[]{revision, dataset}, false); + if (reResp!=null && reResp.serviceData.sizeOfPartialErrors() > 0) { + System.out.println("下挂数据集失败"); +// logger.info(String.format("对版本对象[%s]数据集对象[%s]下挂数据集失败[%s]")); + return null; + } + System.out.println("结束创建关系"); + setByPass(false,session); + return dataset; + } + +// public static boolean pasteDuplicate(AppXSession session,ItemRevision topRev,ItemRevision childRev ){ +// +// ArrayList topLines = openBOMWindow(topRev, session); +// +// BOMLine topLine = (BOMLine) topLines.get(1); +// ArrayList childs = openBOMWindow(childRev, session); +// +// BOMLine child = (BOMLine) childs.get(1); +// +// com.teamcenter.services.strong.manufacturing.StructureManagementService structureManagementService = +// com.teamcenter.services.strong.manufacturing.StructureManagementService.getService(session.getConnection()); +// com.teamcenter.services.strong.manufacturing._2009_10.StructureManagement.PasteDuplicateStructureResponse pasteDuplicateStructureResponse +// = structureManagementService.pasteDuplicateStructure +// (new ModelObject[]{child}, new ModelObject[]{topLine}, "Mfg0MEPlantBOP.Mfg0MEPlantBOP.PasteDuplicateTemplate", false); +// +// int i = pasteDuplicateStructureResponse.serviceData.sizeOfPartialErrors(); +// +// if(i==0){ +// return true; +// }else +// { +// System.out.println(pasteDuplicateStructureResponse.serviceData.getPartialError(0).getMessages()[0]); +// return false; +// } +//// return true; +// } + + public static void getJsonString1(String user_id,String item_id,String name) throws IOException { + + StringBuffer jsonString=new StringBuffer("{\\\"touser\\\":\\\""); + jsonString = jsonString.append(user_id); + + jsonString = jsonString.append("\\\",\\\"msgtype\\\":\\\"text\\\",\\\"agentid\\\":1000060,\\\"text\\\":{\\\"content\\\":\\\"您在PLM系统 进行的创建订单工艺完成 id 为"); + jsonString.append(item_id); + jsonString.append("--名称为 :"); + jsonString.append(name); + jsonString = jsonString.append("\\\"}}"); + + System.out.println(jsonString); + + String cmd = "java -jar C:\\PLM\\sendToWeixin.jar "+jsonString.toString(); + Process process= Runtime.getRuntime().exec(cmd); + InputStream inputStream = process.getInputStream(); + InputStreamReader reader=new InputStreamReader(inputStream); + BufferedReader bufferedReader=new BufferedReader(reader); + String line=null; + while ((line=bufferedReader.readLine())!=null){ + System.out.println(line); + } + } + + public static void getJsonString0(String user_id,String item_id,String name) throws IOException { + + StringBuffer jsonString=new StringBuffer("{\\\"touser\\\":\\\""); + jsonString = jsonString.append(user_id); + + jsonString = jsonString.append("\\\",\\\"msgtype\\\":\\\"text\\\",\\\"agentid\\\":1000060,\\\"text\\\":{\\\"content\\\":\\\"您在PLM系统 进行的克隆完成 id 为"); + jsonString.append(item_id); + jsonString.append("--名称为 :"); + jsonString.append(name); + jsonString = jsonString.append("\\\"}}"); + + System.out.println(jsonString); + + String cmd = "java -jar C:\\PLM\\sendToWeixin.jar "+jsonString.toString(); + Process process= Runtime.getRuntime().exec(cmd); + InputStream inputStream = process.getInputStream(); + InputStreamReader reader=new InputStreamReader(inputStream); + BufferedReader bufferedReader=new BufferedReader(reader); + String line=null; + while ((line=bufferedReader.readLine())!=null){ + System.out.println(line); + } + + + } +// public static void classificationOperate(String classId,ItemRevision item,Map classMap){ +//// item.get_IMAN_classification() +// System.out.println("开始发送到分类"); +// +// List propList = new ArrayList<>(); +// for (String attrId : classMap.keySet()) { +// String val = classMap.get(attrId); +// Classification.ClassificationProperty ico_prop = new Classification.ClassificationProperty(); +// ico_prop.attributeId =Integer.valueOf(attrId) ; // this value can be obtained with +// Classification.ClassificationPropertyValue ico_prop_value = new Classification.ClassificationPropertyValue(); +// ico_prop_value.dbValue = val; +// ico_prop.values = new Classification.ClassificationPropertyValue[] { ico_prop_value }; +// propList.add(ico_prop); +// } +// +// ClassificationService service = ClassificationService.getService(AppXSession.getConnection()); +// Classification.ClassificationObject co = new Classification.ClassificationObject(); +// if (propList.size() > 0) { +// co.properties = propList.toArray(new Classification.ClassificationProperty[] {}); +// } +//// Classification.ClassificationProperty ico_props = new Classification.ClassificationProperty(); +// co.classId = classId; +//// co.instanceId = "AngularVelocity_nm_degrees"; +//// co.properties = new Classification.ClassificationProperty[] { ico_props }; +// co.unitBase = "METRIC"; +// co.wsoId = item; +// +// +// try { +// refreshAndGetProperties(item,"IMAN_classification"); +// if(item.get_IMAN_classification().length==0){ +// Classification.CreateClassificationObjectsResponse classificationObjects = service.createClassificationObjects(new Classification.ClassificationObject[]{co}); +// +// if (classificationObjects.data.sizeOfPartialErrors() > 0) +// { +// for (int i = 0; i < classificationObjects.data +// .sizeOfPartialErrors(); i++) +// { +// System.out.println("Save class Partial Error -- "+classificationObjects.data +// .getPartialError(i).getMessages()[0]); +// } +// +// } +// }else { +// co.clsObjTag=item.get_IMAN_classification()[0]; +// Classification.UpdateClassificationObjectsResponse update= service.updateClassificationObjects(new Classification.ClassificationObject[]{co}); +// if (update.data.sizeOfPartialErrors() > 0) +// { +// for (int i = 0; i < update.data +// .sizeOfPartialErrors(); i++) +// { +// System.out.println("Save class Partial Error -- "+update.data +// .getPartialError(i).getMessages()[0]); +// } +// +// } +// } +// +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// public static void getProperties(AppXSession session, ModelObject item, String... propNames) throws Exception { +// if (item == null || KUtil.getLen(propNames) == 0) { +// return; +// } +// DataManagementService dmService = DataManagementService.getService(session.getConnection()); +// ServiceData resp = dmService.getProperties(new ModelObject[] { item }, propNames); +// throwServiceDataError(resp); +// } +// public static String[] GetPrefValues(String prefName, boolean requested) throws Exception { +// SessionService sessionService = SessionService.getService(AppXSession.getConnection()); +// com.teamcenter.services.strong.core._2007_01.Session.ScopedPreferenceNames sprefName = new com.teamcenter.services.strong.core._2007_01.Session.ScopedPreferenceNames(); +// sprefName.names = new String[] { prefName }; +// sprefName.scope = "site"; +// com.teamcenter.services.strong.core._2010_04.Session.MultiPreferenceResponse2 resp = sessionService.getPreferences2(new com.teamcenter.services.strong.core._2007_01.Session.ScopedPreferenceNames[] { sprefName }); +// com.teamcenter.services.strong.core._2010_04.Session.ReturnedPreferences2[] prefs = resp.preferences; +// if (prefs.length == 0) +// throw new Exception("+ prefName + "); +// String[] values = (prefs[0]).values; +// if (values == null || values.length == 0) +// throw new Exception("+ prefName + "); +// if (requested && (values[0] == null || "".equals(values[0]))) +// throw new Exception("+ prefName + "); +// return values; +// } +// bop 可以复制bom newid 新的对象 templateuid模板id +// public static boolean cloneTemplate(String newid, String newName, String templateUid, String cloneRule,String workflow,AppXSession session) throws Exception { +// DataManagementService dmService=DataManagementService.getService(session.getConnection()); +// System.out.println(templateUid+cloneRule); +// System.out.println(newid); +// ServiceData resultDate = dmService.loadObjects(new String[]{templateUid}); +// ItemRevision plainObject = (ItemRevision) resultDate.getPlainObject(0); +// Item items_tag=null; +// +// +// ServiceData resultDate1 = dmService.loadObjects(new String[]{newid}); +// ItemRevision plainObject1 = (ItemRevision) resultDate1.getPlainObject(0); +// try { +// refreshAndGetProperties(plainObject1,session,"items_tag"); +// items_tag = plainObject1.get_items_tag(); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// cloneRule=cloneRule.replace("=",""); +// ArrayList arrayList = openBOMWindow(plainObject1,session); +// +// +// ArrayList arrayList2 = openBOMWindow(plainObject,session); +// ModelObject modelObject = arrayList.get(0); +// ModelObject modelObject2 = arrayList2.get(0); +// System.out.println("start clone bop"); +// StructureManagementService service = StructureManagementService.getService(session.getConnection()); +// com.teamcenter.services.strong.manufacturing._2009_10.StructureManagement.CopyEBOPStructureResponse +// copyEBOPStructureResponse = service.copyEBOPStructure(items_tag, modelObject2, modelObject, "PlantBOPTemplate", false); +// ServiceData serviceData = copyEBOPStructureResponse.serviceData; +// +// dmService.unloadObjects(new ModelObject[]{plainObject1}); +// if (serviceData.sizeOfPartialErrors() > 0) +// { +// for (int i = 0; i < serviceData +// .sizeOfPartialErrors(); i++) +// { +// System.out.println("Save class Partial Error -- "+serviceData +// .getPartialError(i).getMessages()[0]); +// } +// +// return false; +// +// }else { +// +// System.out.println("克隆完成"); +// return true; +// +//// refreshAndGetProperties(plainObject1,"owning_user", "owning_group"); +////// dmService.getProperties(new ModelObject[]{revision}, new String[]{"owning_user", "owning_group"}); +//// +//// User ownUser = (User) plainObject1.get_owning_user(); +//// Group ownGroup = (Group) plainObject1.get_owning_group(); +//// +//// System.out.println("开始更改所有者"); +//// +//// System.out.println("结束更改所有者"); +// } +// } + +// public static void changeOwner(ModelObject object,User ownUser, Group ownGroup){ +//// String pa9 = ownUser.get_person().get_PA9(); +// try{ +// com.teamcenter.services.strong.core._2006_03.DataManagement.ObjectOwner objectOwner +// = new com.teamcenter.services.strong.core._2006_03.DataManagement.ObjectOwner(); +// objectOwner.object = object; +// objectOwner.owner = ownUser; +// objectOwner.group = ownGroup; +// //更改所有者 +// ServiceData serviceData = dmService.changeOwnership(new com.teamcenter.services.strong.core._2006_03.DataManagement.ObjectOwner[]{objectOwner}); +// if(serviceData.sizeOfPartialErrors()>0){ +// System.out.println("修改权限出错"+serviceData.getPartialError(0).getMessages()[0]); +// } +// }catch (Exception e){ +// e.printStackTrace(); +// } +// +// } + +// public static void workflow(String[] uid,String workflowName,String name,String userId,User user) throws Exception { //克隆完成通知 +//// String uid = rev.getUid(); +// //创建流程 +// WorkflowService wfService = WorkflowService.getService(AppXSession.getConnection()); +// Workflow.ContextData contextData = new Workflow.ContextData(); +//// wfService.addSignoffs() +//// com.teamcenter.services.strong.workflow._2013_05.Workflow.GetWorkflowTemplatesInputInfo +// String observerKey = ""; +//// name = name; +// String subject = ""; +// String description = ""; +// +// contextData.processTemplate = workflowName; // update with your own ProcessTemplate. +// contextData.subscribeToEvents = false; +// contextData.subscriptionEventCount = 0; +// contextData.attachmentCount = 1; +// contextData.attachments = uid ; +// contextData.attachmentTypes = new int[] { 1 }; +// contextData.processOwner = userId ; +// // (1 == 'EPM_target_attachment') - AttachmentTypes are defined in include / epm / epm.h +// //创建流程 +// Workflow.InstanceInfo instanceInfo = wfService.createInstance(true, observerKey, name, subject, description, contextData); +// ServiceData serviceData = instanceInfo.serviceData; +// if(serviceData.sizeOfPartialErrors()>0){ +// +// for(int j=0;j0){ +// EPMTask activeTask=null; +// for(int i = 0; i< serviceData.sizeOfCreatedObjects(); i++){ +// ModelObject createdObject = serviceData.getCreatedObject(i); +// refreshAndGetProperties(createdObject,"object_type"); +// String object_type = createdObject.getPropertyObject("object_type").getStringValue(); +// EPMJob job=null; +// System.out.println(object_type+"object_type"); +// if(createdObject instanceof EPMJob){ +// job=(EPMJob) createdObject; +// }else if (object_type.equals("EPMJob")){ +// job=(EPMJob) createdObject; +// } +// if(job!=null){ +// Workflow.Tasks allTasks = wfService.getAllTasks(job, -1); +// for(int t=0;t0){ +// System.out.println("创建关系出错"+reResp.serviceData.getPartialError(0)); +// } +// } + +// public static ItemRevision cloneTemplate(String newid, String newName, String templateUid, String cloneRule, RevisionRule useRule,String workflow,AppXSession session) { +//// RevisionRuleManager +// try { +// DataManagementService dmService = DataManagementService.getService(session.getConnection()); +// Connection connection = session.getConnection(); +//// connection.get +// System.out.println(connection.toString()); +//// setByPass(true,session); +// ServiceData resultDate = dmService.loadObjects(new String[]{templateUid}); +// ItemRevision plainObject = (ItemRevision)resultDate.getPlainObject(0); +// cloneRule=cloneRule.replace("=",""); +//// Folder home = loginedUser.get_newstuff_folder(); +// ArrayList arrayList = openBOPWindow(plainObject,session); +// ArrayList arrayList1 = openBOMWindow(plainObject,session); +// BOMLine bomLine =(BOMLine) arrayList.get(0); +// refreshAndGetProperties(bomLine,session,"bl_window","object_string"); +// BOMWindow bl_window =(BOMWindow) bomLine.get_bl_window(); +//// com.teamcenter.services.loose.manufacturing.StructureManagementService service = com.teamcenter.services.loose.manufacturing.StructureManagementService.getService(AppXSession.getConnection()); +// com.teamcenter.services.internal.loose.structuremanagement.StructureService structureService= +// com.teamcenter.services.internal.loose.structuremanagement.StructureService.getService(connection); +// System.out.println("copy start"); +// Structure.CopyRecursivelyResponse a = structureService.copyRecursively +// (plainObject, cloneRule, (BOMWindow)arrayList1.get(0) , bl_window, newName, "", newid, "A", false); +// ServiceData serviceData = a.serviceData; +// int i = serviceData.sizeOfPartialErrors(); +// if (i>0){ +// for(int t=0;t0){ +// +// ItemRevision createdObject =(ItemRevision)serviceData.getCreatedObject(0); +// return createdObject; +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// return null; +// } + +// public static void changeOwner(ItemRevision bomLine,User user,Group group,int i){ +//// dmService.re +//// System.out.println(bomLine.getUid()); +// try { +// refreshAndGetProperties(bomLine,"ps_children"); +// ModelObject[] bl_child_lines = bomLine.get_ps_children(); +// +// for(ModelObject line:bl_child_lines){ +// ItemRevision line1=(ItemRevision) line; +// refreshAndGetProperties(line1,"object_type"); +// String bl_occ_type = line1.get_object_type(); +// if(bl_occ_type.equals("MEConsumed")){ +// continue; +// }else { +//// ModelObject bl_item = line1.get_bl_item(); +//// ModelObject bl_revision = line1.get_bl_revision(); +//// changeOwner(bl_item,user,group); +// changeOwner(line1,user,group); +// changeOwner(line1,user,group,1); +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// +// } + +// public static void changeOwner(BOMLine bomLine,User user,Group group){ +//// dmService.re +//// System.out.println(bomLine.getUid()); +// try { +// refreshAndGetProperties(bomLine,"bl_child_lines"); +// ModelObject[] bl_child_lines = bomLine.get_bl_child_lines(); +// +// for(ModelObject line:bl_child_lines){ +// BOMLine line1=(BOMLine) line; +// refreshAndGetProperties(bomLine,"bl_occ_type","bl_item","bl_revision"); +// String bl_occ_type = line1.get_bl_occ_type(); +// if(bl_occ_type.equals("MEConsumed")){ +// continue; +// }else { +// ModelObject bl_item = line1.get_bl_item(); +// ModelObject bl_revision = line1.get_bl_revision(); +// changeOwner(bl_item,user,group); +// changeOwner(bl_revision,user,group); +// changeOwner(line1,user,group); +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// +// } + +// public static void addAllChildrenInBOM(ItemRevision parentObject, ItemRevision[] childObjects, ArrayList> alUpdateAttrs) throws Exception +// { +// ArrayList createBOMWindowsResponse = +// openBOMWindow(parentObject);//Open BOMWindow +// BOMWindow[] bomWindows = new BOMWindow[]{(BOMWindow) createBOMWindowsResponse.get(0)};//Get the BOMWINDOW +// BOMLine parentBOMLine = +// (BOMLine) createBOMWindowsResponse.get(1);//GET the Topline +//// parentBOMLine.getChil +// com.teamcenter.services.strong.core.DataManagementService dmService = +// com.teamcenter.services.strong.core.DataManagementService.getService(AppXSession.getConnection()); +// +// //Set the Child bomline to be added and their properties +// com.teamcenter.services.strong.bom._2008_06.StructureManagement.ItemLineInfo[] itmLineInfoArr = +// new com.teamcenter.services.strong.bom._2008_06.StructureManagement.ItemLineInfo[childObjects.length]; +// for (int i = 0; i < childObjects.length; i++) +// { +// itmLineInfoArr[i] = new com.teamcenter.services.strong.bom._2008_06.StructureManagement.ItemLineInfo(); +// itmLineInfoArr[i].itemRev = childObjects[i];//Add child object one by one +// if(alUpdateAttrs != null && alUpdateAttrs.size() > 0) +// { +// itmLineInfoArr[i].itemLineProperties +// = alUpdateAttrs.get(i);//This is map of properties and their values +// } +// } +// com.teamcenter.services.strong.bom._2008_06.StructureManagement.AddOrUpdateChildrenToParentLineInfo[] addChToParInfoArr = +// new com.teamcenter.services.strong.bom._2008_06.StructureManagement.AddOrUpdateChildrenToParentLineInfo[1]; +// addChToParInfoArr[0] = new com.teamcenter.services.strong.bom._2008_06.StructureManagement.AddOrUpdateChildrenToParentLineInfo(); +// addChToParInfoArr[0].items = itmLineInfoArr; +// addChToParInfoArr[0].parentLine = parentBOMLine; +// com.teamcenter.services.strong.bom.StructureManagementService bomSMService = +// com.teamcenter.services.strong.bom.StructureManagementService.getService(AppXSession.getConnection()); +// com.teamcenter.services.strong.bom._2008_06.StructureManagement.AddOrUpdateChildrenToParentLineResponse addUpdChToParResp = +// bomSMService.addOrUpdateChildrenToParentLine(addChToParInfoArr);//Add children +// if (addUpdChToParResp.serviceData.sizeOfPartialErrors() > 0) +// { +// System.out.println("Creating BOMLines : 003"+addUpdChToParResp.serviceData.getPartialError(0).getMessages()[0]); +// } +// saveBOMWindow(bomWindows[0]); +//// closeBOMWindow( bomWindows[0]); +// System.out.println("********************************** BOM Lines created successfully ********************************** "); +// } +// public synchronized static void saveBOMWindow(BOMWindow bomWindow) +// { +// com.teamcenter.services.strong.cad.StructureManagementService cadSMService = +// com.teamcenter.services.strong.cad.StructureManagementService.getService(AppXSession.getConnection()); +// com.teamcenter.services.strong.cad._2008_06.StructureManagement.SaveBOMWindowsResponse saveResponse = +// cadSMService.saveBOMWindows(new BOMWindow[]{bomWindow}); +// +// if (saveResponse.serviceData.sizeOfPartialErrors() > 0) +// { +// for (int i = 0; i < saveResponse.serviceData +// .sizeOfPartialErrors(); i++) +// { +// System.out.println("Save BOMWindow Partial Error -- "+saveResponse.serviceData +// .getPartialError(i).getMessages()[0]); +// } +// +// } +// } +// public synchronized static void closeBOMWindow(BOMWindow bomWindow) +// { +// try { +// com.teamcenter.services.strong.cad.StructureManagementService cadSMService +// = com.teamcenter.services.strong.cad.StructureManagementService +// .getService(AppXSession.getConnection()); +// StructureManagement.CloseBOMWindowsResponse response = null; +// if (cadSMService != null && bomWindow != null) +// { +// response = +// cadSMService.closeBOMWindows(new BOMWindow[] { bomWindow }); +// } +// if (response.serviceData.sizeOfPartialErrors() > 0) +// { +// for (int i = 0; i < response.serviceData +// .sizeOfPartialErrors(); i++) +// { +// System.out.println("Close BOMWindow Partial Error -- "+response.serviceData +// .getPartialError(i).getMessages()[0]); +// } +// } +// }catch (Exception e){ +// e.printStackTrace(); +// } +// +// } + +// public synchronized static void closeBOPWindow(ModelObject parentItemRev){ +// com.teamcenter.services.strong.manufacturing.DataManagementService service= +// com.teamcenter.services.strong.manufacturing.DataManagementService.getService(AppXSession.getConnection()); +// ServiceData serviceData = service.closeContexts(new ModelObject[]{parentItemRev}); +// int i = serviceData.sizeOfPartialErrors(); +// if(i>0){ +// System.out.println(serviceData.getPartialError(0)); +// } +// } + +// public static ArrayList openBOPWindow(ItemRevision parentItemRev,AppXSession session){ +// ArrayList bomWindowandParentLine = new ArrayList(3); +//// Release.CreatedBopWindowInfo bopWindowInfo=new Release.CreatedBopWindowInfo(); +//// DataManagementService service=DataManagementService.getService(AppXSession.getConnection()); +// com.teamcenter.services.loose.manufacturing._2011_06.DataManagement.OpenContextInput input= +// new com.teamcenter.services.loose.manufacturing._2011_06.DataManagement.OpenContextInput(); +// input.object=parentItemRev; +// com.teamcenter.services.loose.manufacturing.DataManagementService service= +// com.teamcenter.services.loose.manufacturing.DataManagementService.getService(session.getConnection()); +// com.teamcenter.services.loose.manufacturing._2011_06.DataManagement.OpenContextsResponse openContextsResponse = service.openContexts(new com.teamcenter.services.loose.manufacturing._2011_06.DataManagement.OpenContextInput[]{input}); +////service +// +// com.teamcenter.services.loose.manufacturing._2011_06.DataManagement.ContextGroup contextGroup = openContextsResponse.output[0]; +// ModelObject context = contextGroup.contexts[0].context; +// bomWindowandParentLine.add(context); +//// com.teamcenter.services.strong.manufacturing._2011_06.DataManagement. +//// service.createItems() +// return bomWindowandParentLine; +// } +// public static ArrayList openBOMWindow(ItemRevision parentItemRev,AppXSession session) +// { +// +// ArrayList bomWindowandParentLine = new ArrayList(3); +// StructureManagement.CreateBOMWindowsInfo[] createBOMWindowsInfo = new StructureManagement.CreateBOMWindowsInfo[1]; +// +// +// createBOMWindowsInfo[0] = new StructureManagement.CreateBOMWindowsInfo(); +// createBOMWindowsInfo[0].itemRev = (ItemRevision) parentItemRev; +// com.teamcenter.services.strong.cad.StructureManagementService cadSMService = +// com.teamcenter.services.strong.cad.StructureManagementService +// .getService(session.getConnection()); +// +// StructureManagement.CreateBOMWindowsResponse createBOMWindowsResponse = +// cadSMService.createBOMWindows(createBOMWindowsInfo); +// +// +// if (createBOMWindowsResponse.serviceData.sizeOfPartialErrors() > 0) +// { +// for (int i = 0; i < createBOMWindowsResponse.serviceData +// .sizeOfPartialErrors(); i++) { +// +// System.out.println("Partial Error in Open BOMWindow = "+createBOMWindowsResponse.serviceData +// .getPartialError(i).getMessages()[0]); +// } +// } +// +// bomWindowandParentLine.add(createBOMWindowsResponse.output[0].bomWindow);//BOMWindow +// bomWindowandParentLine.add(createBOMWindowsResponse.output[0].bomLine);//TOPLine in BOMWINDOW +// return bomWindowandParentLine; +// } + + +// public static void addToHomeFolder(ModelObject mo,AppXSession session) throws Exception { +// if (mo == null) { +// return; +// } +// refreshAndGetProperties(loginedUser,session,"home_folder"); +// Folder home = loginedUser.get_home_folder(); +// DataManagementService dmService = DataManagementService.getService(session.getConnection()); +// com.teamcenter.services.strong.core._2006_03.DataManagement.Relationship rel = new com.teamcenter.services.strong.core._2006_03.DataManagement.Relationship(); +// rel.primaryObject = home; +// rel.secondaryObject = mo; +// rel.relationType = "contents"; +// com.teamcenter.services.strong.core._2006_03.DataManagement.CreateRelationsResponse resp = dmService.createRelations(new com.teamcenter.services.strong.core._2006_03.DataManagement.Relationship[] { rel }); +// KUtil.throwServiceDataError(resp.serviceData); +// } + +// public static void setProperties(ModelObject mo, Map props) throws Exception { +// if (mo == null || props == null || props.size() == 0) { +// return; +// } +// Map tcProps = new HashMap<>(); +// for (String key : props.keySet()) { +// String val = props.get(key); +// DataManagement.VecStruct formVal = new DataManagement.VecStruct(); +// formVal.stringVec = new String[] { val }; +// tcProps.put(key, formVal); +// } +// DataManagementService dmService = DataManagementService.getService(session.getConnection()); +// ServiceData sd = dmService.setProperties(new ModelObject[] { mo }, tcProps); +// throwServiceDataError(sd); +// } +// public static ItemRevision createItemBySOA(String itemTypeName, String itemId, String name) throws Exception { +// if (KUtil.isEmpty(itemTypeName)) { +// return null; +// } +// CreateInput itemInput = new CreateInput(); +// Map itemPropMap = new HashMap(); +// itemInput.boName = itemTypeName; +// if (!KUtil.isEmpty(itemId)) { +// itemPropMap.put("item_id", itemId); +// } +// if (!KUtil.isEmpty(name)) { +// itemPropMap.put("object_name", name); +// } +// itemInput.stringProps = itemPropMap; +// // create info +// com.teamcenter.services.strong.core._2008_06.DataManagement.CreateIn cI = new com.teamcenter.services.strong.core._2008_06.DataManagement.CreateIn(); +// cI.clientId = "CreateItem"; +// cI.data = itemInput; +// // service +// DataManagementService service = DataManagementService.getService(session.getConnection()); +// // create +// CreateResponse resp = service.createObjects(new CreateIn[] { cI }); +// throwServiceDataError(resp.serviceData); +// CreateOut[] cOs = resp.output; +// if (cOs.length > 0) { +// for (ModelObject s : cOs[0].objects) { +// if (s instanceof ItemRevision) { +// return (ItemRevision) s; +// } +// } +// } +// return null; +// } + public synchronized static void throwServiceDataError(ServiceData serviceData) throws Exception { + if (serviceData.sizeOfPartialErrors() > 0) { + StringBuilder errInfo = new StringBuilder(); + for (int i = 0; i < serviceData.sizeOfPartialErrors(); i++) { + for (String msg : serviceData.getPartialError(i).getMessages()) { + errInfo.append(msg + "\n"); + } + } + // logger.error(errInfo); + throw new Exception(errInfo.toString()); + } + } +// public static void getChildTask(ScheduleTask fnd0SummaryTask, ArrayList child_tasks){ +// try { +// child_tasks.add(fnd0SummaryTask); +// KUtil.refreshAndGetProperties(fnd0SummaryTask, "child_task_taglist"); +// ScheduleTask[] child_task_taglist = fnd0SummaryTask.get_child_task_taglist(); +// for(ScheduleTask scheduleTask:child_task_taglist){ +// getChildTask(scheduleTask,child_tasks); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } + + public static void checkLogin() throws Exception { + if (loginedUser == null) { + throw new Exception("请先登录"); + } + } + + public static User getLoginUser() { + return loginedUser; + } + + public static void log(Logger logger, String format, Object... args) { + if (args == null || args.length == 0) { + logger.error(format); + } else { + logger.error(String.format(format, args)); + } + } + +// public static void log(Logger logger, String msg, Exception e) { +// logger.error(msg, e); +// } +// public static GroupMember findGroupMember(String group, String role, String userId) +// { +// ImanQuery query = null; +// GroupMember groupMember = null; +// +// SavedQueryService queryService = SavedQueryService.getService(session.getConnection()); +// DataManagementService dmService= DataManagementService.getService(session.getConnection()); +// try +// { +// GetSavedQueriesResponse savedQueries = queryService.getSavedQueries(); +// if (savedQueries.queries.length == 0) +// { +// System.out.println("There are no saved queries in the system."); +// return groupMember; +// } +// +// for (int i = 0; i < savedQueries.queries.length; i++) +// { +// +// if (savedQueries.queries[i].name.equals("__EINT_group_members")) +// { +// query = savedQueries.queries[i].query; +// break; +// } +// } +// } +// catch (ServiceException e) +// { +// System.out.println("GetSavedQueries service request failed."); +// System.out.println(e.getMessage()); +// return groupMember; +// } +// +// if (query == null) +// { +// System.out.println("There is not an '__EINT_group_members' query."); +// return groupMember; +// } +// +//// try +//// { +// com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput savedQueryInput[] = new com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput[1]; +// savedQueryInput[0] = new com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput(); +// savedQueryInput[0].query = query; +// savedQueryInput[0].entries = new String[3]; +// savedQueryInput[0].values = new String[3]; +// savedQueryInput[0].entries[0] = "Group"; +// savedQueryInput[0].values[0] = "*"; +// savedQueryInput[0].entries[1] = "Role"; +// savedQueryInput[0].values[1] = "*"; +// savedQueryInput[0].entries[2] = "User"; +// savedQueryInput[0].values[2] = userId; +// savedQueryInput[0].maxNumToReturn = 25; +// +// SavedQuery.SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput); +// SavedQuery.QueryResults found = savedQueryResult.arrayOfResults[0]; +// +// int length = found.objectUIDS.length; +// +// String[] uids = new String[length]; +// for( int ii = 0; ii < length; ii++) +// { +// uids[ii]= found.objectUIDS[ii]; +// } +// ServiceData sd = dmService.loadObjects(uids); +// ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()]; +// for( int k =0; k< sd.sizeOfPlainObjects(); k++) +// { +// foundObjs[k] = sd.getPlainObject(k); +// } +// groupMember = (GroupMember) foundObjs[0]; +//// } +//// catch (Exception e) +//// { +//// System.out.println("ExecuteSavedQuery service request failed."); +//// System.out.println(e.getMessage()); +//// } +// return groupMember; +// } + public synchronized static AppXSession login(String url, String user, String password) throws Exception { +// logger.error("登录到TC:" + user); + + String group = ""; + String role = ""; + System.out.println("new Session"); + AppXSession session = new AppXSession(url); +// System.out.println(session.toString()); +// loginedUser = null; + System.out.println("logstart"); + try { + + loginedUser = session.login(user, password, group, role); + + System.out.println("登陆成功"); + } catch (Exception e) { + e.printStackTrace(); +// logger.error("登录失败", e); + } + if (loginedUser == null) { +// loginedUser.get_home_folder() + throw new Exception("登录到Teamcenter失败"); + } +// dmService = DataManagementService.getService(session.getConnection()); +// queryService = SavedQueryService.getService(session.getConnection()); + Thread.sleep(1000); + return session; + } + + public static void getProperties(ModelObject modelObject,DataManagementService dmService, String... properties) throws Exception { +// loadedObjects.put(modelObject.getUid(), modelObject); + ServiceData resp = dmService.getProperties(new ModelObject[]{modelObject}, properties); + checkPartialError(resp); + } + + public static void refreshAndGetProperties(ModelObject modelObject,AppXSession session, String... properties) throws Exception { + DataManagementService dmService = DataManagementService.getService(session.getConnection()); + ServiceData resp = dmService.refreshObjects(new ModelObject[]{modelObject}); + checkPartialError(resp); + getProperties(modelObject,dmService, properties); + } + + + + public static void logoutAndClearCache2(AppXSession session) { + DataManagementService dmService = DataManagementService.getService(session.getConnection()); + if (loginedUser == null) { + return; + } + session.logout(); + + System.out.println("已结束"); + } + + public static void checkPartialError(ServiceData data) throws Exception { + if (data.sizeOfPartialErrors() > 0) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < data.sizeOfPartialErrors(); i++) { + for (String msg : data.getPartialError(i).getMessages()) { + sb.append(msg + "\r\n"); + } + } + if (sb.length() > 0) { + throw new Exception(sb.toString()); + } + } + } + + public synchronized static boolean isEmpty(String str) { + return str == null || "".equals(str.trim()); + } + + + public synchronized static void setByPass(boolean b,AppXSession session) { + Session.StateNameValue[] propPairs = new Session.StateNameValue[1]; + propPairs[0] = new Session.StateNameValue(); + propPairs[0].name = new String("bypassFlag"); + propPairs[0].value = new String(Property.toBooleanString(b)); + ServiceData data = SessionService.getService(session.getConnection()).setUserSessionState(propPairs); + try { + checkPartialError(data); + } catch (Exception e) { + e.printStackTrace(); + } + } + +// public static void setProperty(ModelObject mo, String propName, String propValue) throws Exception { +// Map properties = new HashMap<>(); +// DataManagement.VecStruct vec = new DataManagement.VecStruct(); +// vec.stringVec = new String[]{propValue}; +// properties.put(propName, vec); +// ServiceData sd = dmService.setProperties(new ModelObject[]{mo}, properties); +// checkPartialError(sd); +// } + +// public static List query(String queryName) throws Exception { +// SavedQueryService queryService = SavedQueryService.getService(session.getConnection()); +// ImanQuery query = null; +// GetSavedQueriesResponse savedQueries = queryService.getSavedQueries(); +// for (int i = 0; i < savedQueries.queries.length; i++) { +// if (!savedQueries.queries[i].name.equals(queryName)) +// { +// continue; +// } +// query = savedQueries.queries[i].query; +// break; +// } +// if (query == null) { +// System.out.println("There is not an " + queryName + " query."); +// return null; +// } +// List res = new ArrayList<>(); +// SavedQueryInput input = new SavedQueryInput(); +// input.query = query; +// input.resultsType = 0; +// ExecuteSavedQueriesResponse resp = queryService.executeSavedQueries(new SavedQueryInput[]{input}); +// checkPartialError(resp.serviceData); +// for (ModelObject e : resp.arrayOfResults[0].objects) { +// res.add(e); +// } +// return res; +// } + + public synchronized static List query(String queryName, String[] entries, String[] values,AppXSession session) throws Exception { + KUtil.log(logger, "执行查询 %s %s = %s", queryName, Arrays.toString(entries), Arrays.toString(values)); + SavedQueryService queryService = SavedQueryService.getService(session.getConnection()); + ImanQuery query = null; + GetSavedQueriesResponse savedQueries = queryService.getSavedQueries(); + for (int i = 0; i < savedQueries.queries.length; i++) { + if (!savedQueries.queries[i].name.equals(queryName)) + { + continue; + } + query = savedQueries.queries[i].query; + break; + } + if (query == null) { + System.out.println("There is not an " + queryName + " query."); + return null; + } + List res = new ArrayList<>(); + SavedQueryInput input = new SavedQueryInput(); + input.query = query; + input.entries = entries; + input.values = values; + input.resultsType = 0; + ExecuteSavedQueriesResponse resp = queryService.executeSavedQueries(new SavedQueryInput[]{input}); + checkPartialError(resp.serviceData); + for (ModelObject e : resp.arrayOfResults[0].objects) { + res.add(e); + } + return res; + } + + + public synchronized static int getLen(E[] arr) { + return arr == null ? 0 : arr.length; + } + + + public static String getMessage(Exception e) { + String message = e.getLocalizedMessage(); + if (KUtil.isEmpty(message)) { + message = e.getClass().getName() + " - 无详细信息"; + } + return message; + } + + +} \ No newline at end of file diff --git a/src/main/java/com/connor/rb/dwgtopdf/util/LoginUtil.java b/src/main/java/com/connor/rb/dwgtopdf/util/LoginUtil.java new file mode 100644 index 0000000..3ffbef3 --- /dev/null +++ b/src/main/java/com/connor/rb/dwgtopdf/util/LoginUtil.java @@ -0,0 +1,24 @@ +package com.connor.rb.dwgtopdf.util; + +import com.connor.rb.dwgtopdf.clientx.AppXSession; + + + +public class LoginUtil { + + private final String server; + private final String user; + private final String password; + + public LoginUtil(String server, String user, String password) { + this.server = server; + this.user = user; + this.password = password; + } + + public AppXSession loginTC() throws Exception { + AppXSession session = null; + session = KUtil.login(server, user, password); + return session; + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..3c6d9a1 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,22 @@ +server.port=8092 + +#tc.server=http://192.168.211.248:7003/tc +#tc.user=admin +#tc.password=Admin123! + + +tc.server=http://localhost:7001/tc +tc.user=admin +tc.password=admin + + +teamcenter.fmsurl: http://localhost:4544 +teamcenter.fcccash: D:/Siemens + +spring.datasource.url=jdbc:oracle:thin:@localhost:1521/tcprod +spring.datasource.name=infodba +spring.datasource.password=infodba +spring.datasource.driver-class-name=oracle.jdbc.OracleDriver +spring.datasource.hikari.minimum-idle=1 +spring.datasource.hikari.maximum-pool-size=5 +spring.datasource.hikari.auto-commit=true \ No newline at end of file diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml new file mode 100644 index 0000000..5d5f9fc --- /dev/null +++ b/src/main/resources/log4j2.xml @@ -0,0 +1,42 @@ + + + + D:/Siemens/log/presaleinfomation + presaleinfomation_log + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n + + + + + + ${pattern} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/java/com/connor/rb/dwgtopdf/SavadataApplicationTests.java b/src/test/java/com/connor/rb/dwgtopdf/SavadataApplicationTests.java new file mode 100644 index 0000000..5a648d4 --- /dev/null +++ b/src/test/java/com/connor/rb/dwgtopdf/SavadataApplicationTests.java @@ -0,0 +1,45 @@ +//package com.connor.rb.dwgtopdf; +// +//import com.alibaba.fastjson.TypeReference; +//import com.fasterxml.jackson.databind.ObjectMapper; +//import org.junit.jupiter.api.Test; +//import org.springframework.boot.test.context.SpringBootTest; +// +//import java.util.HashMap; +//import java.util.Map; +// +//@SpringBootTest +//class SavadataApplicationTests { +// +// @Test +// void contextLoads() { +// String jsonString = "{\"weibo\":\"https://weibo.com/leiqikui\",\"github\":\"https://github.com/leiqikui\",\"qq\":{\"number\":\"376601179\",\"email\":\"376601179@qq.com\"}}"; +// +// ObjectMapper objectMapper = new ObjectMapper(); +// Map map = new HashMap<>(); +// +// try { +// recursiveJsonToMap(jsonString, map); +// System.out.println(map); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// +// public static void recursiveJsonToMap(String jsonString, Map map) throws Exception { +// ObjectMapper objectMapper = new ObjectMapper(); +// Map jsonObject = objectMapper.readValue(jsonString, Map.class); +// +// for (Map.Entry entry : jsonObject.entrySet()) { +// String key = entry.getKey(); +// Object value = entry.getValue(); +// +// if (value instanceof Map) { +// recursiveJsonToMap(objectMapper.writeValueAsString(value), map); +// } else { +// map.put(key, value); +// } +// } +// } +// +//}