Cleanup
This commit is contained in:
@@ -11,12 +11,11 @@ import org.w3c.dom.Document;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
class Automata {
|
||||
public class Automata {
|
||||
private ArrayList<Estado> estados;
|
||||
|
||||
private ArrayList<Integer> estadosExistentes;
|
||||
|
||||
Automata(Document document) {
|
||||
public Automata(Document document) {
|
||||
setEstados(new ArrayList<>());
|
||||
for (int i = 0; i < document.getElementsByTagName("transicion").getLength(); i++) {
|
||||
char move = document.getElementsByTagName("movimiento").item(i).getTextContent().charAt(0);
|
||||
@@ -60,15 +59,15 @@ class Automata {
|
||||
}
|
||||
}
|
||||
|
||||
ArrayList<Estado> getEstados() {
|
||||
public ArrayList<Estado> getEstados() {
|
||||
return estados;
|
||||
}
|
||||
|
||||
private void setEstados(ArrayList<Estado> estados) {
|
||||
public void setEstados(ArrayList<Estado> estados) {
|
||||
this.estados = estados;
|
||||
}
|
||||
|
||||
ArrayList<Integer> getEstadosExistentes() {
|
||||
public ArrayList<Integer> getEstadosExistentes() {
|
||||
return estadosExistentes;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
package cl.cromer.mt;
|
||||
|
||||
class Enlace {
|
||||
public class Enlace {
|
||||
private char si;
|
||||
private char sj;
|
||||
private char movimiento;
|
||||
private Estado qj;
|
||||
|
||||
Enlace(char si, Estado qj, char sj, char move) {
|
||||
public Enlace(char si, Estado qj, char sj, char move) {
|
||||
setMovimiento(move);
|
||||
setSj(sj);
|
||||
setQj(qj);
|
||||
@@ -32,7 +32,7 @@ class Enlace {
|
||||
return this.sj;
|
||||
}
|
||||
|
||||
private void setSj(char sj) {
|
||||
public void setSj(char sj) {
|
||||
this.sj = sj;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ class Enlace {
|
||||
return this.movimiento;
|
||||
}
|
||||
|
||||
private void setMovimiento(char movimiento) {
|
||||
public void setMovimiento(char movimiento) {
|
||||
this.movimiento = movimiento;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ class Enlace {
|
||||
return qj;
|
||||
}
|
||||
|
||||
private void setQj(Estado qj) {
|
||||
public void setQj(Estado qj) {
|
||||
this.qj = qj;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,20 +12,20 @@ public class Estado {
|
||||
private final int q;
|
||||
private final ArrayList<Enlace> enlaces;
|
||||
|
||||
Estado(int q) {
|
||||
public Estado(int q) {
|
||||
this.q = q;
|
||||
enlaces = new ArrayList<>();
|
||||
}
|
||||
|
||||
ArrayList<Enlace> getEnlaces() {
|
||||
public ArrayList<Enlace> getEnlaces() {
|
||||
return enlaces;
|
||||
}
|
||||
|
||||
int getQ() {
|
||||
public int getQ() {
|
||||
return q;
|
||||
}
|
||||
|
||||
boolean createLink(char si, Estado qj, char sj, char move) {
|
||||
public boolean createLink(char si, Estado qj, char sj, char move) {
|
||||
if (enlaces.isEmpty()) {
|
||||
enlaces.add(new Enlace(si, qj, sj, move));
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.ArrayList;
|
||||
/**
|
||||
* Esta clase es un objeto para pasar entre los stage.
|
||||
*/
|
||||
class EstadosFinales {
|
||||
public class EstadosFinales {
|
||||
private ArrayList<Integer> estadosExistentes;
|
||||
private ArrayList<Integer> estadosElegidos;
|
||||
|
||||
@@ -23,7 +23,7 @@ class EstadosFinales {
|
||||
*
|
||||
* @param maquina La maquina de turning a pasar entre stages
|
||||
*/
|
||||
EstadosFinales(Maquina maquina) {
|
||||
public EstadosFinales(Maquina maquina) {
|
||||
this.maquina = maquina;
|
||||
this.estadosExistentes = maquina.getMaquina().getEstadosExistentes();
|
||||
}
|
||||
@@ -33,7 +33,7 @@ class EstadosFinales {
|
||||
*
|
||||
* @return Los estados que existen
|
||||
*/
|
||||
ArrayList<Integer> getEstadosExistentes() {
|
||||
public ArrayList<Integer> getEstadosExistentes() {
|
||||
return estadosExistentes;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ class EstadosFinales {
|
||||
* Devolver los estados elegidos por el usuario
|
||||
* @return Los estados elegidos
|
||||
*/
|
||||
ArrayList<Integer> getEstadosElegidos() {
|
||||
public ArrayList<Integer> getEstadosElegidos() {
|
||||
return estadosElegidos;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class EstadosFinales {
|
||||
*
|
||||
* @param estadosElegidos Los estados elegidods nuevos
|
||||
*/
|
||||
void setEstadosElegidos(ArrayList<Integer> estadosElegidos) {
|
||||
public void setEstadosElegidos(ArrayList<Integer> estadosElegidos) {
|
||||
this.estadosElegidos = estadosElegidos;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,9 +7,6 @@
|
||||
|
||||
package cl.cromer.mt;
|
||||
|
||||
import jdk.internal.org.xml.sax.ErrorHandler;
|
||||
import jdk.internal.org.xml.sax.SAXException;
|
||||
import jdk.internal.org.xml.sax.SAXParseException;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
@@ -20,8 +17,6 @@ import java.io.*;
|
||||
* Esta clase puede abrir y validar un archivo de XML. Se necesita un archivo mtbase.dtd
|
||||
*/
|
||||
class LeerXML {
|
||||
|
||||
private boolean error = false;
|
||||
/**
|
||||
* El metodo va a verificar que el archivo existe y que contiene XML valido. Si es valido devuelve el documento.
|
||||
*
|
||||
@@ -39,7 +34,6 @@ class LeerXML {
|
||||
}
|
||||
Document dc = createDocument(archivo);
|
||||
if (dc == null) {
|
||||
error = false;
|
||||
return validarXML(archivo);
|
||||
}
|
||||
return dc;
|
||||
@@ -65,13 +59,7 @@ class LeerXML {
|
||||
dbf.setNamespaceAware(true);
|
||||
|
||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||
SimpleErrorHandler seh = new SimpleErrorHandler();
|
||||
db.setErrorHandler(seh);
|
||||
documento = db.parse(archivo);
|
||||
if (error) {
|
||||
//MT.mostrarMensaje("Error", "El archivo " + archivo.getName() + " no contiene xml valido!");
|
||||
return null;
|
||||
}
|
||||
documento.getDocumentElement().normalize();
|
||||
return documento;
|
||||
}
|
||||
@@ -140,77 +128,4 @@ class LeerXML {
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Esta clase se usa para comprobar que el XML es valido.
|
||||
*/
|
||||
class SimpleErrorHandler implements ErrorHandler, org.xml.sax.ErrorHandler {
|
||||
|
||||
/**
|
||||
* Un warning
|
||||
*
|
||||
* @param e La excepción
|
||||
*
|
||||
* @throws SAXException La excepción thrown
|
||||
*/
|
||||
public void warning(SAXParseException e) throws SAXException {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* Un error
|
||||
*
|
||||
* @param e La excepción
|
||||
*
|
||||
* @throws SAXException La excepción thrown
|
||||
*/
|
||||
public void error(SAXParseException e) throws SAXException {
|
||||
//System.out.println(e.getMessage());
|
||||
error = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Un error fatal
|
||||
*
|
||||
* @param e La excepción
|
||||
*
|
||||
* @throws SAXException La excepción thrown
|
||||
*/
|
||||
public void fatalError(SAXParseException e) throws SAXException {
|
||||
//System.out.println(e.getMessage());
|
||||
error = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Un warning
|
||||
*
|
||||
* @param e La excepción
|
||||
*/
|
||||
@Override
|
||||
public void warning(org.xml.sax.SAXParseException e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* Un error
|
||||
*
|
||||
* @param e La excepción
|
||||
*/
|
||||
@Override
|
||||
public void error(org.xml.sax.SAXParseException e) {
|
||||
//System.out.println(e.getMessage());
|
||||
error = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Un error fatal
|
||||
*
|
||||
* @param e La excepción
|
||||
*/
|
||||
@Override
|
||||
public void fatalError(org.xml.sax.SAXParseException e) {
|
||||
//System.out.println(e.getMessage());
|
||||
error = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -53,11 +53,11 @@ public class MT extends Application {
|
||||
*/
|
||||
@Override
|
||||
public void start(Stage primaryStage) throws Exception {
|
||||
Parent root = FXMLLoader.load(getClass().getResource("mt.fxml"));
|
||||
Parent root = FXMLLoader.load(getClass().getResource("fxml/mt.fxml"));
|
||||
primaryStage.setTitle("Maquina de Turing");
|
||||
|
||||
Scene scene = new Scene(root, 640, 480);
|
||||
scene.getStylesheets().add("/cl/cromer/mt/mt.css");
|
||||
scene.getStylesheets().add("/cl/cromer/mt/css/mt.css");
|
||||
primaryStage.setScene(scene);
|
||||
primaryStage.setMinHeight(480);
|
||||
primaryStage.setMinWidth(640);
|
||||
|
||||
@@ -9,65 +9,62 @@ package cl.cromer.mt;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
class Maquina {
|
||||
public class Maquina {
|
||||
private final Automata maquina;
|
||||
|
||||
private Estado estadoActual;
|
||||
|
||||
private Enlace enlaceActual;
|
||||
|
||||
private String cintaAnterior;
|
||||
private int cabezal;
|
||||
|
||||
Maquina(Document document) {
|
||||
public Maquina(Document document) {
|
||||
maquina = new Automata(document);
|
||||
reset();
|
||||
}
|
||||
|
||||
Automata getMaquina() {
|
||||
public Automata getMaquina() {
|
||||
return maquina;
|
||||
}
|
||||
|
||||
private Estado getEstadoActual() {
|
||||
public Estado getEstadoActual() {
|
||||
return estadoActual;
|
||||
}
|
||||
|
||||
private void setEstadoActual(Estado estadoActual) {
|
||||
public void setEstadoActual(Estado estadoActual) {
|
||||
this.estadoActual = estadoActual;
|
||||
}
|
||||
|
||||
private Enlace getEnlaceActual() {
|
||||
public Enlace getEnlaceActual() {
|
||||
return enlaceActual;
|
||||
}
|
||||
|
||||
private void setEnlaceActual(Enlace enlaceActual) {
|
||||
public void setEnlaceActual(Enlace enlaceActual) {
|
||||
this.enlaceActual = enlaceActual;
|
||||
}
|
||||
|
||||
private String getCintaAnterior() {
|
||||
public String getCintaAnterior() {
|
||||
return cintaAnterior;
|
||||
}
|
||||
|
||||
private void setCintaAnterior(String cintaAnterior) {
|
||||
public void setCintaAnterior(String cintaAnterior) {
|
||||
this.cintaAnterior = cintaAnterior;
|
||||
}
|
||||
|
||||
private int getCabezal() {
|
||||
public int getCabezal() {
|
||||
return cabezal;
|
||||
}
|
||||
|
||||
private void setCabezal(int cabezal) {
|
||||
public void setCabezal(int cabezal) {
|
||||
this.cabezal = cabezal;
|
||||
}
|
||||
|
||||
void reset() {
|
||||
public void reset() {
|
||||
setEstadoActual(maquina.getEstados().get(0));
|
||||
setEnlaceActual(null);
|
||||
setCintaAnterior("");
|
||||
setCabezal(0);
|
||||
}
|
||||
|
||||
boolean comprobarCadena(StringBuilder cinta, int[] estadoFinal) {
|
||||
public boolean comprobarCadena(StringBuilder cinta, int[] estadoFinal) {
|
||||
//estadoActual = maquina.getEstados().get(0);
|
||||
int i;
|
||||
for (i = 0; i < getEstadoActual().getEnlaces().size(); i++) {
|
||||
@@ -106,7 +103,7 @@ class Maquina {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean comprobarCadenaS2S(StringBuilder cinta, int[] estadoFinal){
|
||||
public boolean comprobarCadenaS2S(StringBuilder cinta, int[] estadoFinal) {
|
||||
setCintaAnterior(cinta.toString());
|
||||
int i;
|
||||
for (i = 0; i < getEstadoActual().getEnlaces().size(); i++) {
|
||||
|
||||
@@ -82,7 +82,7 @@ public class MenuController {
|
||||
menuIndiv.setDisable(false);
|
||||
menuLote.setDisable(false);
|
||||
}
|
||||
tableView = FXMLLoader.load(getClass().getResource("tabla.fxml"));
|
||||
tableView = FXMLLoader.load(getClass().getResource("/cl/cromer/mt/fxml/tabla.fxml"));
|
||||
VBox.setVgrow(tableView, Priority.ALWAYS);
|
||||
tableView.skinProperty().addListener((source, oldWidth, newWidth) -> {
|
||||
final TableHeaderRow header = (TableHeaderRow) tableView.lookup("TableHeaderRow");
|
||||
@@ -108,11 +108,11 @@ public class MenuController {
|
||||
|
||||
// Obtener los estados finales:
|
||||
FXMLLoader fxmlLoader = new FXMLLoader();
|
||||
fxmlLoader.setLocation(getClass().getResource("estadosFinales.fxml"));
|
||||
fxmlLoader.setLocation(getClass().getResource("/cl/cromer/mt/fxml/estadosFinales.fxml"));
|
||||
Scene nuevaScene = new Scene(fxmlLoader.load(), 250, 250);
|
||||
estadosFinales = new EstadosFinales(maquina);
|
||||
nuevaScene.setUserData(estadosFinales);
|
||||
nuevaScene.getStylesheets().add("/cl/cromer/mt/mt.css");
|
||||
nuevaScene.getStylesheets().add("/cl/cromer/mt/css/mt.css");
|
||||
Stage stage = new Stage();
|
||||
stage.initModality(Modality.WINDOW_MODAL);
|
||||
stage.initOwner(parentStage);
|
||||
@@ -158,10 +158,10 @@ public class MenuController {
|
||||
Stage parentStage = (Stage) parentScene.getWindow();
|
||||
|
||||
FXMLLoader fxmlLoader = new FXMLLoader();
|
||||
fxmlLoader.setLocation(getClass().getResource("lote.fxml"));
|
||||
fxmlLoader.setLocation(getClass().getResource("/cl/cromer/mt/fxml/lote.fxml"));
|
||||
Scene scene = new Scene(fxmlLoader.load(), 640, 480);
|
||||
scene.setUserData(estadosFinales);
|
||||
scene.getStylesheets().add("/cl/cromer/mt/mt.css");
|
||||
scene.getStylesheets().add("/cl/cromer/mt/css/mt.css");
|
||||
Stage stage = new Stage();
|
||||
stage.initModality(Modality.WINDOW_MODAL);
|
||||
stage.initOwner(parentStage);
|
||||
@@ -172,7 +172,7 @@ public class MenuController {
|
||||
stage.getIcons().add(new Image(getClass().getResourceAsStream("/cl/cromer/mt/images/icon.png")));
|
||||
stage.show();
|
||||
|
||||
TableView<TablaData> tableView = FXMLLoader.load(getClass().getResource("tabla.fxml"));
|
||||
TableView<TablaData> tableView = FXMLLoader.load(getClass().getResource("/cl/cromer/mt/fxml/tabla.fxml"));
|
||||
VBox.setVgrow(tableView, Priority.ALWAYS);
|
||||
tableView.skinProperty().addListener((source, oldWidth, newWidth) -> {
|
||||
final TableHeaderRow header = (TableHeaderRow) tableView.lookup("TableHeaderRow");
|
||||
|
||||
@@ -14,7 +14,6 @@ import javafx.beans.property.SimpleStringProperty;
|
||||
*/
|
||||
public class TablaData {
|
||||
private final SimpleStringProperty primera;
|
||||
|
||||
private final SimpleStringProperty segunda;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user