⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objectfactory.java

📁 Agile PLM公司的二次开发例子。 测试程序也就是二次开发例子。希望大家有用。里面有webservice的调用方法
💻 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 + -