예제 #1
0
  private void salvar() {
    if (regraInserir != null) {
      if (regraInserir.getPremissas().isEmpty() || regraInserir.getConclusoes().isEmpty()) {
        JOptionPane.showMessageDialog(
            null,
            "É necessário informar pelo menos uma premissa e uma conclusão.",
            "Aviso",
            JOptionPane.WARNING_MESSAGE);
        return;
      }
      for (Sentenca premissa : regraInserir.getPremissas()) {
        for (Sentenca conclusao : regraInserir.getConclusoes()) {
          if (premissa.getVariavel().equals(conclusao.getVariavel())) {
            JOptionPane.showMessageDialog(
                null,
                "Uma variável não pode estar simultaneamente em uma premissa e em uma conclusão.",
                "Aviso",
                JOptionPane.WARNING_MESSAGE);
            return;
          }
        }
      }
      regraInserir.setDescricao(textField.getText());
      Motor.getInstancia().getRegras().add(regraInserir);
    }

    if (regraEditar != null) {
      if (regraEditar.getPremissas().isEmpty() || regraEditar.getConclusoes().isEmpty()) {
        JOptionPane.showMessageDialog(
            null,
            "É necessário informar pelo menos uma premissa e uma conclusão.",
            "Aviso",
            JOptionPane.WARNING_MESSAGE);
        return;
      }
      for (Sentenca premissa : regraEditar.getPremissas()) {
        for (Sentenca conclusao : regraEditar.getConclusoes()) {
          if (premissa.getVariavel().equals(conclusao.getVariavel())) {
            JOptionPane.showMessageDialog(
                null,
                "Uma variável não pode estar simultaneamente em uma premissa e em uma conclusão.",
                "Aviso",
                JOptionPane.WARNING_MESSAGE);
            return;
          }
        }
      }
      regraEditar.setDescricao(textField.getText());
    }
    dispose();
  }
예제 #2
0
 private void copiarRegraEdit() {
   regraEditarBackup = new Regra();
   regraEditarBackup.setDescricao(regraEditar.getDescricao());
   for (Sentenca premissa : regraEditar.getPremissas()) {
     Sentenca sentenca = new Sentenca(premissa.getVariavel());
     sentenca.setOperadorSelecionado(premissa.getOperadorSelecionado());
     sentenca.setValorSelecao(premissa.getValorSelecao());
     regraEditarBackup.getPremissas().add(sentenca);
   }
   for (Sentenca conclusao : regraEditar.getConclusoes()) {
     Sentenca sentenca = new Sentenca(conclusao.getVariavel());
     sentenca.setOperadorSelecionado(conclusao.getOperadorSelecionado());
     sentenca.setValorSelecao(conclusao.getValorSelecao());
     regraEditarBackup.getConclusoes().add(sentenca);
   }
 }