Object property policy is used to define what default properties are to be loaded when object is returned from Teamcenter Policy files are available at location TC_DATA/soa/policies/policyName.xml
Revision rules are used to expand BOM
How you get revision rule from Teamcenter by name ?
GetRevisionRulesResponse revisionRules = managementService.getRevisionRules();
Revision rules are used to expand BOM
How you get revision rule from Teamcenter by name ?
//strRevisionRule -> Revision Rule name //Revision Rules 'object_name' property must get loaded when we query revision rules from Teamcenter //So we use Object property policy private RevisionRule getRevisionRule(String strRevisionRule, Connection soaConnection ) throws Exception { if( strRevisionRule != null ) { String strTcSource = "RevisionRule";//Class of Revision Rule try { TcSOAUtil utilObj = new TcSOAUtil(); //ObjectPropertyPolicy available in package //com.teamcenter.soa.common ObjectPropertyPolicy objectPropertyPolicy = new ObjectPropertyPolicy(); PolicyType policyType = new PolicyType( strTcSource, new String[]{"object_name"}); //Statement says I need object_name property on //RevisionRule class object objectPropertyPolicy.addType( policyType ); //SessionService available in package //com.teamcenter.services.strong.core SessionService sessionService = SessionService.getService( soaConnection ); sessionService.setObjectPropertyPolicy( objectPropertyPolicy ); //Set object property policy } catch (Exception e) { throw new Exception(e.getMessage()); } //StructureManagementService available in package //com.teamcenter.services.strong.cad StructureManagementService managementService = StructureManagementService.getService( soaConnection ); try { //getRevisionRules API used to get all the //available revision rule GetRevisionRulesResponse revisionRules = managementService.getRevisionRules(); RevisionRuleInfo[] revisionRuleInfos = revisionRules.output; if( revisionRuleInfos != null ) { for ( RevisionRuleInfo revisionRuleInfo : revisionRuleInfos ) { if( revisionRuleInfo.revRule.get_object_name().equals( strRevisionRule ) ) return revisionRuleInfo.revRule; //Actual revision rule which is require } } } catch ( Exception e ) { throw new Exception(e.getMessage()); } } return null; }Explanation : Important API
GetRevisionRulesResponse revisionRules = managementService.getRevisionRules();
No comments:
Post a Comment