\r
import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.cdm.model.description.FeatureTree;\r
-import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.description.WorkingSet;\r
import fr_jussieu_snv_lis.XPApp;\r
import fr_jussieu_snv_lis.base.Base;\r
import fr_jussieu_snv_lis.base.Individual;\r
import fr_jussieu_snv_lis.base.Mode;\r
import fr_jussieu_snv_lis.base.Variable;\r
+import fr_jussieu_snv_lis.utils.Utils;\r
\r
/**\r
* @author a.mueller\r
* @see fr_jussieu_snv_lis.base.IControlerBase#matchModes(fr_jussieu_snv_lis.base.Individual, fr_jussieu_snv_lis.base.Variable, java.util.List, int)\r
*/\r
@Override\r
- public boolean matchModes(Individual ind, Variable var, List<Mode> modes,\r
- int operator) {\r
+ public boolean matchModes(Individual ind, Variable var, List<Mode> modes, int operator) {\r
logger.warn("matchModes Not yet implemented");\r
return false;\r
}\r
public Mode createNewMode(Variable va, String name) {\r
Mode newMode = new Mode(name);\r
\r
- boolean hasChanged = addModeToVariable(newMode, va); // Add the new Mode to the list f Mode of the Variable\r
+ boolean hasChanged = addModeToVariable(newMode, va); // Add the new Mode to the list of Mode of the Variable\r
\r
if (hasChanged){\r
XPApp.baseChanged = true;\r
* @see fr_jussieu_snv_lis.base.IControlerBase#controlModeExVariable(boolean, fr_jussieu_snv_lis.base.Variable, fr_jussieu_snv_lis.base.Mode)\r
*/\r
@Override\r
- public void controlModeExVariable(boolean selected, Variable v,\r
- Mode modeException) {\r
+ public void controlModeExVariable(boolean selected, Variable v, Mode modeException) {\r
logger.warn("controlModeExVariable Not yet implemented");\r
\r
}\r
*/\r
@Override\r
public void deleteIndividual(Individual ind) {\r
- logger.warn("deleteIndividual Not yet implemented");\r
+ throw new RuntimeException("delete individual not supported by CDM version");\r
\r
}\r
\r
* @see fr_jussieu_snv_lis.base.IControlerBase#checkUnknown(fr_jussieu_snv_lis.base.Variable, fr_jussieu_snv_lis.base.Individual, boolean, boolean)\r
*/\r
@Override\r
- public void checkUnknown(Variable var, Individual ind, boolean b, boolean withDaughters) {\r
- super.checkUnknown(var, ind, b, withDaughters);\r
+ public void checkUnknown(Variable var, Individual ind, boolean value, boolean withDaughters) {\r
+ this.cdmXperAdapter.checkUnknown(var, ind, value, withDaughters);\r
+ super.checkUnknown(var, ind, value, withDaughters);\r
}\r
\r
/* (non-Javadoc)\r
*/\r
@Override\r
public void checkUnknown(Variable var, Individual[] tab, boolean b, boolean withDaughters) {\r
- super.checkUnknown(var, tab, b, withDaughters);\r
+ super.checkUnknown(var, tab, b, withDaughters); //super calls check unknown for each individual\r
}\r
\r
/* (non-Javadoc)\r
* @see fr_jussieu_snv_lis.base.IControlerBase#changeMother(fr_jussieu_snv_lis.base.Variable, fr_jussieu_snv_lis.base.Variable)\r
*/\r
@Override\r
- public void changeMother(Variable current, Variable mother) {\r
- logger.warn("changeMother Not yet implemented");\r
-\r
+ public void changeMother(Variable current, Variable newMother) {\r
+ //from super\r
+ super.removeMother(current);\r
+ super.addMother(current, newMother);\r
+ \r
+ getAdapter().moveFeature(current, newMother);\r
}\r
\r
/* (non-Javadoc)\r
*/\r
@Override\r
public boolean checkExistanceOneVariable(String s) {\r
- logger.warn("checkExistanceOneVariable implemented as super");\r
+ logger.info("checkExistanceOneVariable implemented as super");\r
return super.checkExistanceOneVariable(s);\r
}\r
\r
* @see fr_jussieu_snv_lis.base.IControlerBase#createNewVariable(java.lang.String)\r
*/\r
@Override\r
- public Variable createNewVariable(String name) {\r
- logger.warn("createNewVariable Not yet implemented");\r
- return null;\r
+ public Variable createNewCategoricalVariable(String name) {\r
+ Variable newVariable = new Variable(name); \r
+ newVariable.setType(Utils.catType);\r
+ newVariable.setUuid(UUID.randomUUID());\r
+\r
+ // By default, a new Variable has two Modes\r
+ //TODO Do we really need to add new modes immediately? SDD data sometimes do not have to states\r
+// Mode mode1 = new Mode(XPApp.messages.getString("mode") + " 1");\r
+// Mode mode2 = new Mode(XPApp.messages.getString("mode") + " 2");\r
+// newVariable.addMode(mode1);\r
+// newVariable.addMode(mode2);\r
+\r
+ base.addVariable(newVariable); // add the new Variable to the List of Variable of the Base\r
+ //TODO needed\r
+ XPApp.baseChanged = true;\r
+\r
+ this.cdmXperAdapter.createNewVariable(newVariable);\r
+ \r
+ return newVariable;\r
}\r
\r
/* (non-Javadoc)\r
*/\r
@Override\r
public Variable createNewVariableNumOrEnum(String name, String type) {\r
- logger.warn("createNewVariableNumOrEnum Not yet implemented");\r
- return null;\r
+ Variable newVariable = new Variable(name); \r
+ newVariable.setType(type);\r
+ newVariable.setUuid(UUID.randomUUID());\r
+ \r
+ base.addVariable(newVariable); // add the new Variable to the List of Variable of the Base\r
+ //TODO needed\r
+ XPApp.baseChanged = true;\r
+\r
+ this.cdmXperAdapter.createNewVariable(newVariable);\r
+ \r
+ return newVariable;\r
+ \r
}\r
\r
/* (non-Javadoc)\r
*/\r
@Override\r
public void addNewVariableAndItsModesToMatrix(Variable newVariable) {\r
- logger.warn("addNewVariableAndItsModesToMatrix Not yet implemented");\r
+ logger.warn("addNewVariableAndItsModesToMatrix still needs to add 'unknown data' as a value for the feature");\r
+ super.addNewVariableAndItsModesToMatrix(newVariable);\r
}\r
\r
/* (non-Javadoc)\r
* @see fr_jussieu_snv_lis.base.IControlerBase#getVariableDescendant(java.util.List, fr_jussieu_snv_lis.base.Variable)\r
*/\r
@Override\r
- public List<Variable> getVariableDescendant(List<Variable> listDescendant,\r
- Variable v) {\r
+ public List<Variable> getVariableDescendant(List<Variable> listDescendant, Variable v) {\r
logger.warn("getVariableDescendant Not yet implemented");\r
return null;\r
}\r