// atualiza os dados gerias do automato protected void refresh() { // modelo de combobox para os estados existentes DefaultComboBoxModel<Estado> modelcb = new DefaultComboBoxModel<>(); // modelo para a tabela de estados Object[][] o = new Object[a.getEstados().size()][2]; int i = 0; // variavel para indicar a posi__o da linha na matriz for (Estado e : a.getEstados()) { modelcb.addElement(e); // se for incinicial aparece ->, se for final aparece (F), se for ambos, (F)-> o[i][0] = (e.isFinal() ? "(f)" : "") + "" + (e.equals(a.getInicial()) ? "->" : ""); o[i][1] = e.getNome(); i++; } cbEstadosDestinos.setModel(modelcb); tblEstados.setModel(new DefaultTableModel(o, new String[] {"", ""})); // modelo para combox de simbolos do alfabeto DefaultComboBoxModel modelsim = new DefaultComboBoxModel(); modelsim.addElement('E'); for (char c : a.getAlfabeto()) { modelsim.addElement(c); } cbAlfabeto.setModel(modelsim); // atualiza o modelo texto do automato textArea.setText(a.toString()); // atualiza o modelo gr_fico do automato painelView.repaint(); }
public void selecionaEstadoAtual(Estado e) { if (e == null) { return; // n_o executa se o novo estado for nulo } atual = e; // atualiza o estado atual lblNewLabel.setText("Detalhes de : " + atual.getNome()); // atualiza o seu nome cbisFinal.setSelected(atual.isFinal()); // atualiza se _ inicial refreshTrans(); }
@Test public void testGetSigla() { final String sigla = "SP"; final Estado estado = new Estado(); estado.setSigla("SP"); assertNotNull(estado.getSigla()); assertEquals(sigla, estado.getSigla()); }
@Test public void testGetId() { final Long id = 1L; final Estado estado = new Estado(); estado.setId(1L); assertNotNull(estado.getId()); assertEquals(id, estado.getId()); }
@Test public void testGetDescricao() { final String descricao = "São Paulo"; final Estado estado = new Estado(); estado.setDescricao("São Paulo"); assertNotNull(estado.getDescricao()); assertEquals(descricao, estado.getDescricao()); }
public Nodo(Estado e, Nodo p) { estado = e; pai = p; if (p == null) { profundidade = 0; g = e.custo(); } else { profundidade = p.getProfundidade() + 1; g = e.custo() + p.g; } }
// chamado no evento do bot_o novo private void novoEstado() { Estado novo = new Estado(isfinal.isSelected(), ("q" + a.getEstados().size())); a.getEstados().add(novo); if (criarInicial) { // seta como inicial se for inicial a.setInicial(novo.getNome()); criarInicial = false; // n_o deixa mais criar estados iniciais } JPanelEstado p = new JPanelEstado(novo, this); // cria a visualiza__o gr_fica // colocam o visualizador no painel painelView.add(p); painelView.repaint(); refresh(); }
private void removerTransicao() { if (atual == null) { return; // n_o executa se o estado atual for nulo } if (tblTrans.getSelectedRow() == -1) { return; // se n_o houve uma sele__o efetiva, n_o executa } // deleta a transi__o atual .getTransicoes() .remove((Character) atual.getTransicoes().keySet().toArray()[tblTrans.getSelectedRow()]); // pega o simbolo-chave do array de chaves conforme o indice da linha selecionada da tabela refreshTrans(); }
private void guardarDatos() { documento.setTituloPrincipal(Titulo_Principal.getText()); documento.setTituloSecundario(Titulo_Secundario.getText()); documento.setDescripcion(Descripcion.getText()); documento.setEditorial(Editorial.getText()); documento.setFechaPublicacion(Fecha_Publicacion.getText()); documento.setDerechosAutor(Derechos_Autor.getText()); System.out.println(Idioma.getItemAt(Idioma.getSelectedIndex())); documento.setIdioma((String) Idioma.getItemAt(Idioma.getSelectedIndex())); Estado.setForeground(Color.green); Estado.setText("[Guardado]"); enableFields(false); biblioteca.gui.GUICatalogacion.Informacion_Basica_Guardada = true; }
private void turnFinal() { if (atual == null) { return; // n_o executa se o estado atual for nulo } atual.setFinal(cbisFinal.isSelected()); // torna final o estado atual refresh(); }
// atualiza os dados das transi__es do estado selecionado protected void refreshTrans() { if (atual == null) { return; // n_o executa se o estado atual for nulo } Object[][] o = new Object[atual.transicoes.size()][2]; int i = 0; for (char c : atual.getTransicoes().keySet()) { o[i][0] = c; o[i][1] = atual.getTransicoes().get(c); i++; } tblTrans.setModel(new DefaultTableModel(o, new String[] {"Simbolo", "Estado(s) Destino(s)"})); // atualiza o modelo texto do automato textArea.setText(a.toString()); // atualiza o modelo gr_fico do automato painelView.repaint(); }
private void agregarInscripcion(Inscripcion inscripcion) { if (inscripciones.stream().anyMatch(ins -> ins.getJugador() == inscripcion.getJugador())) { throw new JugadorInscriptoException("JUGADOR YA INSCRIPTO"); } else { estado.agregarInscripcion(inscripcion, this); verificarCondiciones(); } }
private boolean desplazarJugador(Predicate<Inscripcion> condicion) { Optional<Inscripcion> inscripcionParaSacar; inscripcionParaSacar = inscripciones.stream().filter(condicion).findFirst(); if (inscripcionParaSacar.isPresent()) { estado.quitarInscripcion(inscripcionParaSacar.get(), this); return true; } return false; }
private void excluirEstado() { if (a.getInicial().equals(atual)) { return; // n_o deixa excluir se for inicial } a.deletarEstado(atual.getNome()); // deleta estado atual refreshEstados(); refresh(); refreshTrans(); }
public synchronized boolean equals(java.lang.Object obj) { if (!(obj instanceof Estado)) return false; Estado other = (Estado) obj; if (obj == null) return false; if (this == obj) return true; if (__equalsCalc != null) { return (__equalsCalc == obj); } __equalsCalc = obj; boolean _equals; _equals = true && this.idEstado == other.getIdEstado() && ((this.nombreEstado == null && other.getNombreEstado() == null) || (this.nombreEstado != null && this.nombreEstado.equals(other.getNombreEstado()))); __equalsCalc = null; return _equals; }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((colaboradorenderecos == null) ? 0 : colaboradorenderecos.hashCode()); result = prime * result + ((descricao == null) ? 0 : descricao.hashCode()); result = prime * result + ((estado == null) ? 0 : estado.hashCode()); result = prime * result + ((filials == null) ? 0 : filials.hashCode()); result = prime * result + ((munCodigo == null) ? 0 : munCodigo.hashCode()); return result; }
private void novaTransicao() { if (atual == null) { return; // n_o executa se o estado atual for nulo } Character c = (Character) cbAlfabeto.getSelectedItem(); // pega o simbolo a ser usado String estadoDestino = ((Estado) cbEstadosDestinos.getSelectedItem()) .getNome(); // pega o nome do estado a ser usado if (a.newTransicao(atual.getNome(), c + "", estadoDestino)) { // cria a nova transi__o refresh(); refreshTrans(); } }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof Municipio)) { return false; } Municipio other = (Municipio) obj; if (colaboradorenderecos == null) { if (other.colaboradorenderecos != null) { return false; } } else if (!colaboradorenderecos.equals(other.colaboradorenderecos)) { return false; } if (descricao == null) { if (other.descricao != null) { return false; } } else if (!descricao.equals(other.descricao)) { return false; } if (estado == null) { if (other.estado != null) { return false; } } else if (!estado.equals(other.estado)) { return false; } if (filials == null) { if (other.filials != null) { return false; } } else if (!filials.equals(other.filials)) { return false; } if (munCodigo == null) { if (other.munCodigo != null) { return false; } } else if (!munCodigo.equals(other.munCodigo)) { return false; } return true; }
public static void main(String[] args) { AgentModel ab = new AgentModel(); ab.addAction("Atravessar 2 canibais", new AtravessarDoisCanibais()); ab.addAction("Atravessar 2 missionarios", new AtravessarDoisMissionarios()); ab.addAction("Atravessar 1 canibal", new AtravessarUmCanibal()); ab.addAction("Atravessar 1 missionario", new AtravessarUmMissionario()); ab.addAction("Atravessar 1 missionario e 1 canibal", new AtravessarUmMissionarioUmCanibal()); /** * Cria o estado inicial Com a posição do barco e o numero de canibais e missionarios nas * margens. */ Estado inicial = new Estado(); inicial.setBarcoPosicao(Estado.BARCO_ESQUERDA); inicial.setQtdCanibaisEsquerda(3); inicial.setQtdMissionariosEsquerda(3); ab.setInitState(inicial); Estado objetivo = new Estado(); objetivo.setQtdCanibaisDireita(3); objetivo.setQtdMissionariosDireita(3); objetivo.setBarcoPosicao(Estado.BARCO_DIREITA); ab.addObjective(objetivo); ab.setFunctions(new Funcoes()); ab.setType(IAgent.BREADTH_FIRST_SEARCH); IAgent agente = AgentFactory.createAgent(ab); INode nofinal = null; try { nofinal = agente.function(); } catch (EmptyBorderException e) { // TODO Auto-generated catch block e.printStackTrace(); } // List cam = agente.obterCaminho(nofinal); // agente.exibirGrafico(null); System.out.println(agente); System.out.println(nofinal); System.out.println(agente); System.out.println(nofinal); }
@Override public String toString() { StringBuilder out = new StringBuilder("M = (E,A,T,I,F)\n"); out.append("E = {"); for (Estado estado : estados) { out.append(estado.getId()).append(", "); } out.delete(out.length() - 2, out.length()); out.append("}\n"); out.append(alfabeto.toString()).append("\n"); for (EntradaAFNDG ent : transicoes.keySet()) { for (Estado estado : transicoes.get(ent).get()) { out.append("T(") .append(ent.toString()) .append(") -> ") .append(estado.toString()) .append("\n"); } } out.append("\n"); out.append("I = ").append(estadoInicial.getId()).append("\n"); out.append("F = {"); for (EstadoFinal estAceita : estadosAceitacao) { out.append(estAceita.getId()).append(", "); } out.delete(out.length() - 2, out.length()); out.append("}\n"); return out.toString(); }
/** * @author Joel Alvarado * @since 2015-08-10 */ public enum Estado implements StringValuedEnum<Estado> { ACTIVO("A"), INACTIVO("I"), ; public static class Type extends StringValuedEnumType<Estado> {} public static final String TYPE = "ec.edu.ug.erp.util.dto.generic.impl.GenericDTO$Estado$Type"; public boolean isActivo() { return this.equals(ACTIVO); } public boolean isInactivo() { return this.equals(INACTIVO); } private String val; private String labelKey; public static Map<String, Estado> LABELED_MAP; public static final List<Estado> LIST = Arrays.asList(Estado.values()); private Estado(String value) { this.val = value; this.labelKey = StringValuedEnumReflect.getLabelKeyFromEnum(this); } public String getVal() { return val; } public String getKey() { return labelKey; } public String getValue() { return val; } public String getDescription() { return getValue(); } }
public static Estado getEstado(String uf) { return Estado.valueOf(uf); }
public Estado[] getEstados() { return Estado.values(); }
/** * Ejecutamos un AFND para una cadena dada hasta el caracter cuyo numero es indicado por * parametros y devolvemos el vector de configuraciones instantaneas al momento * * @param cadena * @param hasta * @return vector de configuraciones instantaneas */ public ArrayList<ConfigInstantanea> ejecutar(String entrada, int hasta) throws NoDefinido { // definimos el conjunto de estados de la configuracion instantanea ArrayList<Estado> estados = new ArrayList<Estado>(); // Agregamos el estado inicial estados.add(this.getEstadoInicial()); // modificamos la cadena para considerar lambda al principio, final, e intercalado System.out.println("Leemos: " + entrada); entrada += "&"; // recorremos la cadena modificada para determinar el conjunto de estados for (int i = 0; i <= hasta; i++) { System.out.println("Pila: " + pila.toString()); // definimos el conjunto de estados proximos ArrayList<Estado> estadosProximos = new ArrayList<Estado>(); // recorremos todos los estados del conjunto de estados de la config instantanea for (int b = 0; b < estados.size(); b++) { Estado q = estados.get(b); System.out.println("Estamos en el estado: " + q.getNombre()); ArrayList<Estado> qs = new ArrayList<Estado>(); try { System.out.println("Analizamos: " + entrada.charAt(i) + ", " + pila.leer()); qs = q.valuar(entrada.charAt(i), this.pila); } catch (ExcepcionPilaVacia e) { System.out.println("Pila Vacia..."); } // si corresponde agregar un estado if (qs.size() > 0) { estadosProximos.addAll(qs); System.out.println("...y pasamos al estado: " + qs.get(0).getNombre()); } else { // si no hay transiciones pero el caracter es lambda nos quedamos en el estado actual if (entrada.charAt(i) == '&') { estadosProximos.add(q); } } } // Comprobamos que haya al menos 1 estado en el conjunto de los siguientes if (estadosProximos.size() <= 0) throw new NoDefinido(); // definimos estados como los estados siguientes para usarlos en la proxima iteracion estados = estadosProximos; } // si todo va bien salimos con el vector de configuraciones instantaneas if (estados.size() > 0) { // cadena restante por leer String cadenaRestante = entrada.substring(hasta); // creamos un vector para las configuraciones instantaneas ArrayList<ConfigInstantanea> cfgs = new ArrayList<ConfigInstantanea>(); // recorremos los estados al momento for (int j = 0; j < estados.size(); j++) cfgs.add(new ConfigInstantanea(estados.get(j), cadenaRestante)); return cfgs; } // si llegamos aca paso algo!! salimos con excepcion! throw new NoDefinido(); }
/** * This method is called from within the constructor to initialize the form. WARNING: Do NOT * modify this code. The content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); Titulo_Principal = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); Titulo_Secundario = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); Descripcion = new javax.swing.JTextArea(); jLabel6 = new javax.swing.JLabel(); Idioma = new javax.swing.JComboBox(); jLabel7 = new javax.swing.JLabel(); Editorial = new javax.swing.JTextField(); jLabel8 = new javax.swing.JLabel(); Fecha_Publicacion = new javax.swing.JTextField(); jLabel9 = new javax.swing.JLabel(); Derechos_Autor = new javax.swing.JTextField(); Estado = new javax.swing.JLabel(); Siguiente = new javax.swing.JButton(); Editar = new javax.swing.JButton(); jLabel1.setText("Titulo Principal: "); Titulo_Principal.setPreferredSize(new java.awt.Dimension(200, 28)); jLabel2.setText("Titulo Secundario: "); Titulo_Secundario.setPreferredSize(new java.awt.Dimension(200, 28)); jLabel3.setIcon( new javax.swing.ImageIcon( getClass().getResource("/biblioteca/gui/resources/logo.png"))); // NOI18N jLabel4.setFont(new java.awt.Font("Ubuntu", 1, 24)); jLabel4.setText("Información Basica"); jLabel5.setText("Descripción:"); Descripcion.setColumns(20); Descripcion.setRows(5); Descripcion.setMargin(new java.awt.Insets(5, 5, 5, 5)); jScrollPane1.setViewportView(Descripcion); jLabel6.setText("Idioma:"); Idioma.setModel( new javax.swing.DefaultComboBoxModel( new String[] {"Inglés", "Español", "Portuges", "Otro"})); jLabel7.setText("Editorial: "); jLabel8.setText("Fecha Publicación: "); Fecha_Publicacion.setText("YYYYMMDD"); jLabel9.setText("Derechos de Autor: "); Estado.setFont(new java.awt.Font("Ubuntu", 0, 24)); // NOI18N Estado.setForeground(new java.awt.Color(255, 0, 0)); Estado.setText("[Sin Guardar]"); Siguiente.setFont(new java.awt.Font("Ubuntu", 1, 15)); Siguiente.setText("Siguiente Paso"); Siguiente.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { SiguienteActionPerformed(evt); } }); Editar.setText("Editar"); Editar.setEnabled(false); Editar.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EditarActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(22, 22, 22) .addComponent(jLabel1) .addGap(22, 22, 22) .addComponent( Titulo_Principal, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addGap(12, 12, 12) .addComponent(jLabel2) .addGap(13, 13, 13) .addComponent( Titulo_Secundario, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addGap(33, 33, 33) .addComponent(jLabel5) .addGap(34, 34, 34) .addComponent( jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addGap(44, 44, 44) .addComponent(jLabel7) .addGap(45, 45, 45) .addComponent( Editorial, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addGap(11, 11, 11) .addComponent(jLabel8) .addGap(11, 11, 11) .addComponent( Fecha_Publicacion, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addGap(52, 52, 52) .addComponent(jLabel6) .addGap(102, 102, 102) .addComponent( Idioma, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addGap(7, 7, 7) .addComponent(jLabel9) .addGap(8, 8, 8) .addComponent( Derechos_Autor, javax.swing.GroupLayout.PREFERRED_SIZE, 436, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addComponent(jLabel3) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED, 34, Short.MAX_VALUE) .addComponent(jLabel4)) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout .createSequentialGroup() .addContainerGap() .addComponent(Estado) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED, 317, Short.MAX_VALUE) .addComponent(Siguiente) .addContainerGap()) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout .createSequentialGroup() .addContainerGap(538, Short.MAX_VALUE) .addComponent(Editar) .addContainerGap())); layout.setVerticalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel3) .addComponent(jLabel4)) .addGap(32, 32, 32) .addComponent(Editar) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(5, 5, 5) .addComponent(jLabel1)) .addComponent( Titulo_Principal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(5, 5, 5) .addComponent(jLabel2)) .addComponent( Titulo_Secundario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(42, 42, 42) .addComponent(jLabel5)) .addComponent( jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(5, 5, 5) .addComponent(jLabel7)) .addComponent( Editorial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(5, 5, 5) .addComponent(jLabel8)) .addComponent( Fecha_Publicacion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(5, 5, 5) .addComponent(jLabel9)) .addComponent( Derechos_Autor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGap(5, 5, 5) .addComponent(jLabel6)) .addComponent( Idioma, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED, 53, Short.MAX_VALUE) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(Siguiente) .addComponent(Estado)) .addContainerGap())); } // </editor-fold>//GEN-END:initComponents
public void sacarJugador(Jugador jugador) { estado.quitarInscripcion(buscarInscripcionDeJugador(jugador), this); }
public String toString() { return estado.toString(); }