Quantcast
Channel: Java - GUJ
Viewing all 14698 articles
Browse latest View live

Como faço para fazer java esperar alguns segundos


Vale o esforço do estudo?

$
0
0

@falks escreveu:

Boa noite,

Atualmente estou estudando para a certificação OCA, além de estar revisitando tópicos como Servlets e .JSP. Eu não sinto que tenho conhecimento estruturado de uma parte disso, e estou gastando um tempo para ter uma base sólida de conhecimento, entretanto já trabalhei com PrimeFaces, Hibernate, que são frameworks que abstraem muito do que ocorre por debaixo dos panos.

O que gostaria de saber da opinião de terceiros é: Vale a pena gastar tempo estruturando uma base? Pois tenho ciência que o tempo gasto estudando para tais tópicos, alguém está gastando estudando, por exemplo, um framework como Spring e fazendo aplicações rapidamente.

Obrigado desde já pelas respostas.

Mensagens: 9

Participantes: 4

Ler tópico completo

Erro ao salvar filho de uma classe

$
0
0

@guilhermebhte escreveu:

Analisando passo a passo pelo debug, o objeto arquivoImagem, está preenchido.

Mapeamento pai para filho:

@NotAudited
	@OneToMany(mappedBy = "contaPagarReceber", cascade = {CascadeType.PERSIST,
			CascadeType.MERGE, CascadeType.DETACH})
	public Set<ContaPagarReceberArquivoImagemEntity> getContasPagarReceberArquivosImagens() {
		return contasPagarReceberArquivosImagens;
	}

Preeenchimento

Set<ContaPagarReceberArquivoImagemEntity> cprai = new LinkedHashSet<>();
		for (ContaPagarReceberArquivoImagemEntity arqImg : entidade.getContasPagarReceberArquivosImagens()) {
			aplicacaoAuditoria(arqImg);
			if(entidadeGravar instanceof ContaPagarEntity){
				arqImg.setContaPagarReceber((ContaPagarEntity) entidadeGravar);
			} else {
				arqImg.setContaPagarReceber((ContaReceberEntity) entidadeGravar);
			}
			arqImg.setArquivoImagem(arqImg.getArquivoImagem());
			cprai.add(arqImg);
		}
		entidadeGravar.setContasPagarReceberArquivosImagens(cprai);

Método genérico de persist

private void persist(Object objeto) throws Exception {
		EntityManager em = JPAUtility.getEntityManager();
		try {
			EntityTransaction et = em.getTransaction();
			try {
				((Session) em.getDelegate()).setDefaultReadOnly(false);
				et.begin();
				em.detach(objeto);
				em.persist(objeto);
				em.flush();
				et.commit();
			} catch (PersistenceException e) {
				trataErrosDePersistenciaAntes(em, e);
				et.rollback();
			} catch (Exception e) {
				et.rollback();
				throw new RuntimeExceptionDao(e);
			} finally {
				((Session) em.getDelegate()).setDefaultReadOnly(true);
			}
		} finally {
			em.close();
		}
	}

Erro:

