📄 ibautil.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 + -