📄 objectfactory.java
字号:
/**
* @Date: 2004-11-3
* @Author: jiadongz
* @E-mail: jiadong.zhu@agile.com
*/
package wsx.agile.com;
import java.util.HashMap;
import com.agile.api.*;
public class ObjectFactory {
private final String USERNAME = "yvonnec";
private final String PASSWORD = "agile";
private AgileSessionFactory sessionfactory = null;
private IAgileSession session = null;
public ObjectFactory(){
StringBuffer buffer = new StringBuffer();
buffer.append("********");
buffer.append(" Web Service eXtenstion begin working ");
buffer.append("********");
System.out.println(buffer.toString());
}
/**
* create object method
* @param type
* @return
*/
public String createObject(Object type) { //: Pass object type only
try {
this.session = connect();
IAgileClass subclass = session.getAdminInstance().getAgileClass(type);
//IAutoNumber[] autoNumbers = subclass.getAutoNumberSources();
//IAutoNumber oAutoNumber = autoNumbers[0];
//String number = "WSX" + oAutoNumber.getNextNumber();
String number = "WSX" +System.currentTimeMillis();
IAgileObject obj = (IAgileObject) session.createObject(subclass, number);
return obj.getName();
} catch (APIException e) {
return "api fail:" + e.getMessage();
} catch (Exception e) {
return "fail:" + e.getMessage();
} finally {
session.close();
}
}
public String createObject(Object type,String userId,String pwd) { //: Pass object type only
try {
this.session = connect(userId,pwd);
IAgileClass subclass = session.getAdminInstance().getAgileClass(type);
//IAutoNumber[] autoNumbers = subclass.getAutoNumberSources();
//IAutoNumber oAutoNumber = autoNumbers[0];
//String number = "WSX" + oAutoNumber.getNextNumber();
String number = "WSX" +System.currentTimeMillis();
IAgileObject obj = (IAgileObject) session.createObject(subclass, number);
return obj.getName();
} catch (APIException e) {
return "Api exception fail:" + e.getMessage();
} catch (Exception e) {
return "fail:" + e.getMessage();
} finally {
session.close();
}
}
public String createObject(Object type, String number) { //: Pass object type and number
try {
this.session = connect();
IAgileClass subclass = session.getAdminInstance().getAgileClass(type);
IAgileObject obj = (IAgileObject) session.createObject(subclass, number);
return obj.getName();
} catch (APIException e) {
return "fail:" + e.getErrorCode();
} catch (Exception e) {
return "fail:" + e.getMessage();
} finally {
session.close();
}
}
public String createSG(String userId,String pwd){
try {
this.session = connect(userId,pwd);
IAgileClass SGclass = session.getAdminInstance().getAgileClass(SubstanceConstants.CLASS_SUBSTANCE_GROUP);
IAutoNumber[] autoNumbers = SGclass.getAutoNumberSources();
IAutoNumber oAutoNumber = autoNumbers[0];
String number = "WSX" + oAutoNumber.getNextNumber();
HashMap map = new HashMap();
//CREATE substance
IAgileClass subclass = session.getAdminInstance().getAgileClass(SubstanceConstants.CLASS_SUBSTANCE);
IAutoNumber[] autoNumbers2 = subclass.getAutoNumberSources();
IAutoNumber oAutoNumber2 = autoNumbers2[0];
String number2 = "WSX" + oAutoNumber2.getNextNumber();
ISubstance sub = (ISubstance)session.createObject(subclass, number2);
map.put(SubstanceConstants.ATT_GENERAL_INFO_NAME, number);
map.put(SubstanceConstants.ATT_GENERAL_INFO_BASE_SUBSTANCE, sub);
IAgileObject obj = (IAgileObject) session.createObject(SGclass, map);
return obj.getName();
} catch (APIException e) {
return "fail:" + e.getErrorCode();
} catch (Exception e) {
return "fail:" + e.getMessage();
} finally {
session.close();
}
}
public String createDeclaration(Object type,String userId,String pwd){
try {
this.session = connect(userId,pwd);
IAgileClass subclass = session.getAdminInstance().getAgileClass(type);
IAutoNumber[] autoNumbers = subclass.getAutoNumberSources();
IAutoNumber oAutoNumber = autoNumbers[0];
String number = "WSX" + oAutoNumber.getNextNumber();
HashMap map = new HashMap();
map.put(DeclarationConstants.ATT_TITLE_BLOCK_NAME, number);
ISupplier supplier = (ISupplier) session.getObject(ISupplier.OBJECT_TYPE, "SUP11003");
map.put(DeclarationConstants.ATT_TITLE_BLOCK_SUPPLIER, supplier);
IAgileObject obj = (IAgileObject) session.createObject(subclass, map);
return obj.getName();
} catch (APIException e) {
return "fail:" + e.getErrorCode();
} catch (Exception e) {
return "fail:" + e.getMessage();
} finally {
session.close();
}
}
/**
* get method
* @param type
* @param number
* @return
*/
public String getObject(String Type, String number) { //: Pass object type and number
int type=Integer.parseInt(Type);
try {
this.session = connect();
IAgileObject obj = (IAgileObject) session.getObject(type, number);
return obj.getName();
} catch (APIException e) {
return "fail:" + e.getErrorCode();
} catch (Exception e) {
return "fail:" + e.getMessage();
} finally {
session.close();
}
}
private IAgileSession connect() throws Exception{
try{
sessionfactory = AgileSessionFactory.getInstance(null); //: get the instance from the Remote Server
HashMap map = new HashMap();
map.put(AgileSessionFactory.USERNAME,USERNAME);
map.put(AgileSessionFactory.PASSWORD,PASSWORD);
System.out.println("...implicated session...");
this.session = sessionfactory.createSession(null);
//System.out.println("...normal session...");
//this.session = sessionfactory.createSession(map);
}catch(APIException e){
System.out.println("Connect throws APIException : " + e.getErrorCode());
e.printStackTrace();
}
return this.session;
}
private IAgileSession connect(String uid,String pwd) throws Exception{
try{
sessionfactory = AgileSessionFactory.getInstance(null); //: get the instance from the Remote Server
HashMap map = new HashMap();
map.put(AgileSessionFactory.USERNAME,uid);
map.put(AgileSessionFactory.PASSWORD,pwd);
System.out.println("...implicated session...");
this.session = sessionfactory.createSession(null);
//System.out.println("...normal session...");
//this.session = sessionfactory.createSession(map);
}catch(APIException e){
System.out.println("Connect throws APIException : " + e.getErrorCode());
e.printStackTrace();
}
return this.session;
}
}///:~ ObjectFactory.java Ends
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -