📄 samplingoperatorproperty.java
字号:
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 + -