PLM之家PLMHome-国产软件践行者

Teamenter SOA开发源码:通过user ID 找 User

[复制链接]

2018-10-9 01:46:46 3288 0

admin 发表于 2018-10-9 01:46:46 |阅读模式

admin 楼主

2018-10-9 01:46:46

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
0 Y9 K7 m6 C6 g- \2 v
Teamenter SOA开发源码:通过user ID 找 User. m+ O  p1 M7 V% n4 U( y8 Z
: {1 `( M9 P. {: j& [9 h2 r
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
* r4 U/ m4 o  f; E  Nimport com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
. @7 k7 x+ w! b3 r! r" B1 K+ cimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;( j% I# B: `7 W
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
, c6 W# B7 a0 ^5 a8 Gimport com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
2 q! K6 r8 y2 i& b8 _% c. a; Dimport com.teamcenter.services.strong.core.DataManagementService;/ V& J8 N" z4 M0 c8 }6 @
import com.teamcenter.soa.client.model.ModelObject;1 M5 B' O! ~& _7 I8 X. G% A2 }; w% G0 M
import com.teamcenter.soa.client.model.ServiceData;
" {  s+ k1 n, Q6 a  o, Nimport com.teamcenter.soa.client.model.strong.ImanQuery;
( [- g* x9 M2 E  d: V/ D5 p! w. i; T( I0 Y
import com.teamcenter.soa.client.model.strong.User;
: i1 V2 e5 z# E5 Z4 m, m% M( a3 P1 B: A/ t

1 q4 n; U$ h+ }$ i+ m! h    public User findUser(String userId)
) z$ k0 M/ Y: h5 [( e4 D) ?    {! R2 U6 `* ]6 z; W/ X) X
        ImanQuery query = null;
' Q- _* M+ ^2 d5 @" I7 K        User user = null;$ I/ l( ?$ W1 v7 V3 m
        6 @% z+ t) g6 U5 u; p/ `; v' y
# C  I1 B. J8 F" h/ m
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
6 A% U. R- _+ f        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
. g- Q0 f( Z1 [+ _        . O) K, [' ^) g5 _
        try3 a9 N* Y* \0 o- U+ I
        {8 n: C! a& e; J% B5 |" h/ Z5 F: v
            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();' T0 r( h0 o* O3 {  p! U2 w
            if (savedQueries.queries.length == 0)8 ^& s3 e0 e4 B: ~! ?7 w: w
            {
4 h5 P2 s8 L/ G5 ^: a3 e                System.out.println("There are no saved queries in the system.");; k5 v3 O! m! u  }4 W, e/ j
                return user;
8 h7 U) S6 [% H9 U  A            }0 n6 V0 ^8 q# t& V  z
            7 L( r' G1 |" l8 x. {% p/ x- o
            for (int i = 0; i < savedQueries.queries.length; i++)
; [1 t/ K& x" {- ~            {
  P7 w9 Y, t$ O: K: p% Z' [" D) G% z# `0 m8 F
                if (savedQueries.queries.name.equals("__WEB_find_user"))
+ c+ x- }  @1 x! s                {/ u' S# Y+ c9 V- q  o1 N8 P% l9 `4 I
                    query = savedQueries.queries.query;# n5 t8 m! K  |0 V  `3 E4 {- E
                    break;
- T. U, p0 @: l) @/ _/ U                }
4 i% W4 N1 N+ o6 d            }
1 @/ x5 w7 d" A& o0 T* E/ a! |        }  s- d: \8 I+ E
        catch (ServiceException e)
$ T8 b: v: r. y  o0 z% f# X        {
/ B9 t$ E( O( e% W! L# H            System.out.println("GetSavedQueries service request failed.");
9 E4 l7 Z, d0 r$ A& M            System.out.println(e.getMessage());) Z7 I4 e- b* w: p6 [
            return user;' m& q6 L! K% ?' H2 y; H0 u! d; X- Z
        }
1 z: p9 K+ C- C2 ~$ b! M5 A
! k) g+ f% `2 d  t        if (query == null)
: i+ X# G" ?3 u8 o: s& P  a( T        {
% v$ S3 o7 |- c            System.out.println("There is not an '__WEB_find_user' query.");
4 v1 d; I, D* s: }6 I            return user;2 S$ J$ Q# n; R8 q
        }' i+ A5 E* |2 O* s. b, N# [
9 r( n3 K! [0 F( l( w4 P
        try
6 \# @9 F+ {; r1 k        {+ l" h7 ?8 \" [9 V; @$ r
            QueryInput savedQueryInput[] = new QueryInput[1];9 b+ U/ ?( e5 s" X' J! n& o
            savedQueryInput[0] = new QueryInput();4 ^- y; \) G; ~3 p
            savedQueryInput[0].query = query;) B& h7 s5 t/ D8 A
            savedQueryInput[0].entries = new String[1];
. N: s( s0 H9 D3 T            savedQueryInput[0].values = new String[1];
% u, X; E; B: T- U            savedQueryInput[0].entries[0] = "User ID" ;
3 {  j: c% r, B, @2 @( A            savedQueryInput[0].values[0] = userId;: [- ~9 R0 S7 a$ m$ G) `5 }3 U
            savedQueryInput[0].maxNumToReturn = 25;$ A: A) o) L* n; c
            / Y+ F' I7 D5 W1 w1 f
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);$ j& N; k- k" Z2 }7 h( S
            QueryResults found = savedQueryResult.arrayOfResults[0];
' u( ?/ c. c' V, T" C) O& E1 D+ B$ ?  P, s+ G  q' N; T
            int length = found.objectUIDS.length;* x9 B" T$ t% P0 }
            0 X! F" C9 f5 o% a/ A! w
            String[] uids = new String[length];$ P  K) k) l2 \
            for( int ii = 0; ii < length; ii++)
0 K* N$ N( A. b4 e, j# ~            {
. f% ~' _$ o5 W5 N6 |! b6 p                uids[ii]= found.objectUIDS[ii];  k4 D; F$ W- I7 @2 `( d
            }3 p" ?' J0 T0 b% G3 Z
            ServiceData sd = dmService.loadObjects(uids);3 g9 _: c8 K1 Z/ A) e. o+ T% P
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
" P& Z' Y% T) B- A1 h            for( int k =0; k< sd.sizeOfPlainObjects(); k++)$ C, h* m$ Q2 q# p% i; {3 `8 x
            {8 F6 q+ w( S4 _' Y# v0 G7 G' P  z! x
                foundObjs[k] = sd.getPlainObject(k);
+ ]# L* R) S9 R  S& o/ d% b            }$ y* t2 t7 u4 C
            user = (User) foundObjs[0];   
" u! k, |: ~% c7 g" L1 j        }
" {1 G- C/ ^$ Z$ ?. x- t# U        catch (Exception e)+ r( \4 u( x; r+ r, j5 C
        {% t7 v4 i* G4 s8 w3 g" M0 H9 h
            System.out.println("ExecuteSavedQuery service request failed.");
5 s2 @5 O: x. ?# ?* E# v            System.out.println(e.getMessage());* @. T& e( W0 {- i! q/ d
        }            6 j+ ~; R- v) w! }7 G( E4 _
        return user;
8 N5 ^' }, u8 f- S* K3 a& W    }
' ]. L, o, |; `" O. J5 o9 ^[/mw_shl_code]( k# |# A2 O  X3 N' |
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了