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

📄 samplingoperatorproperty.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		initContent();
		getContent();
	}

	public void stateChanged(ChangeEvent e) {
		if (e.getSource() == m_RadioRandom) {
			m_RandomSeedTF.setEnabled(m_RadioRandom.isSelected());
			m_SampleSizeSlider.setEnabled(m_RadioRandom.isSelected());
			m_OneInNSpinner.setEnabled(!m_RadioRandom.isSelected());
			m_FirstNSpinner.setEnabled(!m_RadioRandom.isSelected());

		} else if (e.getSource() == m_RadioOneInN) {
			m_RandomSeedTF.setEnabled(!m_RadioOneInN.isSelected());
			m_SampleSizeSlider.setEnabled(!m_RadioOneInN.isSelected());
			m_OneInNSpinner.setEnabled(m_RadioOneInN.isSelected());
			m_FirstNSpinner.setEnabled(!m_RadioOneInN.isSelected());

		} else if (e.getSource() == m_RadioFirstN) {
			m_RandomSeedTF.setEnabled(!m_RadioFirstN.isSelected());
			m_SampleSizeSlider.setEnabled(!m_RadioFirstN.isSelected());
			m_OneInNSpinner.setEnabled(!m_RadioFirstN.isSelected());
			m_FirstNSpinner.setEnabled(m_RadioFirstN.isSelected());

		} else {
			JSlider source = (JSlider) e.getSource();
			if (!source.getValueIsAdjusting()) {
				m_SliderValue = m_SampleSizeSlider.getValue();
				m_SampleSizeLabel.setText("Sample size (" + m_SliderValue
						+ "%)");
			}
		}
	}

	/**
	 * @see java.awt.event.ActionListener#actionPerformed(ActionEvent)
	 */
	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == m_ButtonApply) {

			if (setContent()) {
				m_ParameterChanged = true;
			}

		} else if (e.getSource() == m_ButtonReset) {
			getContent();

		} else if (e.getSource() == m_ButtonClose) {
			close();
		}
	}

	public boolean setContent() {
		if (!validateProperty())
			return false;
//		Operator op = m_ParentPanel.getOperator(m_NodeID);
	//	((SamplingOperator) op).clearResult();
		clearOperatorTempResult();
		
		int mode = -1;
		String randomSeed = null;
		String sampleSize = null;
		String nValue = null;
		String firstNValue = null;

		if (m_RadioRandom.isSelected()) {
			mode = SamplingOperator.RANDOM_SAMPLING;
			randomSeed = m_RandomSeedTF.getText();
			sampleSize = Integer.toString(m_SampleSizeSlider.getValue());

		} else if (m_RadioOneInN.isSelected()) {
			mode = SamplingOperator.ONE_IN_N_SAMPLING;
			nValue = ((Integer) m_OneInNSpinner.getValue()).toString();

		} else if (m_RadioFirstN.isSelected()) {
			mode = SamplingOperator.FIRST_N_SAMPLING;
			firstNValue = ((Integer) m_FirstNSpinner.getValue()).toString();
		}

		m_Node.getParameters().remove("mode");
		m_Node.getParameters().remove("randomSeed");
		m_Node.getParameters().remove("sampleSize");
		m_Node.getParameters().remove("nValue");
		m_Node.getParameters().remove("firstNValue");
		m_Node.setParameterValue("mode", Integer.toString(mode));

		randomSeed = m_RandomSeedTF.getText();
		sampleSize = Integer.toString(m_SampleSizeSlider.getValue());
		nValue = ((Integer) m_OneInNSpinner.getValue()).toString();
		firstNValue = ((Integer) m_FirstNSpinner.getValue()).toString();
		m_Node.setParameterValue("randomSeed", randomSeed);
		m_Node.setParameterValue("sampleSize", sampleSize);
		m_Node.setParameterValue("nValue", nValue);
		m_Node.setParameterValue("firstNValue", firstNValue);
		setPropertiesModified();
		return true;

	}

	private boolean validateProperty() {
		String message = "";
		boolean setFocus = false;

		int index = 0;

		if (m_RadioRandom.isSelected())
			index = 0;
		else if (m_RadioOneInN.isSelected())
			index = 1;
		else if (m_RadioFirstN.isSelected())
			index = 2;

		switch (index) {
		case 0:
			String seeds = m_RandomSeedTF.getText().trim();
			if (!ValueValidator.isNumber(seeds)
					|| !ValueValidator.largerThan(seeds, 1, true))
				message += Resource.srcStr("RandomSeedMessage");
			else if (!ValueValidator.isInteger(seeds))
				message += Resource.srcStr("RandomSeedMessage1");
			else
				break;

			if (!setFocus) {
				m_RandomSeedTF.requestFocus();
				setFocus = true;
			}
			m_RandomSeedTF.setText(null);
			m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
			return false;

		case 1:
			if (m_msd != null) {
				String one = m_OneInNSpinner.getModel().getValue().toString()
						.trim();
				if (!ValueValidator.isNumeric(one)
						|| !ValueValidator.largerThan(one, 1, true)
						|| !ValueValidator.smallerThan(one, m_msd
								.getVectorsNumber(), true)) {
					if (!setFocus) {
						m_OneInNSpinner.requestFocus();
						setFocus = true;
					}
					Object min = ((SpinnerNumberModel) m_OneInNSpinner
							.getModel()).getMinimum();
					((SpinnerNumberModel) m_OneInNSpinner.getModel())
							.setValue(min);
					message += Resource.srcStr("nValueMessage")
							+ m_msd.getVectorsNumber() + "\n";
					m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
					return false;
				}
			} else {
				String one = m_OneInNSpinner.getModel().getValue().toString()
						.trim();
				if (!ValueValidator.isNumeric(one)
						|| !ValueValidator.largerThan(one, 1, true)) {
					if (!setFocus) {
						m_OneInNSpinner.requestFocus();
						setFocus = true;
					}
					Object min = ((SpinnerNumberModel) m_OneInNSpinner
							.getModel()).getMinimum();
					((SpinnerNumberModel) m_OneInNSpinner.getModel())
							.setValue(min);
					message += Resource.srcStr("nValueMessage")
							+ m_msd.getVectorsNumber() + "\n";
					m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
					return false;
				}
			}

			break;

		case 2:
			if (m_msd != null) {
				String first = m_FirstNSpinner.getModel().getValue().toString()
						.trim();
				if (!ValueValidator.isNumeric(first)
						|| !ValueValidator.largerThan(first, 1, true)
						|| !ValueValidator.smallerThan(first, m_msd
								.getVectorsNumber(), true)) {
					if (!setFocus) {
						m_FirstNSpinner.requestFocus();
						setFocus = true;
					}
					m_FirstNSpinner.getModel().setValue(new Integer(1));
					message += Resource.srcStr("nValueMessage")
							+ m_msd.getVectorsNumber() + "\n";
					m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
					return false;
				}
			} else {
				String first = m_FirstNSpinner.getModel().getValue().toString()
						.trim();
				if (!ValueValidator.isNumeric(first)
						|| !ValueValidator.largerThan(first, 1, true)) {
					if (!setFocus) {
						m_FirstNSpinner.requestFocus();
						setFocus = true;
					}
					m_FirstNSpinner.getModel().setValue(new Integer(1));
					message += Resource.srcStr("nValueMessage")
							+ m_msd.getVectorsNumber() + "\n";
					m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
					return false;
				}
			}
			break;

		}

		//		if (message.trim().length()<= 0)
		return true;
		//		else{
		//		    MessageDialog.showWarning(message, "Invalid input values");
		//			return false;
		//		}

	}

	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");
			}
			if (m_msd == null) {
				throw new MiningException("Mining stored data of the node is null");
			}
		}
	}

	private void getContent() {

		String value = null;
		int mode = 0;
		//int size = m_msd.getVectorsNumber();

		//default
		m_RadioRandom.setSelected(true);
		m_RandomSeedTF.setText("1");
		m_SampleSizeSlider.setValue(50);
		SpinnerNumberModel spinnerModel1 = new SpinnerNumberModel();
		SpinnerNumberModel spinnerModel2 = new SpinnerNumberModel();
		spinnerModel1.setStepSize(new Integer(1));
		spinnerModel1.setMinimum(new Integer(1));
		spinnerModel1.setValue(new Integer(1));
		spinnerModel2.setStepSize(new Integer(1));
		spinnerModel2.setMinimum(new Integer(1));
		spinnerModel2.setValue(new Integer(1));
		m_OneInNSpinner.setModel(spinnerModel1);
		m_FirstNSpinner.setModel(spinnerModel2);

		value = (String) m_Node.getParameterValue("mode");
		if (value != null)
			mode = Integer.parseInt(value);

		switch (mode) {
		case 0:
			m_RadioRandom.setSelected(true);
			break;
		case 1:
			m_RadioOneInN.setSelected(true);
			break;
		case 2:
			m_RadioFirstN.setSelected(true);
			break;
		}

		value = (String) m_Node.getParameterValue("randomSeed");
		if (value != null)
			m_RandomSeedTF.setText(value);

		value = (String) m_Node.getParameterValue("sampleSize");
		if (value != null)
			m_SampleSizeSlider.setValue(Integer.parseInt(value));

		value = (String) m_Node.getParameterValue("nValue");
		if (value != null)
			m_OneInNSpinner.setValue(new Integer(value));

		value = (String) m_Node.getParameterValue("firstNValue");
		if (value != null)
			m_FirstNSpinner.setValue(new Integer(value));

	}

}

⌨️ 快捷键说明

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