08:26:42,119 WARN  [org.hibernate.action.internal.UnresolvedEntityInsertActions] (default task-16) HHH000437: Attempting to save one or more entities that have a non-nullable association with an unsaved transient entity. The unsaved transient entity must be saved in an operation prior to saving these dependent entities.
	Unsaved transient entity: ([br.eti.netsoft.erp.modelo.arquivoimagem.ArquivoImagemEntity#<null>])
	Dependent entities: ([[br.eti.netsoft.erp.modelo.financeiro.ContaPagarReceberArquivoImagemEntity#511c085f-165f-4438-a3ce-e4fe1a1d3c05]])
	Non-nullable association(s): ([br.eti.netsoft.erp.modelo.financeiro.ContaPagarReceberArquivoImagemEntity.arquivoImagem])
08:26:42,119 WARN  [org.hibernate.action.internal.UnresolvedEntityInsertActions] (default task-16) HHH000437: Attempting to save one or more entities that have a non-nullable association with an unsaved transient entity. The unsaved transient entity must be saved in an operation prior to saving these dependent entities.
	Unsaved transient entity: ([br.eti.netsoft.erp.modelo.arquivoimagem.ArquivoImagemEntity#<null>])
	Dependent entities: ([[br.eti.netsoft.erp.modelo.financeiro.ContaPagarReceberArquivoImagemEntity#151decc8-73cb-4b8b-a278-35c2bfd08902]])
	Non-nullable association(s): ([br.eti.netsoft.erp.modelo.financeiro.ContaPagarReceberArquivoImagemEntity.arquivoImagem])
08:26:42,120 ERROR [br.eti.netsoft.dao.GHDAO] (default task-16) Erro  ao gravar objeto: br.eti.netsoft.dao.exception.RuntimeExceptionDao: java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: Not-null property references a transient value - transient instance must be saved before current operation : br.eti.netsoft.erp.modelo.financeiro.ContaPagarReceberArquivoImagemEntity.arquivoImagem -> br.eti.netsoft.erp.modelo.arquivoimagem.ArquivoImagemEntity

O que pode ser este erro ?

Mensagens: 1

Participantes: 1

Ler tópico completo

Como desabilitar um commandButton no PrimeFaces de acordo com o retorno de um método boolean implementado no bean?

$
0
0

@Lp0956 escreveu:

Eu tenho um botão para deletar um arquivo que eu só quero que apareça para o usuário se a minha classe tiver registros.
Segue o código dele:

<p:commandButton icon="ui-icon-trash"
   value="Excluir"
   actionListener="#{deParaBean.deletar}"
   oncomplete="PF('dlg1').hide"
   update=":mainForm"
   disabled="#{deParaBean.temRegistros}"
   ajax="false"
/>

Eu quero que a propriedade disabled dele receba true ou false de acordo com o método temRegistros que eu implementei no meu bean. Segue o código dele:

public boolean temRegistros(){
		if (itemParceria == null) {
			return false;
		} else {
			return true;
		}
}

Porém, quando eu inicio o servidor e subo a aplicação, antes mesmo de renderizar a tela, aparece o seguinte erro pra mim:

javax.servlet.ServletException: /pages/dePara.xhtml @111,23 disabled="#{deParaBean.temRegistros}": The class ‘br.com.parceria.bean.DeParaBean’ does not have the property ‘temRegistros’.

Alguém sabe o que eu fiz de errado?

Mensagens: 2

Participantes: 2

Ler tópico completo

Aplicações mais elegantes

$
0
0

@Lucas-Marinzeck escreveu:

Eu iniciei a pouco na parte gráfica do Java (awt, swing e javafx). Existe alguma maneira de desenvolver aplicações desktop mais “bonitas” utilizando alguma ferramenta API ou até mesmo arquivos HTML/CSS?

Mensagens: 5

Participantes: 5

Ler tópico completo

Como implementar e desenvolver com java para nuvem

$
0
0

@Wagner_Camara escreveu:

Prezados, boa tarde.

Tem alguma técnica ou padrão pra desenvolver em linguagem java, para sistemas em nuvem, ou outro recurso q seja pertinente ao tema??..

Att

W.C

Mensagens: 2

Participantes: 2

Ler tópico completo

Telas em JSP

$
0
0

@Giuli_Ilustre escreveu:

Olá pessoal. Gostaria de uma indicação de tutorial, curso ou apostila, enfim, que tratasse de forma sucinta e prática da integração de uma tela em .jsp com o aplicativo web (bem basicão mesmo)!
Abraço…

Mensagens: 4

Participantes: 2

Ler tópico completo

ArrayList

$
0
0

@Lucas_Eduard escreveu:

To com uma duvida referente ao ArrayList. Como eu adiciono um elemento diferente dentro de um ArrayList e imprimo eles?

O código a seguir é o que estou criando, como podem ver, ele imprimi Nome e Idade, porém ele está imprimindo os últimos valores adicionados.

Segue o código.

// OBJETO

package estudo;

public class Itens {
	private String nome;
	private int idade;

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getIdade() {
		return idade;
	}

	public void setIdade(int idade) {
		this.idade = idade;
	}

	public Itens() {

	}

}

// MAIN

package estudo;

import java.util.ArrayList;
import java.util.Scanner;

public class EstudoArrayList {

	public static void main(String[] args) {

		// variaveis
	
		ArrayList<Itens> array = new ArrayList<>();
		Scanner input = new Scanner(System.in);
		Itens itens = new Itens();
		
		
		System.out.println("Digite quantos usuários deseja cadastrar: ");
		int count = input.nextInt();
		
		for (int i = 0; i<=count; i++)
		{
			System.out.println("Entre com nome: ");
			String nome = input.next();
			itens.setNome(nome);

			System.out.println("Entre com a idade: ");
			int idade = input.nextInt();
			itens.setIdade(idade);
			
		}

		
		
		System.out.println("Nome cadastrado: "+ itens.getNome());
		System.out.println("Idade cadastrada: "+ itens.getIdade());
		
	}
}

Mensagens: 4

Participantes: 3

Ler tópico completo


[RESOLVIDO] Problemas com o método "public void paint(Graphics g)"

$
0
0

@Kirinn escreveu:

Opa, tudo bem? Quem puder me ajudar, eu estou com um probleminha no meu projeto que, sempre quando eu crio um método paint, os meus JButtons e JLabel deixam de aparecer(na verdade, apenas o btnPlay aparece e o lblWelcome simplesmente não aparece) e o resto só aparece quando passa o mouse em cima. Quando eu tiro o método paint() ele funciona normalmente. Como resolver? O código está abaixo:

package game;

import java.awt.Color;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

 public class GameMainMenu extends JPanel {
   JButton btnPlay, btnHelp, btnCredits, btnNormal, btnHard;
   JLabel lblWelcome;

   public GameMainMenu(){
      setLayout(null);
      setBackground(Color.DARK_GRAY);
      initComponents();
   }

//  @Override
//    public void paint(Graphics g){}
//        
//        
//        pinta a borda branca do banner do game.
//        g.setColor(Color.white);
//        g.drawRect(24, 10, 851, 55);
//        
//        
//        pinta o banner do game.
//        new ImageIcon("C:\\Program Files\\Lucas's Games\\FirstGame\\snaketitle.jpg").paintIcon(this, g, 25, 11);
//        
//        
//       pinta a borda branca para o ambiente de jogo.
//        g.setColor(Color.white);
//        g.drawRect(22, 91, 853, 531);
//        
//        
//        pinta o ambiente de jogo.
//        g.setColor(Color.black);
//        g.fillRect(23, 92, 852, 530);
//        
//        
//        
//        
//        g.dispose();
//    }

private void initComponents(){
    btnPlay = new JButton("Jogar");
    lblWelcome = new JLabel("Bem-vindo ao Snake Game.");
    btnHelp = new JButton("Ajuda");
    btnCredits = new JButton("Créditos");
    lblWelcome.setBounds(236, 110, 450, 30);
    lblWelcome.setFont(new Font("Verdana", 20, 30));
    lblWelcome.setForeground(Color.CYAN);
    btnPlay.setBounds(200, 150, 100, 50);
    btnHelp.setBounds(400, 150, 100, 50);
    btnCredits.setBounds(600, 150, 100, 50);
    
    add(btnPlay);
    add(btnHelp);
    add(btnCredits);
    add(lblWelcome);
}

}

Mensagens: 2

Participantes: 2

Ler tópico completo

Componente r:calendar

$
0
0

@guilhermebhte escreveu:

Preciso que o usuário escolher ao abrir o calendário, ele só deixa marcar as datas menores que a data atual.

<r:calendar id="dataInicial" value="#{bean.periodoInicio}" todayControlMode="hidden" enableManualInput="true" buttonIcon="#{request.contextPath}/images/icons/calendar.png" buttonDisabledIcon="#{request.contextPath}/images/icons/calendarDisabled.png" showFooter="false" showWeeksBar="false" inputSize="20" styleClass="pdg_calendar" inputClass="jq_date" dayDisableFunction="disablementFunctionDateStart" dayClassFunction="disabledClassesProvDateStart" dataModel="#{bean}"></r:calendar>

No meu bean implementei, conforme o exemplo: http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=calendar&sample=dataModel&skin=blueSky

	@Override
	public CalendarDataModelItem[] getData(Date[] dateArray) {
		CalendarDataModelItem[] modelItems = new CalendarModelItem[dateArray.length];
		Calendar current = GregorianCalendar.getInstance();
		Calendar today = GregorianCalendar.getInstance();
		today.setTime(new Date());
		for (int i = 0; i < dateArray.length; i++) {
			current.setTime(dateArray[i]);
			CalendarModelItem modelItem = new CalendarModelItem();
			if (current.before(today)) {
				modelItem.setEnabled(true);
				modelItem.setStyleClass("");
			} else {
				modelItem.setEnabled(false);
				modelItem.setStyleClass("");
			}
			modelItems[i] = modelItem;
		}
		return modelItems;
	}
	
	@Override
	public Object getToolTip(Date date) {
		return null;
	}

No mês atual, isto é, quando entra na página funciona. Mas quando altero o mês ele deixa eu selecionar dias do mês 3.

O que pode ser ?

Mensagens: 2

Participantes: 2

Ler tópico completo

Como usar Thread

$
0
0

@paulof escreveu:

Estou desenvolvendo uma aplicação para rodar audio/video. O problema esta na reprodução sequencial. Estou usando o VLCJ. Pensei em usar uma Thread que vai dormir durante o tempo do vídeo, quando terminar lê novamente o banco e volta a reproduzir. Porem, não sei como fazer para a tela principal efetuar uma ação quando a Thread terminar.

Mensagens: 4

Participantes: 2

Ler tópico completo

JavaFX: TableView muito lenta, tela lenta

$
0
0

@fabio.argenton escreveu:

Pessoal, estou desenvolvendo um sistema em JavaFX, banco de dados MySQL e utilizando JDBC, porém ao desenvolver as primeiras telas estou me deparando com uma lentidão absurda no carregamento da TableView e dos dados nas telas.

Minhas tabelas possuem cerca de 5 mil registros e outras ultrapassam 10 milhões inclusive algumas com Blob imagens, porém a lentidão está até nas tabelas mais simples, vou postar aqui a estrutura apenas de uma tabela simples e que está bem lenta, por favor, poderiam avaliar se estou fazendo alguma coisa errada.

Segue abaixo estrutura BEAN (model), DAO e Controller do FXML:

Classe BEAN (model)

public class beanRECFornecedor {

    int cod;
    String codigo;
    String fornecedor;
    String contato;
    String planejador;

    @Override
    public String toString() {
        return "beanRECFornecedor{" + "cod=" + cod + ", codigo=" + codigo + ", fornecedor=" + fornecedor + ", contato=" + contato + ", planejador=" + planejador + '}';
    }

    public beanRECFornecedor() {
    }

    public beanRECFornecedor(int cod, String codigo, String fornecedor, String contato, String planejador) {
        this.cod = cod;
        this.codigo = codigo;
        this.fornecedor = fornecedor;
        this.contato = contato;
        this.planejador = planejador;
    }

    public int getCod() {
        return cod;
    }

    public void setCod(int cod) {
        this.cod = cod;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getFornecedor() {
        return fornecedor;
    }

    public void setFornecedor(String fornecedor) {
        this.fornecedor = fornecedor;
    }

    public String getContato() {
        return contato;
    }

    public void setContato(String contato) {
        this.contato = contato;
    }

    public String getPlanejador() {
        return planejador;
    }

    public void setPlanejador(String planejador) {
        this.planejador = planejador;
    }
}

Classe DAO (crud)

public class daoRECFornecedor {

//Metodo para retornar todas os registros da tabela (Read - C"R"UD) e preenche o TablView
    public ObservableList<beanRECFornecedor> obterTabelaCriterio(String Filtro1, String criterio1) {
        ObservableList<beanRECFornecedor> lista = FXCollections.observableArrayList();
        Connection conn = dbConexao.getConnection();
        Statement stmt = null;
        ResultSet rs = null;
        String sql = "SELECT * FROM fornecedor "
                + " WHERE " + Filtro1 + " LIKE '%" + criterio1 + "%' "
                + " ORDER BY fornecedor ASC";
        try {
            stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                beanRECFornecedor bean = new beanRECFornecedor();

                bean.setCod(rs.getInt("cod"));
                bean.setCodigo(rs.getString("codigo"));
                bean.setFornecedor(rs.getString("fornecedor"));
                bean.setContato(rs.getString("contato"));
                bean.setPlanejador(rs.getString("planejador"));

                lista.addAll(bean);
            }
        } catch (Exception e) {
            e.printStackTrace();
            dbConexao.close((com.mysql.jdbc.Connection) conn, stmt, rs);
        } finally {
            dbConexao.close((com.mysql.jdbc.Connection) conn, stmt, rs);
        }
        return lista;
    }
}

Controller do formulário FXML onde tem a table view

public class controlTelaRECFornecedor implements Initializable {
    daoRECFornecedor dao = new daoRECFornecedor();

    @FXML
    public TableView<beanRECFornecedor> tblViewFornecedor;
    @FXML
    private TableColumn<beanRECFornecedor, Integer> tblClmCod;
    @FXML
    private TableColumn<beanRECFornecedor, String> tblClmCodFornecedor;
    @FXML
    private TableColumn<beanRECFornecedor, String> tblClmFornecedor;
    @FXML
    private TableColumn<beanRECFornecedor, String> tblClmPlanejador;
    @FXML
    private TableColumn<beanRECFornecedor, String> tblClmContato;


    @FXML
    private JFXComboBox<String> txtFiltro1;
    @FXML
    private JFXTextField txtCriterio1;


    @Override
    public void initialize(URL url, ResourceBundle rb) {
	//Chama o método que inicializa o formulário preenchendo a Tableview
        carregaGrid();
    }

    //Carrega TableView (Utilizado na iniciação deste FXML)
    @FXML
    private void carregaGrid() {
        tblClmCod.setCellValueFactory(new PropertyValueFactory<>("cod"));
        tblClmCodFornecedor.setCellValueFactory(new PropertyValueFactory<>("codigo"));
        tblClmFornecedor.setCellValueFactory(new PropertyValueFactory<>("fornecedor"));
        tblClmPlanejador.setCellValueFactory(new PropertyValueFactory<>("planejador"));
        tblClmContato.setCellValueFactory(new PropertyValueFactory<>("contato"));
	
        ObservableList<beanRECFornecedor> bean = FXCollections.observableArrayList(dao.obterTabelaCriterio(txtFiltro1.getSelectionModel().getSelectedItem(), txtCriterio1.getText()));
        tblViewFornecedor.setItems(bean);
    }
}

Mensagens: 2

Participantes: 2

Ler tópico completo

Ordenar Lista

$
0
0

@jgsilva escreveu:

Olá pessoal,

Eu tenho uma lista que em cada posição tem informações de uma pessoa, porém, estas mesmas informações estão numa string enorme e separado por vírgulas, exemplo:

0 = “id, nome, idade, salario, data_de_entrada”
1 = “id, nome, idade, salario, data_de_entrada”
E assim por diante…

Eu quero ordenar essas informações pelo salario, por exemplo, e imprimir 2 ou 3 dados relacionado a esta pessoa, como nome, idade, salario. Neste caso como eu posso quebrar esta linha de string pra poder fazer a ordenação pegando apenas o salario e imprimindo os três campos que eu quero? Mantendo obviamente o vínculo entre os campos separados pela vírgula.

Sei que pra lista tem o método sort(), mas como eu quebraria a string pra passar apenas um campo?

Desde já obrigado :slight_smile:

Mensagens: 4

Participantes: 3

Ler tópico completo

Como fazer uma passagem por parâmetro de um array

$
0
0

@Wan_017 escreveu:

Sou novo no mundo da programação e me deparei com um problema que precisa passar os valores de um array por parâmetro. Pesquisei algumas formas de fazer em diversos fóruns, mais nem um se adequou (ou pelo menos eu não conseguir fazer) de uma forma que soluciona-se o meu problema. (no inicio do código estará comentado vocês conseguiram entender o problema)

identar texto pre-formatado em 4 espaços

/*

  • Fazer um programa em Java que leia uma matriz de no máximo 10 linhas por 10 colunas e que faça a multiplicação
  • dessas matrizes. A multiplicação das matrizes deve ser feita em uma sub-rotina com passagem das matrizes por parâmetro.
  • O programa deve solicitar do usuário a ordem das matrizes antes de lê-las e checar se as matrizes podem ser multiplicadas
  • (pesquisar qual o pré-requisito para a multiplicação de matrizes) e caso as ordens digitadas não esteja de acordo informar
  • ao usuário e solicitar novamente ou oferecer uma forma para que o usuário não execute o programa.
  • AUTOR:
  • Anderson S. Leite

*/
package ifba_semestre_primeiro.trabalho_algoritmos;

import java.util.Scanner;

public class copia_AGN_Q01 {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    
    int linhasA=0, linhasB=0, colunasA=0, colunasB=0, somatoria;
    
    boolean ok = false;
    int continuar = 1;
    
    
    while(ok == false && continuar == 1 ) {
    //entrada de dados (dimensoes das matrizes)
    System.out.print("Digite a quantidade de linhas da matriz A: ");
    linhasA = sc.nextInt();
    
    System.out.print("Digite a quantidade de colunas da matriz A: ");
    colunasA = sc.nextInt();
    
    System.out.print("Digite a quantidade linhas de da matriz B: ");
    linhasB = sc.nextInt();
    
    System.out.print("Digite a quantidade de colunas da matriz B: "); 
    colunasB = sc.nextInt();
        //analisa se as dimensoes digitadas sao validas
        if(linhasA < 11 && linhasB < 11 && colunasA < 11 && colunasB < 11) {
                 
            if(linhasA == colunasB && linhasB == colunasA) {
                ok = true;
                System.out.println("\nValores aceitos"); 
                    } else {
                        System.out.println("\nAs dimensões das matrizes informadas são invalidas!\nElas não podem ser multiplicadas entre si!");
                        System.out.print("\nPor favor presione 1 para digitar novamente ou 0 para encerrar o programa\n=> ");
                        continuar = sc.nextInt();
                }
            } else { // linhasA < 11 && linhasB < 11 && colunasA < 11 && colunasB < 11
                    System.out.println("O tamanho exerdeu o limite, no maximo 10 linhas por 10 colunas");
                    System.out.print("\nPor favor presione 1 para digitar novamente ou 0 para encerrar o programa\n=> ");
                    continuar = sc.nextInt();
                }
    
    }
    
    int[][] matrizA = new int[linhasA][colunasA];
    int[][] matrizB = new int[linhasB][colunasB];
    //atribui valor na matriz A
    System.out.println("\n__________Matriz A__________");
    for(int linha = 0; linha < linhasA; linha++) {
        for(int coluna = 0; coluna < colunasA; coluna++) {
            System.out.print("Digite o elemento da limha " + (linha +1) + " coluna " + (coluna +1) + " : ");
            matrizA[linha][coluna] = sc.nextInt();
        }
    }
    //atribui valor na matriz B
    System.out.println("\n__________Matriz B__________");
    for(int linha = 0; linha < linhasB; linha++) {
        for(int coluna = 0; coluna < colunasB; coluna++) {
            System.out.print("Digite o elemento da linha " + (linha +1) + " coluna " + (coluna +1) + " : ");
            matrizB[linha][coluna] = sc.nextInt();
        }
    }
    
    //ESTA PARTE PRECISA SER PASSADA POR PARAMETRO
    //produto de AXB
    int[][] produtoMatriz = new int[linhasA][colunasB];
    
    
    for(int i = 0; i < linhasA; i++) {
        for(int j = 0; j < colunasB; j++) {
            somatoria = 0;
            for(int k = 0; k < matrizA[0].length; k++) {
                int produto = matrizA[i][k] * matrizB[k][j];
                somatoria += produto;
            }
            produtoMatriz[i][j] = somatoria;
        }
    }
    //exibi produto do array 
    System.out.println("\nProduto das matrizes AxB");
    for(int linha = 0; linha < linhasA; linha++ ) {
        for(int coluna = 0; coluna < colunasB; coluna++ ) {
            System.out.println("Limha " + (linha +1) + " coluna " + (coluna +1) + " : " + produtoMatriz[linha][coluna]);
            
        }
    }
}    

}

Mensagens: 3

Participantes: 2

Ler tópico completo

@MockBean em abstract

$
0
0

@juniorsatanas escreveu:

Boa noite !
Quando eu uso Mock funciona quando eu uso MockBean nao funciona, alguem tema alguma ideia… OBrigado desde ja.
Eu tenho 3 classes.

@Entity
@Table(name = "pessoa", schema = "public")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Pessoa implements Serializable {

@Entity
@Table(name = "fisica", schema = "public")
@PrimaryKeyJoinColumn(name = "fkpessoa")
public class Fisica extends Pessoa implements Serializable {

@Entity
@Table(name = "juridica", schema = "public", uniqueConstraints = {@UniqueConstraint(columnNames = {"cnpj", "inscest"})})
@PrimaryKeyJoinColumn(name = "fkpessoa")
public class Juridica extends Pessoa implements Serializable {
package br.com.inss.resource;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.BDDMockito;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;

import java.time.LocalDate;
import java.time.Month;
import java.util.ArrayList;
import java.util.List;

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

@ActiveProfiles("test")
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
@AutoConfigureMockMvc
public class PessoaResourceTest {

    // Endpoint
    private static final String URL_BASE = "/pessoa/";
    // Pessoa
    private static final Long PESSOA_ID = 1L;
    private static final String FISICA_NOMERAZAO = "Eduarda Simone Jesus";
    private static final boolean PESSOA_ATIVO = true;
    private static final String PESSOA_OBS = "OBS";
    private static final boolean PESSOA_EMAILAUTO = true;
    private static final boolean PESSOA_ISENTOICMS = true;
    // Fisica
    private static final String FISICA_CPF = "612.620.058-68";
    private static final String FISICA_RG = "38.452.247-6";
    private static final String FISICA_SEXO = Sexo.FEMININO.getValor();
    private static final LocalDate FISICA_NASCIMENTO = LocalDate.of(1998, Month.APRIL, 11);
    private static final String FISICA_PAI = "Priscila Simone";
    private static final String FISICA_MAE = "Calebe Augusto Jesus";
    // Juridica
    private static final String JURIDICA_NOMERAZAO = "Bárbara e Giovanna Esportes ME";
    private static final String JURIDICA_FANTASIA = "Bárbara e Giovanna Esportes ME";
    private static final String JURIDICA_CNPJ = "42.765.656/0001-45";
    private static final String JURIDICA_INSCEST = "526.160.231.117";
    // Estado Civil
    private static final Integer ESTADOCIVIL_ID = 1;
    private static final String ESTADOCIVIL_DESCRICAO = "Solteiro";
    // Endereco
    private static final Long ENDERECO_ID = 1L;
    private static final String ENDERECO_TIPO = "Residencia";
    private static final String ENDERECO_CEP = "11680-971";
    private static final String ENDERECO_BAIRRO = "Centro";
    private static final String ENDERECO_NUMERO = "246";
    private static final String ENDERECO_COMPLEMENTO = "Casa 1";
    private static final String ENDERECO_REFERENCIA = "Proximo ao bar do Manoel";
    private static final String ENDERECO_LOGRADOURO = "Avenida Rio Grande do Sul 725";
    private static final boolean ENDERECO_PADRAO = true;
    // Cidade
    private static final Integer CIDADE_ID = 3555406;
    private static final String CIDADE_DESCRICAO = "Ubatuba";
    private static final String CIDADE_UF = "SP";
    // Pais
    private static final Integer PAIS_ID = 1050;
    private static final String PAIS_DESCRICAO = "Brasil";
    // Telefone
    private static final Long TELEFONE_ID = 1L;
    private static final String TELEFONE_DESCRICAO = "Residencia";
    private static final String TELEFONE_TELEFONE = "(12) 3919-5701";
    private static final boolean TELEFONE_PADRAO = false;
    // Celular
    private static final Long CELULAR_ID = 2L;
    private static final String CELULAR_DESCRICAO = "Celular";
    private static final String CELULAR_TELEFONE = "(12) 99388-6574";
    private static final boolean CELULAR_PADRAO = true;
    // E-mail
    private static final Long ENDERECOVIRTUAL_ID = 1L;
    private static final String ENDERECOVIRTUAL_TIPO = "E-mail";
    private static final String ENDERECOVIRTUAL_DESCRICAO = "eeduardaelisaninajesus@pp33.com.br";
    private static final boolean ENDERECOVIRTUAL_PADRAO = true;

    @Autowired
    private MockMvc mvc;

    @MockBean
    private PessoaService pessoaService;

    @MockBean
    private EstadoCivilService estadoCivilService;

    @MockBean
    private CidadeService cidadeService;

    @MockBean
    private PaisService paisService;

    @Test
    @WithMockUser
    public void testIncluirPessoaFisica() throws Exception {
        Fisica pessoaFisica = obterDadosPessoaFisica();
        BDDMockito.given(this.pessoaService.salvar(Mockito.any(Fisica.class))).willReturn(pessoaFisica);

        mvc.perform(MockMvcRequestBuilders.post(URL_BASE)
                .content(this.obterJsonRequisicaoPostFisica())
                .contentType(MediaType.APPLICATION_JSON)
                .accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isCreated())
                .andExpect(header().exists("location"));
    }

    @Test
    @WithMockUser
    public void testIncluirPessoaJuridica() throws Exception {
        Juridica juridica = obterDadosPessoaJuridica();
        BDDMockito.given(this.pessoaService.salvar(Mockito.any(Fisica.class))).willReturn(juridica);

        mvc.perform(MockMvcRequestBuilders.post(URL_BASE)
                .content(this.obterJsonRequisicaoPostJuridica())
                .contentType(MediaType.APPLICATION_JSON)
                .accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isCreated())
                .andExpect(header().exists("location"));
    }

    private String obterJsonRequisicaoPostFisica() throws JsonProcessingException {
        FisicaDTO fisicaDTO = FisicaDTO.FisicaDTOBuilder
                .aFisicaDTO()
                .comNomeRazao(FISICA_NOMERAZAO)
                .comAtivo(PESSOA_ATIVO)
                .comObs(PESSOA_OBS)
                .comEmailAuto(PESSOA_EMAILAUTO)
                .comIsentoicms(PESSOA_ISENTOICMS)
                .comCpf(FISICA_CPF)
                .comRg(FISICA_RG)
                .comSexo(Sexo.parse(FISICA_SEXO))
                .comNascimento(FISICA_NASCIMENTO)
                .comPai(FISICA_PAI)
                .comMae(FISICA_MAE)
                .comEstadoCivil(buildEstadoCivilDTO())
                .comEnderecos(buildEnderecosDTO())
                .comEnderecosVirtuais(buildEnderecosVirtuaisDTO())
                .comTelefones(buildTelefonesDTO())
                .build();

        ObjectMapper mapper = new ObjectMapper();
        return mapper.writeValueAsString(fisicaDTO);
    }

    private List<TelefoneDTO> buildTelefonesDTO() {
        List<TelefoneDTO> telefones = new ArrayList<>();
        telefones.add(TelefoneDTO.TelefoneDTOBuilder
                .oTelefoneDTO()
                .comId(TELEFONE_ID)
                .comDescricao(TELEFONE_DESCRICAO)
                .comTelefone(TELEFONE_TELEFONE)
                .comPadrao(TELEFONE_PADRAO)
                .build());

        telefones.add(TelefoneDTO.TelefoneDTOBuilder
                .oTelefoneDTO()
                .comId(CELULAR_ID)
                .comDescricao(CELULAR_DESCRICAO)
                .comTelefone(CELULAR_TELEFONE)
                .comPadrao(CELULAR_PADRAO)
                .build());
        return telefones;
    }

    private List<EnderecoVirtualDTO> buildEnderecosVirtuaisDTO() {
        List<EnderecoVirtualDTO> enderecoVirtuais = new ArrayList<>();
        enderecoVirtuais.add(EnderecoVirtualDTO.EnderecoVirtualDTOBuilder
                .oEnderecoVirtualDTO()
                .comId(ENDERECOVIRTUAL_ID)
                .comTipo(ENDERECOVIRTUAL_TIPO)
                .comDescricao(ENDERECOVIRTUAL_DESCRICAO)
                .comPadrao(ENDERECOVIRTUAL_PADRAO).build());
        return enderecoVirtuais;
    }

    private List<EnderecoDTO> buildEnderecosDTO() {
        List<EnderecoDTO> enderecos = new ArrayList<>();
        enderecos.add(EnderecoDTO.EnderecoDTOBuilder
                .oEnderecoDTO()
                .comId(ENDERECO_ID)
                .comTipo(ENDERECO_TIPO)
                .comCep(ENDERECO_CEP)
                .comBairro(ENDERECO_BAIRRO)
                .comNumero(ENDERECO_NUMERO)
                .comComplemento(ENDERECO_COMPLEMENTO)
                .comReferencia(ENDERECO_REFERENCIA)
                .comLogradouro(ENDERECO_LOGRADOURO)
                .comPadrao(ENDERECO_PADRAO)
                .comCidade(buildCidadeDTO())
                .comPais(buildPaisDTO())
                .build());
        return enderecos;
    }

    private PaisDTO buildPaisDTO() {
        return PaisDTO.PaisDTOBuilder
                .oPaisDTO()
                .comId(PAIS_ID)
                .comDescricao(PAIS_DESCRICAO)
                .build();
    }

    private CidadeDTO buildCidadeDTO() {
        return CidadeDTO.CidadeDTOBuilder
                .aCidadeDTO()
                .comId(CIDADE_ID)
                .comDescricao(CIDADE_DESCRICAO)
                .comUf(CIDADE_UF)
                .build();
    }

    private EstadoCivilDTO buildEstadoCivilDTO() {
        return EstadoCivilDTO.EstadoCivilDTOBuilder
                .oEstadoCivilDTO()
                .comId(ESTADOCIVIL_ID)
                .comDescricao(ESTADOCIVIL_DESCRICAO)
                .build();
    }

    private Fisica obterDadosPessoaFisica() {
        return Fisica.FisicaBuilder
                .aFisica()
                .comId(PESSOA_ID)
                .comNomeRazao(FISICA_NOMERAZAO)
                .comAtivo(PESSOA_ATIVO)
                .comObs(PESSOA_OBS)
                .comEmailAuto(PESSOA_EMAILAUTO)
                .comIsentoicms(PESSOA_ISENTOICMS)
                .comEstadoCivil(buildEstadoCivil())
                .comEnderecos(buildEnderecos())
                .comEnderecosVirtuais(buildEnderecosVirtuais())
                .comTelefones(buildTelefones())
                .comCpf(FISICA_CPF)
                .comRg(FISICA_RG)
                .comSexo(Sexo.parse(FISICA_SEXO))
                .comNascimento(FISICA_NASCIMENTO)
                .comPai(FISICA_PAI)
                .comMae(FISICA_MAE)
                .build();
    }

    private List<EnderecoVirtual> buildEnderecosVirtuais() {
        List<EnderecoVirtual> enderecoVirtuais = new ArrayList<>();
        enderecoVirtuais.add(EnderecoVirtual.EnderecoVirtualBuilder
                .oEnderecoVirtual()
                .comId(ENDERECOVIRTUAL_ID)
                .comTipo(ENDERECOVIRTUAL_TIPO)
                .comDescricao(ENDERECOVIRTUAL_DESCRICAO)
                .comPadrao(ENDERECOVIRTUAL_PADRAO).build());
        return enderecoVirtuais;
    }

    private List<Telefone> buildTelefones() {
        List<Telefone> telefones = new ArrayList<>();
        telefones.add(Telefone.TelefoneBuilder
                .oTelefone()
                .comId(TELEFONE_ID)
                .comDescricao(TELEFONE_DESCRICAO)
                .comTelefone(TELEFONE_TELEFONE)
                .comPadrao(TELEFONE_PADRAO)
                .build());

        telefones.add(Telefone.TelefoneBuilder
                .oTelefone()
                .comId(CELULAR_ID)
                .comDescricao(CELULAR_DESCRICAO)
                .comTelefone(CELULAR_TELEFONE)
                .comPadrao(CELULAR_PADRAO)
                .build());
        return telefones;
    }

    private List<Endereco> buildEnderecos() {
        List<Endereco> enderecos = new ArrayList<>();
        enderecos.add(Endereco.EnderecoBuilder
                .oEndereco()
                .comId(ENDERECO_ID)
                .comTipo(ENDERECO_TIPO)
                .comCep(ENDERECO_CEP)
                .comBairro(ENDERECO_BAIRRO)
                .comNumero(ENDERECO_NUMERO)
                .comComplemento(ENDERECO_COMPLEMENTO)
                .comReferencia(ENDERECO_REFERENCIA)
                .comLogradouro(ENDERECO_LOGRADOURO)
                .comPadrao(ENDERECO_PADRAO)
                .comCidade(buildCidade())
                .comPais(buildPais())
                .build());
        return enderecos;
    }

    private Pais buildPais() {
        return paisService.salvar(Pais.PaisBuilder
                .oPais()
                .comId(PAIS_ID)
                .comDescricao(PAIS_DESCRICAO)
                .build());
    }

    private Cidade buildCidade() {
        return cidadeService.salvar(Cidade.CidadeBuilder
                .aCidade()
                .comId(CIDADE_ID)
                .comDescricao(CIDADE_DESCRICAO)
                .comUf(CIDADE_UF)
                .build());
    }

    private EstadoCivil buildEstadoCivil() {
        return estadoCivilService.salvar(EstadoCivil.EstadoCivilBuilder
                .oEstadoCivil()
                .comId(ESTADOCIVIL_ID)
                .comDescricao(ESTADOCIVIL_DESCRICAO)
                .build());
    }

    private String obterJsonRequisicaoPostJuridica() throws JsonProcessingException {
        JuridicaDTO juridicaDTO = JuridicaDTO.JuridicaDTOBuilder
                .aJuridicaDTO()
                .comNomeRazao(JURIDICA_NOMERAZAO)
                .comAtivo(PESSOA_ATIVO)
                .comObs(PESSOA_OBS)
                .comEmailAuto(PESSOA_EMAILAUTO)
                .comIsentoicms(PESSOA_ISENTOICMS)
                .comEnderecos(buildEnderecosDTO())
                .comEnderecosVirtuais(buildEnderecosVirtuaisDTO())
                .comTelefones(buildTelefonesDTO())
                .comCnpj(JURIDICA_CNPJ)
                .comFantasia(JURIDICA_FANTASIA)
                .comInscest(JURIDICA_INSCEST)
                .build();

        ObjectMapper mapper = new ObjectMapper();
        return mapper.writeValueAsString(juridicaDTO);
    }

    private Juridica obterDadosPessoaJuridica() {
        return Juridica.JuridicaBuilder
                .aJuridica()
                .comId(PESSOA_ID)
                .comNomeRazao(FISICA_NOMERAZAO)
                .comAtivo(PESSOA_ATIVO)
                .comObs(PESSOA_OBS)
                .comEmailAuto(PESSOA_EMAILAUTO)
                .comFantasia(FISICA_NOMERAZAO)
                .build();
    }
}

Mensagens: 1

Participantes: 1

Ler tópico completo


Ordem JAVA

$
0
0

@Keize escreveu:

Não entendo nada de Java, meu professor pediu um trabalho e passou os seguintes tópicos:

1 - Aplicações
2 - Máquina Virtual
3 - Bytecode
4 - Garbage Collector
5 - Comando básicos

O problema é que eu não sei a ordem que devo colocar no trabalho, alguém pode me ajudar?

Mensagens: 2

Participantes: 2

Ler tópico completo

Java - eclipse no pen drive ?

$
0
0

@Alex234 escreveu:

Pessoal, poderiam me dar uma força? Preciso usar o Eclipse através do pen drive, em qualquer máquina plugar e usar. Como faço isso ?

OBS: Não tenho acesso de administrador.

Mensagens: 2

Participantes: 2

Ler tópico completo

Não estou conseguindo passar esse exercício por parâmetro

$
0
0

@Anderson_L017 escreveu:

Bom dia pessoal! (eu sou iniciante no Java e preciso de ajuda)

Eu me deparei com esse problema aqui. Eu fiz ele todo, só não conseguir passar por parâmetro. Alguém pode me ajudar? Como que eu faço para passar por parâmetro? Teria como fazer de outra forma? Se sim, como ficaria?

Fazer um programa em Java que leia uma matriz de no máximo 10 linhas por 10 colunas e que faça a multiplicação dessas matrizes. A multiplicação das matrizes deve ser feita em uma sub-rotina com passagem das matrizes por parâmetro. O programa deve solicitar do usuário a ordem das matrizes antes de lê-las e checar se as matrizes podem ser multiplicadas (pesquisar qual o pré-requisito para a multiplicação de matrizes) e caso as ordens digitadas não esteja de acordo informar ao usuário e solicitar novamente ou oferecer uma forma para que o usuário não execute o programa.

identar texto pre-formatado em 4 espaços



public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    
    int linhasA=0, linhasB=0, colunasA=0, colunasB=0, somatoria;
    
    boolean ok = false;
    int continuar = 1;
    
    
    while(ok == false && continuar == 1 ) {
    //entrada de dados (dimensoes das matrizes)
    System.out.print("Digite a quantidade de linhas da matriz A: ");
    linhasA = sc.nextInt();
    
    System.out.print("Digite a quantidade de colunas da matriz A: ");
    colunasA = sc.nextInt();
    
    System.out.print("Digite a quantidade linhas de da matriz B: ");
    linhasB = sc.nextInt();
    
    System.out.print("Digite a quantidade de colunas da matriz B: "); 
    colunasB = sc.nextInt();
        //analisa se as dimensoes digitadas sao validas
        if(linhasA < 11 && linhasB < 11 && colunasA < 11 && colunasB < 11) {
                 
            if(linhasA == colunasB && linhasB == colunasA) {
                ok = true;
                System.out.println("\nValores aceitos"); 
                    } else {
                        System.out.println("\nAs dimensões das matrizes informadas são invalidas!\nElas não podem ser multiplicadas entre si!");
                        System.out.print("\nPor favor presione 1 para digitar novamente ou 0 para encerrar o programa\n=> ");
                        continuar = sc.nextInt();
                }
            } else { // linhasA < 11 && linhasB < 11 && colunasA < 11 && colunasB < 11
                    System.out.println("O tamanho exerdeu o limite, no maximo 10 linhas por 10 colunas");
                    System.out.print("\nPor favor presione 1 para digitar novamente ou 0 para encerrar o programa\n=> ");
                    continuar = sc.nextInt();
                }
    
    }
    
    int[][] matrizA = new int[linhasA][colunasA];
    int[][] matrizB = new int[linhasB][colunasB];
    //entrada de dados (atribui valor na matriz A)
    System.out.println("\n__________Matriz A__________");
    for(int linha = 0; linha < linhasA; linha++) {
        for(int coluna = 0; coluna < colunasA; coluna++) {
            System.out.print("Digite o elemento da limha " + (linha +1) + " coluna " + (coluna +1) + " : ");
            matrizA[linha][coluna] = sc.nextInt();
        }
    }
    //entrada de dados (atribui valor na matriz B)
    System.out.println("\n__________Matriz B__________");
    for(int linha = 0; linha < linhasB; linha++) {
        for(int coluna = 0; coluna < colunasB; coluna++) {
            System.out.print("Digite o elemento da linha " + (linha +1) + " coluna " + (coluna +1) + " : ");
            matrizB[linha][coluna] = sc.nextInt();
        }
    }
    
    //ESTA PARTE PRECISA SER PASSADA POR PARAMETRO
    //produto de AXB
    int[][] produtoMatriz = new int[linhasA][colunasB];
    
    
    for(int i = 0; i < linhasA; i++) {
        for(int j = 0; j < colunasB; j++) {
            somatoria = 0;
            for(int k = 0; k < matrizA[0].length; k++) {
                int produto = matrizA[i][k] * matrizB[k][j];
                somatoria += produto;
            }
            produtoMatriz[i][j] = somatoria;
        }
    }
    //exibi produto do array 
    System.out.println("\nProduto das matrizes AxB");
    for(int linha = 0; linha < linhasA; linha++ ) {
        for(int coluna = 0; coluna < colunasB; coluna++ ) {
            System.out.println("Limha " + (linha +1) + " coluna " + (coluna +1) + " : " + produtoMatriz[linha][coluna]);
            
        }
    }
}

Mensagens: 4

Participantes: 3

Ler tópico completo

Como editar aquivo texto e remover um caracter que se repete ?

$
0
0

@rodrigofsantos escreveu:

Senhore eu tenho um pequeno codigo que envia um comando para uma porta USB e pega o resultado o resultado vem em bytes entao ele retorna em String e depois adiciono em um array e armazeno em um arquivo texto so que o resultado vem com os [ ] do array eu preciso pegar algumas linhas deste arquivo mas nao estou conseguindo devido esse problema veja o codigo:

String portaCom = "COM8";
    OutputStream outputStream;
    String result;
    SerialPort[] portNames = SerialPort.getCommPorts();
    for (SerialPort portName : SerialPort.getCommPorts()) {
        //System.out.println(portName.getSystemPortName());
        //result = portName.getSystemPortName();
        //System.out.println(result);
    }

    String command = "cmd.exe /c ECHO ATI\n >\\\\.\\COM8";
    Runtime r = Runtime.getRuntime();
    Process p = r.exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + command);
    
    
    SerialPort comPort = SerialPort.getCommPort(portaCom);
    comPort.openPort();
    comPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 0, 0);
    InputStream in = comPort.getInputStream();
    String modem = comPort.getSystemPortName();
    System.out.print(modem);
    for (int j = 0; j <= 114; j++) {
        char lerModem = (char) in.read();
        result = String.valueOf(lerModem);
        //System.out.print(result);
        String[] dadosModem = result.split("\\r", 0);
        System.out.print(Arrays.toString(dadosModem));
    }
    in.close();
    comPort.closePort();

o resultado e esse:

COM8[][
][^][R][S][S][I][:][ ][2][4][][
][A][T][I][ ][][][
][M][a][n][u][f][a][c][t][u][r][e][r][:][ ][h][u][a][w][e][i][][
][M][o][d][e][l][:][ ][E][1][7][3][][
][R][e][v][i][s][i][o][n][:][ ][2][1][.][0][4][5][.][0][6][.][0][0][.][0][0][][
][I][M][E][I][:][ ][1][0][3][7][4][8][1][1][3][1][7][9][5][4][3][][
][+][G][C][A][P][:][ ][+][C][G]

teria como eu salvar de outra forma ou somente assim ?
da forma anterior ele mostra somente bytes e foi a unica maneira de resolver mas caso alguém possa me ajudar fico imensamente grato !!!

Mensagens: 1

Participantes: 1

Ler tópico completo

Java iniciante

$
0
0

@Zeca_Martins escreveu:

Ola pessoal estou iniciando no JAVA. O que é preciso baixar para desenvolver programas. Alguem podeira me ajudar ? desde já agradeço.

Mensagens: 2

Participantes: 2

Ler tópico completo

Viewing all 14698 articles
Browse latest View live
<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>