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

📄 ibautil.java

📁 PTC Windchill PDMLink IBA设置
💻 JAVA
字号:
package ext.altrust.util;

import java.io.PrintStream;
import java.util.*;
import wt.iba.definition.DefinitionLoader;
import wt.iba.definition.litedefinition.*;
import wt.iba.definition.service.IBADefinitionHelper;
import wt.iba.definition.service.IBADefinitionService;
import wt.iba.value.*;
import wt.iba.value.litevalue.AbstractValueView;
import wt.iba.value.litevalue.FloatValueDefaultView;
import wt.iba.value.litevalue.BooleanValueDefaultView;
import wt.iba.value.service.*;
import wt.session.SessionHelper;
import wt.session.SessionManager;
import wt.util.WTException;
import wt.util.WTPropertyVetoException;
import wt.util.WTProperties;

public class IBAUtil
{

    Hashtable ibaContainer;
    public static WTProperties wtproperties;
    public static boolean VERBOSE;
    static
    {
        wtproperties = null;
        try
        {
            wtproperties = WTProperties.getLocalProperties();
            VERBOSE = wtproperties.getProperty("ext.altrust.util.verbose", false);
        }
        catch(Throwable t)
        {
            throw new ExceptionInInitializerError(t);
        }
    }

    private IBAUtil()
    {
        ibaContainer = new Hashtable();
    }

    public IBAUtil(IBAHolder ibaholder)
    {
        initializeIBAPart(ibaholder);
    }

