📄 addexpressionoperatorproperty.java
字号:
// +"<br>"+"h Hour in am/pm(1-12)"
// +"<br>"+"m Minute in hour"
// +"<br>"+"s Second in minute"
// +"<br>"+""
// +"<br>"+"E.g. 'yyyy/MM/dd hh:mm a' for 12/02/2001 12:20PM "
// +"</html>");
m_OperatorJCB[1].setToolTipText("<html>"
+ "<table border = \"0\" cellpadding=\"0\" cellspacing=\"4\">" +
"<tr><td align=\"center\"><b>Letter</b></td><td><b>Description</b></td></tr>"
+"<tr><td align=\"center\">y</td><td> Year</td></tr>"
+"<tr><td align=\"center\">M</td><td> Month in year</td></tr>"
+"<tr><td align=\"center\">d </td><td> Day in month</td></tr>"
+"<tr><td align=\"center\">E</td><td> Day in week</td></tr>"
+"<tr><td align=\"center\">a</td><td> Am/pm marker</td></tr>"
+"<tr><td align=\"center\">H</td><td> Hour in day(0-23)</td></tr>"
+"<tr><td align=\"center\">k </td><td> Hour in day(1-24)</td></tr>"
+"<tr><td align=\"center\">K </td><td> Hour in am/pm(0-11)</td></tr>"
+"<tr><td align=\"center\">h </td><td> Hour in am/pm(1-12)</td></tr>"
+"<tr><td align=\"center\">m </td><td> Minute in hour</td></tr>"
+"<tr><td align=\"center\">s </td><td> Second in minute</td></tr>"
+"<tr></tr>"
+"<tr><td colspan=\"2\" align=\"center\"><i>E.g. Use age(a3, \"yyyy/MM/dd hh:mm a\")</i></td></tr>"
+"<tr><td colspan=\"2\" align=\"center\"><i>for parsing 2001/02/13 12:20PM</i></td></tr>"
+"</html>");
//>> Franky Chan 23/03/2005
@SuppressWarnings("unused") JToolTip ageToolTip = new JToolTip();
}
else{
m_OperatorJCB[1].setToolTipText(null);
}
switch ( m_OperatorJCB[1].getSelectedIndex() ) {
case 0 : m_Expression.append(OPERATOR_LOG);
break;
case 1 : m_Expression.append(OPERATOR_ABS);
break;
case 2 : m_Expression.append(OPERATOR_EXP);
break;
case 3 : m_Expression.append(OPERATOR_SQRT);
break;
case 4 : m_Expression.append(OPERATOR_FLOOR);
break;
case 5 : m_Expression.append(OPERATOR_CEIL);
break;
case 6 : m_Expression.append(OPERATOR_INT);
break;
case 7 : m_Expression.append(OPERATOR_TAN);
break;
case 8 : m_Expression.append(OPERATOR_SIN);
break;
case 9 : m_Expression.append(OPERATOR_COS);
break;
case 10 : m_Expression.append(OPERATOR_AGE);
break;
default: break;
}
} else if (e.getSource() == m_OperatorJCB[2]) {
switch ( m_OperatorJCB[2].getSelectedIndex() ) {
case 0 : m_Expression.append(OPERATOR_EQ);
break;
case 1 : m_Expression.append(OPERATOR_NE);
break;
case 2 : m_Expression.append(OPERATOR_GE);
break;
case 3 : m_Expression.append(OPERATOR_GT);
break;
case 4 : m_Expression.append(OPERATOR_LE);
break;
case 5 : m_Expression.append(OPERATOR_LT);
break;
default: break;
}
} else if (e.getSource() == m_ButtonApply) {
if (setContent())
{
m_ParameterChanged = true;
// m_ParentPanel.getCaseWindow().setModified(true);
setPropertiesModified();
}
} else if (e.getSource() == m_ButtonReset) {
getContent();
} else if (e.getSource() == m_ButtonClose) {
close();
}
}
private boolean setContent() {
if(!validateProperty())
return false;
//<< added by Joyce 2005/03/17 to clear result
//((AddExpressionOperator) m_Operator).clearResult();
clearOperatorTempResult();
//>>
String newAttrName = null;
String expression = null;
String varindex = null;
String opindex = null;
String mathindex = null;
String funindex = null;
newAttrName = m_NewAttribute.getText().trim();
expression = m_Expression.getText().trim();
varindex = new Integer(m_AttributeVarJCB.getSelectedIndex()).toString();
opindex = new Integer(m_OperatorJCB[0].getSelectedIndex()).toString();
mathindex = new Integer(m_OperatorJCB[1].getSelectedIndex()).toString();
funindex = new Integer(m_OperatorJCB[2].getSelectedIndex()).toString();
m_Node.getParameters().remove("target");
m_Node.getParameters().remove("expression");
m_Node.getParameters().remove("Varindex");
m_Node.getParameters().remove("opindex");
m_Node.getParameters().remove("mathindex");
m_Node.getParameters().remove("funindex");
m_Node.setParameterValue("target", newAttrName);
m_Node.setParameterValue("expression", expression);
m_Node.setParameterValue("Varindex", varindex);
m_Node.setParameterValue("opindex", opindex);
m_Node.setParameterValue("mathindex", mathindex);
m_Node.setParameterValue("funindex", funindex);
setPropertiesModified();
return true;
}
//<< Added by Joyce
private boolean validateProperty(){
String message = "";
@SuppressWarnings("unused") boolean setFocus = false;
String newAttribute = m_NewAttribute.getText().trim();
if (newAttribute.length() <= 0) {
m_NewAttribute.requestFocus();
setFocus = true;
m_NewAttribute.setText(null);
message +=Resource.srcStr("NotEmptyMessage");
m_MessageDialog.showWarning(message, Resource.srcStr("InvalicInputMessage"));
return false;
}
MiningAttribute[] attributes = m_MetaData.getAttributesArray();
if (attributes.length > 1){
for (int i = 1; i < attributes.length; i ++ ){
String exitVar = attributes[i].getName();
if (exitVar.equals(m_NewAttribute.getText().trim())){
setFocus = true;
m_NewAttribute.setText(null);
message += Resource.srcStr("ExistingAttributeMessage");
m_MessageDialog.showWarning(message, Resource.srcStr("InvalicInputMessage"));
return false;
}
}
}
//New attribute cannot be any existing attribute
/*String expression = m_Expression.getText().trim();
if (expression.length() <= 0) {
if (!setFocus) {
m_Expression.requestFocus();
setFocus = true;
}
m_Expression.setText(null);
message += "Expression should not be empty\n";
MessageDialog.showWarning(message, "Invalid input value");
return false;
}*/
// if (!message.equals("")) {
// MessageDialog.showWarning(message, "Invalid input values");
// return false;
// } else
return true;
}
//>>
protected void initContent() throws MiningException
{
if (m_ParentOperators.size()>0)
{
Operator parentOp = (Operator)m_ParentOperators.elementAt(0);
if (parentOp.getOutputBIObject()!=null && parentOp.getOutputBIObject().getBIData()!=null)
{
m_MetaData = parentOp.getOutputBIObject().getBIData().getMetaData();
// m_msd = parentOp.getOutputBIObject().getBIData().getMiningStoredData();
}
if(m_MetaData==null){
throw new MiningException("Meta data of the node is null");
}
}
}
private void getContent(){
String value = null;
String name = null;
/*
* set values that independent of the parent node
*/
//<< added by Joyce 2005/03/02
// plus
value = (String) m_Node.getParameterValue("opindex");
if (value != null){
m_OperatorJCB[0].setSelectedIndex(new Integer(value).intValue());
}
else{
m_OperatorJCB[0].setSelectedIndex(0);
}
// log
value = (String) m_Node.getParameterValue("mathindex");
if (value != null ){
m_OperatorJCB[1].setSelectedIndex(new Integer(value).intValue());
}
else{
m_OperatorJCB[1].setSelectedIndex(0);
}
// eq
value = (String) m_Node.getParameterValue("funindex");
if (value != null ){
m_OperatorJCB[2].setSelectedIndex(new Integer(value).intValue());
}
else{
m_OperatorJCB[2].setSelectedIndex(0);
}
//>>>
value = (String) m_Node.getParameterValue("target");
if(value!=null)
m_NewAttribute.setText(value);
else
m_NewAttribute.setText("");
value = (String) m_Node.getParameterValue("expression");
if(value!=null)
m_Expression.setText(value);
else
m_Expression.setText("");
m_AttributeVarJCB.removeAllItems();
m_AttributeVarJCB.addItem(DEFAULT);
/*
* set value which is dependent of the parent node
*/
if (m_MetaData==null || m_Node==null)
return;
int m_Column = m_MetaData.getAttributesNumber();
if (m_Column==0)
return;
MiningAttribute[] miningAttributes = m_MetaData.getAttributesArray();
m_AttributeVarSymbol = new String [m_Column];
// m_AttributeVarJCB.removeAllItems();
// m_AttributeVarJCB.addItem(DEFAULT);
for (int i=0; i<m_Column; i++)
{
name = miningAttributes[i].getName();
m_AttributeVarSymbol[i] = "a"+ Integer.toString(i+1);
m_AttributeVarJCB.addItem(name +" (" +m_AttributeVarSymbol[i]+")");
}
//<< added by Joyce
String varindex = (String) m_Node.getParameterValue("Varindex");
if (varindex != null){
m_AttributeVarJCB.setSelectedIndex(new Integer(varindex).intValue());
}
else{
m_AttributeVarJCB.setSelectedIndex(0);
}
value = (String) m_Node.getParameterValue("expression");
if(value!=null)
m_Expression.setText(value);
else
m_Expression.setText("");
//>>
}
@SuppressWarnings("unused")
private String parseSelected(Boolean [] a_Selection){
String parsed = "";
for(int i=0; i<a_Selection.length; i++){
if(a_Selection[i].booleanValue()){
parsed+="1";
}else{
parsed+="0";
}
}
return parsed;
}
@SuppressWarnings("unused")
private Boolean [] parseSelected(String a_Selection){
Boolean [] selection = new Boolean[a_Selection.length()];
for(int i=0; i<a_Selection.length(); i++){
if(a_Selection.charAt(i)=='0'){
selection[i]= Boolean.FALSE;
}else {
selection[i]= Boolean.TRUE;
}
}
return selection;
}
public void resetLocale() {
m_ButtonApply.setText(Resource.srcStr("m_ButtonApply"));
m_ButtonReset.setText(Resource.srcStr("m_ButtonReset"));
m_ButtonClose.setText(Resource.srcStr("m_ButtonClose"));
String title = getTitle();
int index = title.indexOf('[');
title = Resource.srcStr("AddExpressionTitle")+title.substring(index);
setTitle(title);
DEFAULT = Resource.srcStr("VariableListItem");
m_AttributeVarJCB.removeAllItems();
m_AttributeVarJCB.addItem(DEFAULT);
m_NewAttributeLabel.setText(Resource.srcStr("m_NewAttributeLabel"));
((TitledBorder)attributeVarOuterPanel.getBorder()).setTitle(Resource.srcStr("AttributeVariable"));
((TitledBorder)operatorLeftOuterPanel.getBorder()).setTitle(Resource.srcStr("Operator"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -