com.poscoict.glueframework.biz.activity
Class GlueJdbcSearch

java.lang.Object
  extended by com.poscoict.glueframework.biz.activity.GlueActivity<GlueContext>
      extended by com.poscoict.glueframework.biz.activity.GlueJdbcSearch

public class GlueJdbcSearch
extends GlueActivity<GlueContext>

Search Activity. GlueJdbcSearch Class는 특정 Select Query를 실행하고 그 결과값을 저장 하게 된다. Web화면과 NonUI 공통으로 사용되고 Binding Parameter Type은 Web인 경우 String []의 {0}번째로 Binding 하고 Web이 아닌 경우는 해당 Object를 Binding 한다.

 Activity Property
 
 - dao : (필수) applicationContext.xml의 DAO id.
 
 - sql-key : (필수) {name}-query.glue_sql의 query id 
 
 - param-count : (선택) Binding 할 개수 (select * from emp where deptno=?)의 "?" 수
 
 - param#(param0,param1...) : (선택) Binding Value ("?"와 순서 일치 하여야 함)
 
 - param-bindings : (선택) binding에 사용되는 값과 Mapping 되는 Key( bindName=ctxName[|bindName=ctxName] ).
         ctx의 key가 binding variable name과 같은 경우 생략(대소문자 구분).
         ctxName 은 Context의 Key.
 
 - result-key : (필수) Context에 담기는 Query 수행 결과 Key.
          [ default ] : {sql-key}_resultList
 
 - cache-key : (선택) 기존 Query 수행결과 존재유무 확인후 Query를 수행하도록 함.
 
 - cache-region : (선택) 기존 Query 수행결과 존재유무 확인후 Query를 수행하도록 함.
          [ default ] : _default-region (GlueCacheRegions.DEFAULT_REGION)
 
 - cache-manager : (선택) applicationContext.xml의 CacheManager id.
          기존 Query 수행결과 존재유무 확인후 Query를 수행하도록 함.
          [ default ] : cacheManager (GlueBizControlConstants.DEFAULT_CACHE_MANAGER_ID)
 
 
 
 예제
 사용 예# 1
 - 유형1 쿼리를 사용하는 경우
 
     <activity name="Find" class="com.poscoict.glueframework.biz.activity.GlueJdbcSearch">
         <property name="dao" value="testdao" />
         <property name="sql-key" value="emp.select" />
         <property name="param-count" value="1" />
         <property name="param0" value="DeptnoP" />
         <property name="result-key" value="EmpList" />
         <transition name="success" value="end" />
     </activity>
 
 
 사용 예# 2
 - 유형2 쿼리를 사용하는 경우
 
     <activity name="Find" class="com.poscoict.glueframework.biz.activity.GlueJdbcSearch">
         <property name="dao" value="testdao" />
         <property name="sql-key" value="emp.select.named" />
         <property name="param-bindings" value="deptno=DeptnoP" />
         <property name="result-key" value="EmpList" />
         <transition name="success" value="end" />
     </activity>
 
 
 사용 예# 3
 - 캐싱기능 포함 조회
 
     <activity name="Find" class="com.poscoict.glueframework.biz.activity.GlueJdbcSearch">
         <property name="dao" value="testdao" />
         <property name="sql-key" value="emp.select" />
         <property name="param-count" value="1" />
         <property name="param0" value="DeptnoP" />
         <property name="result-key" value="EmpList" />
         <property name="cache-key" value="static.emp.select.result" />
         <property name="cache-region" value="user.cache.region" />
         <property name="cache-manager" value="cacheManager" />
         <transition name="success" value="end" />
     </activity>
 
 
 
 참고 : {name}-query.glue_sql
 
     <query id="emp.select" desc="Type #1">
         <![CDATA[
               select EMPNO, ENAME, JOB, MGR, HIREDATE, SAL,DEPTNO
               from EMP
               where DEPTNO=?
         ]]>
     </query>
     <query id="emp.select.named" desc="Type #1" isNamed="true">
         <![CDATA[ 
               select EMPNO, ENAME, JOB, MGR, HIREDATE, SAL,DEPTNO
               from EMP
               where DEPTNO=:deptno
         ]]>
     </query>
 


Field Summary
 
Fields inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
dynamicProperties, logger
 
Constructor Summary
GlueJdbcSearch()
           
 
Method Summary
 String runActivity(GlueContext ctx)
          Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다.
 
Methods inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
commitTransaction, commitTransaction, getDao, getEventList, getName, getProperty, getPropertyNames, getTransition, rollbackTransaction, rollbackTransaction, setEventList, setName, setProperty, setTransition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GlueJdbcSearch

public GlueJdbcSearch()
Method Detail

runActivity

public String runActivity(GlueContext ctx)
Description copied from class: GlueActivity
Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다. 결과 값은 GlueContext에 담아서 다음 Activity 또는 F/W에 전달하게 된다. 필요한 모든 Data는 GlueContext에서 호출하여 사용하게 된다.

Specified by:
runActivity in class GlueActivity<GlueContext>
Parameters:
ctx - GlueContext
Returns:
String 정상적이면 "success"를 Return 하고 비정상 처리를 원하면 "failure"를 Return 한다.
 예) 
 <transition name="success" value="BizLogic"/>
 <transition name="failure" value="ErrorHandle"/>
 ==> return "success"이면 BizLogic Activity 를 실행함.
 


Copyright © 2013–2015 POSCO ICT SW제품기술팀. All rights reserved.