    public String toString()
    {
        StringBuffer stringbuffer = new StringBuffer();
        Enumeration enumeration = ibaContainer.keys();
        try
        {
            while(enumeration.hasMoreElements()) 
            {
                String s = (String)enumeration.nextElement();
                AbstractValueView abstractvalueview = (AbstractValueView)((Object[])ibaContainer.get(s))[1];
                stringbuffer.append(s + " - " + IBAValueUtility.getLocalizedIBAValueDisplayString(abstractvalueview, SessionHelper.manager.getLocale()));
                stringbuffer.append('\n');
            }
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
        return stringbuffer.toString();
    }

    public String getIBAValue(String s)
    {
        try
        {
            return getIBAValue(s, SessionHelper.manager.getLocale());
        }
        catch(WTException wte)
        {
            wte.printStackTrace();
        }
        return null;
    }

    /***
     * 获取IBA属性值
     */
    public String getIBAValue(String s, Locale locale)
    {
        //added by Eric Lin, 2004/10/26
        if (ibaContainer.get(s) == null)
        {
            if (VERBOSE)
                System.out.println(">> Attribute '"+s+"' is null.");
            return null;
        }

        //end of added by Eric.
    	
        AbstractValueView abstractvalueview = (AbstractValueView)((Object[])ibaContainer.get(s))[1];
        try
        {
            return IBAValueUtility.getLocalizedIBAValueDisplayString(abstractvalueview, locale);
        }
        catch(WTException wte)
        {
            wte.printStackTrace();
        }
        return null;
    }

    /***
     * added by Eric Lin, 2005/04/18
     * 获取布尔型的IBA属性值
     */
    public boolean getIBABooleanValue(String attrName)
    {
        boolean value=false;
        if (ibaContainer.get(attrName) == null)
        {
            if (VERBOSE)
                System.out.println(">> Attribute '"+attrName+"' is null.");
            return value;
        }
    	
        AbstractValueView abstractvalueview = (AbstractValueView)((Object[])ibaContainer.get(attrName))[1];
        String thisIBAClass = (abstractvalueview.getDefinition()).getAttributeDefinitionClassName();
        if ( thisIBAClass.equals("wt.iba.definition.BooleanDefinition") ) 
        {
            value = (boolean)((BooleanValueDefaultView)abstractvalueview).isValue();
            if (VERBOSE)
                System.out.println(">>Boolean value: "+value);
        }
        return value;
    }
    //end of added by Eric Lin
    
    private void initializeIBAPart(IBAHolder ibaholder)
    {
        ibaContainer = new Hashtable();
        try
        {
            ibaholder = IBAValueHelper.service.refreshAttributeContainer(ibaholder, null, SessionHelper.manager.getLocale(), null);
            DefaultAttributeContainer defaultattributecontainer = (DefaultAttributeContainer)ibaholder.getAttributeContainer();
            if(defaultattributecontainer != null)
            {
                AttributeDefDefaultView aattributedefdefaultview[] = defaultattributecontainer.getAttributeDefinitions();
                for(int i = 0; i < aattributedefdefaultview.length; i++)
                {
                    AbstractValueView aabstractvalueview[] = defaultattributecontainer.getAttributeValues(aattributedefdefaultview[i]);
                    if(aabstractvalueview != null)
                    {
                        Object aobj[] = new Object[2];
                        aobj[0] = aattributedefdefaultview[i];
                        aobj[1] = aabstractvalueview[0];
                        ibaContainer.put(aattributedefdefaultview[i].getName(), ((Object) (aobj)));
                    }
                }

            }
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
    }

    public IBAHolder updateIBAPart(IBAHolder ibaholder)
        throws Exception
    {
        ibaholder = IBAValueHelper.service.refreshAttributeContainer(ibaholder, null, SessionHelper.manager.getLocale(), null);
        DefaultAttributeContainer defaultattributecontainer = (DefaultAttributeContainer)ibaholder.getAttributeContainer();
        for(Enumeration enumeration = ibaContainer.elements(); enumeration.hasMoreElements();)
            try
            {
                Object aobj[] = (Object[])enumeration.nextElement();
                AbstractValueView abstractvalueview = (AbstractValueView)aobj[1];
                AttributeDefDefaultView attributedefdefaultview = (AttributeDefDefaultView)aobj[0];
                if(abstractvalueview.getState() == 1)
                {
                    defaultattributecontainer.deleteAttributeValues(attributedefdefaultview);
                    abstractvalueview.setState(3);
                    defaultattributecontainer.addAttributeValue(abstractvalueview);
                }
            }
            catch(Exception exception)
            {
                exception.printStackTrace();
            }

        ibaholder.setAttributeContainer(defaultattributecontainer);
        return ibaholder;
    }
    
    public IBAHolder updateIBAValue(IBAHolder ibaholder)
    {
	    	try
        {	
        		updateIBAPart(ibaholder);
						IBAValueDBService ibaSvr = IBAValueDBService.newIBAValueDBService();
						ibaSvr.updateAttributeContainer(ibaholder, null, SessionHelper.manager.getLocale(), null);

        }catch(Exception ee)
        {
        	ee.printStackTrace();
        } 
        return ibaholder;
    }
    
    public String getTodayString()
    {
    	String today="";
    	java.util.Calendar cal=java.util.Calendar.getInstance();
    	cal.add(Calendar.HOUR_OF_DAY,8);
    	int year = cal.get(Calendar.YEAR);
			int month = cal.get(java.util.Calendar.MONTH)+1;
			int day = cal.get(java.util.Calendar.DAY_OF_MONTH);
			int hour = cal.get(Calendar.HOUR_OF_DAY);
			int min = cal.get(Calendar.MINUTE);
			int ss = cal.get(Calendar.SECOND);
			String year_str,month_str,day_str,hour_str,min_str,ss_str;
			
			year_str = String.valueOf(year);
			month_str = month<10 ? "0" + String.valueOf(month) : String.valueOf(month);
			day_str = day<10 ? "0" + String.valueOf(day) : String.valueOf(day);
			hour_str = hour<10 ? "0" + String.valueOf(hour) : String.valueOf(hour);
			min_str = min<10 ? "0" + String.valueOf(min) : String.valueOf(min);
			ss_str = ss<10 ? "0" + String.valueOf(ss) : String.valueOf(ss);	
					
			today=year_str + "-" +  month_str + "-" + day_str + " " + 
						hour_str + ":" + min_str + ":" + ss_str ;
			return today;
    }

    public void setIBAValue(String s, String s1)
        throws WTPropertyVetoException
    {
        AbstractValueView abstractvalueview = null;
        AttributeDefDefaultView attributedefdefaultview = null;
        Object aobj[] = (Object[])ibaContainer.get(s);
        if(aobj != null)
        {
            abstractvalueview = (AbstractValueView)aobj[1];
            attributedefdefaultview = (AttributeDefDefaultView)aobj[0];
        }
        if(abstractvalueview == null)
            attributedefdefaultview = getAttributeDefinition(s);
        if(attributedefdefaultview == null)
        {
            System.out.println("definition is null ...");
            return;
        }
        abstractvalueview = internalCreateValue(attributedefdefaultview, s1);
        if(abstractvalueview == null)
        {
            System.out.println("after creation, iba value is null ..");
            return;
        } 
        else
        {
            abstractvalueview.setState(1);
            Object aobj1[] = new Object[2];
            aobj1[0] = attributedefdefaultview;
            aobj1[1] = abstractvalueview;
            ibaContainer.put(attributedefdefaultview.getName(), ((Object) (aobj1)));
            return;
        }
    }

    private AttributeDefDefaultView getAttributeDefinition(String s)
    {
        AttributeDefDefaultView attributedefdefaultview = null;
        try
        {
            attributedefdefaultview = IBADefinitionHelper.service.getAttributeDefDefaultViewByPath(s);
            if(attributedefdefaultview == null)
            {
                AbstractAttributeDefinizerView abstractattributedefinizerview = DefinitionLoader.getAttributeDefinition(s);
                if(abstractattributedefinizerview != null)
                    attributedefdefaultview = IBADefinitionHelper.service.getAttributeDefDefaultView((AttributeDefNodeView)abstractattributedefinizerview);
            }
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
        return attributedefdefaultview;
    }

    private AbstractValueView internalCreateValue(AbstractAttributeDefinizerView abstractattributedefinizerview, String s)
    {
        AbstractValueView abstractvalueview = null;
        if(abstractattributedefinizerview instanceof FloatDefView)
            abstractvalueview = LoadValue.newFloatValue(abstractattributedefinizerview, s, null);
        else
        if(abstractattributedefinizerview instanceof StringDefView)
            abstractvalueview = LoadValue.newStringValue(abstractattributedefinizerview, s);
        else
        if(abstractattributedefinizerview instanceof IntegerDefView)
            abstractvalueview = LoadValue.newIntegerValue(abstractattributedefinizerview, s);
        else
        if(abstractattributedefinizerview instanceof RatioDefView)
            abstractvalueview = LoadValue.newRatioValue(abstractattributedefinizerview, s, null);
        else
        if(abstractattributedefinizerview instanceof TimestampDefView)
            abstractvalueview = LoadValue.newTimestampValue(abstractattributedefinizerview, s);
        else
        if(abstractattributedefinizerview instanceof BooleanDefView)
            abstractvalueview = LoadValue.newBooleanValue(abstractattributedefinizerview, s);
        else
        if(abstractattributedefinizerview instanceof URLDefView)
            abstractvalueview = LoadValue.newURLValue(abstractattributedefinizerview, s, null);
        else
        if(abstractattributedefinizerview instanceof ReferenceDefView)
            abstractvalueview = LoadValue.newReferenceValue(abstractattributedefinizerview, "ClassificationNode", s);
        else
        if(abstractattributedefinizerview instanceof UnitDefView)
            abstractvalueview = LoadValue.newUnitValue(abstractattributedefinizerview, s, null);
        return abstractvalueview;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -