|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* N6 d! _# m+ ]
Teamenter SOA开发源码:通过user ID 找 User# Z' q# z' k; Z, W' V
/ l' r$ t; K# [0 d9 F I/ W0 d3 v[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
& m9 B# U9 ?! ~import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;9 W+ u! G t, k+ l
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
8 G* Z' u* t; M n. jimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;$ l3 Q1 @! {& q Y: N, A6 X$ h8 }3 s
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults; |( C Y1 M% v/ M+ G( g8 w. l+ i; w7 O
import com.teamcenter.services.strong.core.DataManagementService;
- Y1 @4 Z6 N1 \. }$ ^import com.teamcenter.soa.client.model.ModelObject;. W$ Z. W% S, ~
import com.teamcenter.soa.client.model.ServiceData;: e! W; i( A- U9 @% V5 m0 X
import com.teamcenter.soa.client.model.strong.ImanQuery;0 Y' v/ D# G" y9 H
( ?: G# V" S0 Bimport com.teamcenter.soa.client.model.strong.User;
- ]5 }) Z2 L4 m2 u; f4 o, a' @( I, r
, z x4 |- _4 o! A9 b# C public User findUser(String userId)
" X7 V+ f5 M a& o {" H6 g* l3 k J% s* X4 }
ImanQuery query = null;
6 o8 c" L. u6 z1 ?3 K p User user = null;5 x, ?/ A9 G3 b/ k- y: n0 w; W# b
. c( e0 L" z' H6 W$ `" ]: I" j" Q* ]6 h, I* W
SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
, }8 i7 v6 I7 j! h; W [ DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());# q G" K2 H' O5 x
' \7 I2 R* ^1 n- O7 ~2 M3 S try( K2 x0 e1 F4 ?' h
{
: g2 C9 j3 W& t; s GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();" y- M- \; c9 w8 A
if (savedQueries.queries.length == 0)
% _3 W0 ]4 Q! K/ w3 p# U2 b {
3 s4 k6 ^- K+ l, S) i# U* @ System.out.println("There are no saved queries in the system.");
- r# E8 t, o, @* C: _ return user;, g2 X) c/ B3 e3 \4 K( U
}
' n! i9 @% J: [
) y, U1 l5 v J for (int i = 0; i < savedQueries.queries.length; i++)
6 C7 J. [) k/ ~ {7 W+ c5 J6 M P0 v# Y1 G# V1 v
. M8 V7 G$ ^2 J, [+ x* T
if (savedQueries.queries.name.equals("__WEB_find_user"))
; |6 K1 [( i" J/ t' {% g {. G9 g* P$ @$ q* m5 \
query = savedQueries.queries.query;, }; c! g6 x( L, C: A, Q& s0 [/ l
break;$ {; ^4 {4 }1 ]4 O
}
) |+ r9 `! [/ U& n! E, _4 Y4 S }% m0 V! a: ^* F9 ~% m
}4 z8 g* \7 q. U% [% s/ R, Z
catch (ServiceException e)' [6 R. j+ x3 z
{
+ S; @6 Z6 e6 h0 ^ System.out.println("GetSavedQueries service request failed.");3 H+ C3 \/ Z2 o+ \2 z' x
System.out.println(e.getMessage());7 o% I0 G. o- ~1 M! e' V" o0 q# M
return user;
, a" J. s }& {7 x$ _# u& r }
7 t" k4 \) g0 [8 m1 Y0 Q
" E/ P: k1 Z: L1 W if (query == null)
7 ?! s1 { V4 k7 _8 H* ] {
- `0 C n& J+ b0 ?# c System.out.println("There is not an '__WEB_find_user' query.");
: ^- ~# r; u* j return user;- Y( S, \+ s, f: g- s) R
}
- O" I6 d6 [& ]1 v. F6 p8 Y" |" K+ y2 b4 Z2 ~
try
$ R1 R O7 d3 P {
4 Q7 I- i4 q: T7 B6 M2 \ QueryInput savedQueryInput[] = new QueryInput[1];) z2 R% E6 r# {
savedQueryInput[0] = new QueryInput();# ?8 O% \+ H8 d( r* C7 B8 B+ h
savedQueryInput[0].query = query;$ F& j) s( e0 v( ?& J& b3 s
savedQueryInput[0].entries = new String[1];, X2 D3 E \* K
savedQueryInput[0].values = new String[1];1 Y! h) R2 }2 D3 x3 j
savedQueryInput[0].entries[0] = "User ID" ;$ ^/ y! [! ^/ E, `! d5 H: P: D
savedQueryInput[0].values[0] = userId;" ?0 Y$ B1 d- c: E
savedQueryInput[0].maxNumToReturn = 25;+ r, p" _! }' |' l# I7 f* q
/ O& [# R! z. [9 N. ~ T$ c/ \/ E SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
2 v( F+ C" F. d& ` QueryResults found = savedQueryResult.arrayOfResults[0];+ F! e6 u$ ]2 b9 I1 q, M# \: i
7 _9 i5 O' H! n+ m. T% ^
int length = found.objectUIDS.length;! U8 ?: d6 o) a) P3 }
: j8 f9 g$ R% t. Y y' s String[] uids = new String[length];* o8 P: X7 |( |- X8 ]4 h! w* J9 R
for( int ii = 0; ii < length; ii++) Z f0 u$ e+ j3 v0 y6 F$ \
{. Z( y. d+ P) ?5 {& Y
uids[ii]= found.objectUIDS[ii];
0 q8 b6 }2 P0 e. R' w }
9 Y& Q7 G6 E$ i ServiceData sd = dmService.loadObjects(uids);
7 x% E# m* m% N( c* r% E- ]7 E' c ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];2 o% n& s- z1 K8 I! A: t C8 ]5 ^2 p* v
for( int k =0; k< sd.sizeOfPlainObjects(); k++), \- j! I/ Q! B9 N; H+ O% V, Y
{/ Z/ q- M9 z% y
foundObjs[k] = sd.getPlainObject(k);
2 B( B& y; v& i4 ~ X }6 p# ]0 `/ l5 Z4 D6 w! h' U6 J
user = (User) foundObjs[0];
0 l/ Z. U$ B! G' m/ E) u }
- N; T6 k2 x! L& {" m catch (Exception e) w2 `- Z9 m% }& g
{
) [2 Z A: {! @" N7 H$ T4 w4 p System.out.println("ExecuteSavedQuery service request failed.");7 @$ A) G( ~7 I# Y y; i# M
System.out.println(e.getMessage());6 [( D. |, f8 G& \
}
7 q/ h% t0 H- q( ?& r) A5 G- S return user;4 X1 Z: {. ^% t) R8 R
}
! {0 O4 d' i( f/ E2 s/ z7 U7 Q$ z[/mw_shl_code]1 z7 l) }# O. i+ v4 k
|
|