0% found this document useful (0 votes)
144 views7 pages

QN A

Uploaded by

shubhamkolhe2794
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views7 pages

QN A

Uploaded by

shubhamkolhe2794
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 7

1. What is the difference between Object Reference and Version Reference.

2. What is RoleA and RoleB.


When a binarylink or relation between two objects is being created there are
some constraints for each role i.e for parent & child for that link.
which attaches both the object according to there business/real world
application.

3. What the various links between:

Part and Document


Part and EPMDocument
Part and Part
Document and Document
EPMDocument and EPMDocument
Problem Report and Change Request
ChangeRequest and Change Notice
Change Notice and Change Activity
Change Activity and Affected Objects
Change Activity and Resulting Objects

4. What are different type of attributes: Local, Global etc, explain differrence
between local and global attribute.
Modeled : modeled in Java class using @GeneratedProperty
Local or standard : stored directly in object's table and have only single
value
Global : is stored in different tables according to type and can be multi
valued
Calculated : calculated from some another attribute and
Alias : calculated from abo

5. Difference between Advanced and Basic lifecycle.

6. There are two lifecycles defined in org level: LCA and LCB, in productA, if part
is created, the part should follow LCA and if in productB a part is created it
should follow LCB. How to achieve it.

7. What is the three layered architecture of Windchill


Client , application , Database

8. What is the difference between JSP and Servlet, explain LC of Servlet.


: In Servlet we have to implement everything like business logic and
presentation logic in just one servlet file.

9. Name the DB tables for


Part : WTPART,
Document : WTDOCUMENT ,
Problem Report : WTCHANGEISSUE ,
Change Request :WTCHANGEREQ2,
Change Activity : changeactivity2
, CADDocument : EPMDocument,
Resulting object : changerecord2
Affected objects : relevantrequestdata2 . In which table attribute values are
stored, so suppose WTPart has one string type attribute,
so, in which table will the string attribute value will be stored?

10. Explain action framework, how do you identify actions and how is jsp recognized
for an action.
The abilty to configure new actions and actionModels in the system.

Identifying action :
Using jcaDebug
action*.xml and actionmodel*.xml contains model names and their respective
actions

Recognizing JSP:

implicit : when we use <objecttype name="document"> tag, it will create a


name space as well as packaging for that particular object in which jsp will be
stored
and the <action name = "create"> name is same as jsp.

explicit : under action tag when we use command or component tag we can
specify url attribute which will point the location at which we have store the jsp.
<command windowType="wizard_step"
url="netmarkets/jsp/com/philips/cplm/principalpicker/principalPickerCD_step.jsp"/>

11. What is a form processor, NMCommandBean, how a form processor is registered,


which api you extend and what are the different methods. Why a form processor is
used for.

Form Processor :

NmCommandBean :

Its what,where and how of the page in UI.


can be used to get text values input by user
HashMap<String, Object> textBox = nmCommandBean.getText();
<>

Registering Form Processor :


class can be associated with specific wizard step in command subtag as
<command class = "aa.bb.formProcessor">

API and Methods : custom formProcessor needs to be extended by


DefaultObjectFormProcessor
override public FormResult
doOperation(NmCommandBean nmCommandBean, List<ObjectBean> paramList)
postProcess(NmCommandBean clientData,
java.util.List<ObjectBean> objectBeans)
preProcess(NmCommandBean clientData,
java.util.List<ObjectBean> objectBeans)
postTransactionProcess(NmCommandBean
clientData,java.util.List<ObjectBean> objectBeans)

FormP
12. What is a datautility, which class to extend your datautility and explain the
registration process and also explain the methods of datautility.
Datauitily is a way by which we can show ui components values with some extra
modification as required to Business. ex : suppose business wants their orgs
initials infront of the object numbers in ui though those are stored as pure
number in DB.

to create DataUitlity we need to extend it by DefaultDaTaUtility and we need


