//Añadimos el modelo de la población al experimento
exp.addPoblacion(modPoblacion);
}
private SimulacionBacterias cargarSimulacion(Node nSim) {
SimulacionBacterias mSim = new SimulacionBacterias();
//Obtenemos los días de las simulaciones
NodeList lstValores = nSim.getChildNodes();
String[] datosSim = new String[]{"num-dias",
"lado-plato", "tamanio-poblacion", "a-inicial",
"a-dia-max", "a-maxima", "a-final", "bac-plato", "com-plato"};
boolean xmlValido = true;
if(lstValores.getLength() >= 18) {
for(int i=1; i<=17; i += 2) {
if(!lstValores.item(i).getNodeName().
equals(datosSim[(int)i/2])) {
xmlValido = false;
}
}
}
if(xmlValido && lstValores.getLength() != 0) {
mSim.setNumDias(Integer.parseInt(lstValores.item(1).getTextContent()));
mSim.setLadoPlato(Integer.parseInt(lstValores.item(3).getTextContent()));
mSim.setTamanioPoblacion(Integer.parseInt(lstValores.item(5).getTextContent()));
mSim.setAlimentoInicial(Integer.parseInt(lstValores.item(7).getTextContent()));
mSim.setDiaMax(Integer.parseInt(lstValores.item(9).getTextContent()));
mSim.setAlimentoMax(Integer.parseInt(lstValores.item(11).getTextContent()));
mSim.setAlimentoFinal(Integer.parseInt(lstValores.item(13).getTextContent()));
int bac[][][] = new int[mSim.getNumDias()][mSim.getLadoPlato()]
[mSim.getLadoPlato()];
int com[][][] = new int[mSim.getNumDias()][mSim.getLadoPlato()]
[mSim.getLadoPlato()];
NodeList nBac = lstValores.item(15).getChildNodes();
for(int i=1; i<nBac.getLength(); i = i + 2) {
String dato = nBac.item(i).getNodeName();
String datos[] = dato.split("-");
int dia = Integer.parseInt(datos[2]);
int lado = Integer.parseInt(datos[3]);
String diaBac[] = nBac.item(i).getTextContent().split(";");
for(int j=0; j<diaBac.length; j++) {
bac[dia][lado][j] = Integer.parseInt(diaBac[j]);
}
}
NodeList nCom = lstValores.item(17).getChildNodes();
for(int i=1; i<nCom.getLength(); i = i + 2) {
String dato = nCom.item(i).getNodeName();
String datos[] = dato.split("-");
int dia = Integer.parseInt(datos[2]);
int lado = Integer.parseInt(datos[3]);
String diaCom[] = nCom.item(i).getTextContent().split(";");
for(int j=0; j<diaCom.length; j++) {
com[dia][lado][j] = Integer.parseInt(diaCom[j]);
}
}
mSim.setDatosSimulacion(bac, com);
}
return mSim;