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 APIGetRevisionRulesResponse revisionRules = managementService.getRevisionRules();
No comments:
Post a Comment