to override getDataValue(paramString,paramobject,ParamModelContext)

to register data utilty we need to create a service in service.properties


with specific unique selector this selector will be used in <jca describeColumn
dataUtilityId ='selector'>
or by using setDataUtilityId on column config object,

while registering we give duplicate because This will create a new instance
of the data utility each time one is requested.
if given singleton every time this utilty is called it will not create a new
instance.

13. What is getDataValue, tell its parameters, what is the difference between
getDataValue and setmodelcontext method.

14. When to use setModelContext method of datautility?

15. How do you track events in windchill, suppose you want to know what is the
event generated when an object is revised?

16. What is WTObject, Persistable, Workable?

17. Explain the step by step procedure to write a listener for check in event.

18. What is StandardManager, what is the use of servermanager.


StandardManager is extended when we want to create custom event lisnter. and
it provides a instance of method server

19. What is the difference between Java Collection and Windchill WTCollection.

20. What is queryspec, which apis you have used to form a queryspec and execute it
to get the results from DB.

21. What is the MVC framework. What is the difference between JCA Table and MVC
Table.
MVC stands for model view controller. MVC allows us to separate the
development work for backend and frontend.
It provides us wth annotations and data builders so that we can render
appropriate data on jsp's using java apis.
JCA stand for Java clien architecture. Its a jsp tag based architecture in
which each tag represents a java class.
by using these tags we can show appropriate data on Ui
22. What are taglibraries that you used in your jsp development.

component
mvc
core for infoengine

23. Explain the complete process of using mvc table in Windchill, what were the
different methods you used and which class you extended?
--> in actions
--> Import taglib/mvc in jsp

--> add mvc:getComponentURL attribute in <jsp includePage tag>


<jsp:include page="$
{mvc:getComponentURL('custom.compatiblepart.reviewStepTable')}"
flush="true"></jsp:include>

-->add mvc-package in builder-scan base package in custom.xml so that server


can find our builder class using annotations
<mvc:builder-scan base-package="ext.philips.migration.validate"/>

--> create a builder class by annotating it with mvc.component's


@ComponentBuilder(value="custom.compatiblepart.reviewStepTable")
--> extend class with AbstractComponentBuilder
--> override the buildComponentConfig(ComponentParams arg0) and
buildComponentData(ComponentConfig config, ComponentParams params)
--> use NmCommandBean from JcaComponentparams to build data
--> buildComponentConfig(ComponentParams arg0)
-->ComponentConfigFactory
--> get jcaTableConfig = (JcaTableConfig)
compFactory.newTableConfig();
--> create columns from
compFactory.newColumnConfig(ColumnIdentifiers.NUMBER, true);

24. What are the APIs used for persisting object in windchill. What is the
difference between PersistenceServerHelper and PersistenceHelper
Persistable
Workable
PersistanceManager -->Interface
PerstanceHelper --> utilty methods for PersistanceManager
PersistableAdapter --> to find /update attributes values

PersistenceServerHelper --> This class implements helper methods for server


side PersistenceManagerSvr operations.
The PersistenceManagerSvr interface
identifies the set of PersistentManager methods that
are invokable only from classes
running in the method server

PersistenceHelper --> This class implements helper methods for


PersistenceManager operations.While all of the methods
declared by this interface execute
on the server,
they are accessable to client
application through a helper class i.e PersistenceHelper.
25. What is the difference between the below methods:

manager ==> PersistanceManager


The PersistenceManager interface identifies the set of methods that
applications use to manage the persistent state of their business objects.

PersistenceHelper is a utility class which contains utility methods


associated with the PersistenceManager.

PersistenceHelper.manager.save()
--> Invokes the modify method if the given object is persistent,
otherwise the save method invokes the store method.

PersistenceHelper.manager.modify()
--> Method of interface PersistanceManager --> Updates the given
Persistable object in the datastore
--> modify(Persistable obj, java.lang.String attrName, ObjectMappable
objAttr)
Updates the given Persistable object in the datastore with the
values specified in the ObjectMappable attribute.

PersistenceHelper.manager.store()
--> Stores the specified Persistable object in the datastore.

26. tell the various uses of the API: PersistableAdapter


-->it provides a standardized API for getting and setting the values of
hard (modeled) attributes,
global soft attributes (IBAs), standard soft attributes, alias
attributes, etc.
USES :
--> CREATE ==> by using set() and then persist()

--> RETRIEVE ==> load("attribute1") and then get()


load : Loads the values of the indicated
attributes into the object.
--> UPDATE ==> by using set()

apply()
Validate all loaded data against all loaded constraints.
Throws an exception if any constraint is violated.

27. Creating table using jca tags

--> import components tag in jsp <%@ taglib


uri="http://www.ptc.com/windchill/taglib/components" prefix="jca"%>

--> first we need to create frame of table for that we will use describetable
and describecolumn tags with setcomponentproperty tags
and we will declare varible var to call this table from other part of
jsp

<jca:describeTable var="partReport"
type="wt.doc.WTDocument"
id="partReportID"
label="Document Report Table_JCA"
configurable="true"
>
<jca:setComponentProperty key="selectable" value="true"/>
<jca:setComponentProperty key="variableRowHeight"
value="true"/>

<jca:describeColumn id="number"
dataUtilityId="describeDocumentReport" />
<jca:describeColumn id="name"
dataUtilityId="describeDocumentReport"/>

<jca:describeColumn id="IBA|ADWAccessControlData" />


<jca:describeColumn id="testAttribute" label="Test
Attribute Update" dataUtilityId="describeDocumentReport"/>

</jca:describeTable>

--> Then we have to get the data which we want to render in the above
described table for that we use getModel tag and we will call our custom class to
get the data
we will also pass the NMCommandBean as parameter to in this tag which
will be used by our class to get required info
we will provide var of above table as descrpter
<jca:getModel var="tableModel" descriptor="${partReport}"
serviceName="ext.philips.migration.validate.GenerateReportForPart1"
methodName="getDescribeDocumentForJcaTable" >
<jca:addServiceArgument value="${commandBean}"
type="com.ptc.netmarkets.util.beans.NmCommandBean" />

</jca:getModel>

--> after this we have to render the model in our table for that we will use
renderTable tag and give var of getModel as model in tage

<jca:renderTable model="${tableModel}" rowBasedObjectHandle="true"


showCount="true" showPagingLinks="false"/>

28. Associations

depending on if cad document provide attributes,representation or does it


drive the structure

Active

1. Owner : This association enables all functions: driving structure,


contributing (passing) attributes, and representation.
In other words, it indicates the primary representation that also drives the
structure and the majority of the attributes for the part.

2. Contributing Image :
This association combines representation and attribute passing. Although a
Contributing Image does not 'drive' structure,
it participates in the product structure of a parent object.
For example, a flexible component (cable) may occur, say, two times in an
assembly, but routed differently in each case.
While Creo Parametric requires separate model files for each routing, these
models can be associated to a single part.
One model file has an Owner link and the other has a Contributing Image link.

The resultant product structure would show two occurrences of a single part.
Association allows a maximum of one Owner link and one Contributing Image
link to a part.
However, additional configurations of the cable, if required, could be added
using an Image link.

3. Image : This association is for representation; for example, for copies of


the primary CAD representation used in other CAD systems, such as a Creo Parametric
CAD part model created from an Associated Topology Bus import of CATIA V5 data.
As with the Contributing Image link, an object with an Image link
participates in the parent product structure (but does not pass attributes).

4. Contributing Content : This association enables the passing of attributes


only and does not show in a product structure.

Passive(EPMDescribeLink)

1. content :
CAD document describes the part but does not drive structure, pass
attributes, nor provide a representation

You might also like