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

📄 addexpressionoperatorproperty.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//							+"<br>"+"h  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hour in am/pm(1-12)"
//							+"<br>"+"m  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Minute in hour"
//							+"<br>"+"s  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 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 + -