reaproveitamento-poo-java

commit 278b4ab85009eb058cc36a55d8f157b82877d2e2

Author: Pedro Lucas Porcellis <porcellis@eletrotupi.com>

main: list using views and controllers

 src/org/porcellis/Main.java | 100 ++++++++++++++++++++++++++++++--------


diff --git a/src/org/porcellis/Main.java b/src/org/porcellis/Main.java
index 24067469a2a2b12e1c2ccea1687cbeee050010bb..c96180a2c91ef1566fe2c06603941a01a8a41186 100644
--- a/src/org/porcellis/Main.java
+++ b/src/org/porcellis/Main.java
@@ -1,53 +1,111 @@
 package org.porcellis;
 
-import org.porcellis.models.Casa;
-import org.porcellis.models.Endereco;
+import org.porcellis.models.*;
+import org.porcellis.controllers.*;
+import org.porcellis.views.*;
 
-import org.porcellis.controllers.ImovelController;
-import org.porcellis.views.ImovelView;
+import java.util.ArrayList;
+import java.util.List;
 
 public class Main {
 	public static void main(String[] args) {
-		System.out.println("Olá!");
+		System.out.println("\tOlá!\n");
 
-		Endereco enderecoCasa = new Endereco(
+		Endereco enderecoCasa1 = new Endereco(
 			"Rua",
-			"Rua dos Bobos",
+			"Astrogildo Pereira",
 			"Laranjeiras",
 			"Pelotas",
 			"RS",
 			"96001-970"
 		);
 
-		Casa casa = new Casa(enderecoCasa, 100.0, 100000.0, 120000.0, 200.0);
+		Casa casa1 = new Casa(enderecoCasa1, 100.0, 100000.0, 120000.0, 200.0);
 
-		Endereco enderecoApartamento = new Endereco(
+		Endereco enderecoCasa2 = new Endereco(
 			"Avenida",
-			"Avenida dos Bobos",
+			"Avenida Minervino de Oliveira",
+			"Humaitá",
+			"Pelotas",
+			"RS",
+			"96401-970"
+		);
+
+		Casa casa2 = new Casa(enderecoCasa2, 100.0, 100000.0, 120000.0, 200.0);
+
+		// Apartamentos
+		Endereco enderecoApartamento1 = new Endereco(
+			"Avenida",
+			"Farrapos",
 			"Centro",
 			"Porto Alegre",
 			"RS",
-			"90001-970"
+			"90405-940"
+		);
+
+		Endereco enderecoApartamento2 = new Endereco(
+			"Rua",
+			"Borges de Medeiros",
+			"Bomfim",
+			"Porto Alegre",
+			"RS",
+			"90005-990"
 		);
 
-		Apartamento apartamento = new Apartamento(
-			enderecoApartamento,
+		Apartamento apto1 = new Apartamento(
+			enderecoApartamento1,
 			100.0,
 			100000.0,
 			120000.0,
-			200.0,
-			10.0
+			"Condomínio Marrakesh"
+		);
+
+		Apartamento apto2 = new Apartamento(
+			enderecoApartamento2,
+			100.0,
+			100000.0,
+			120000.0,
+			"Condominio dos Amantes da Setima Arte"
 		);
 
 		ImovelView imovelView = new ImovelView();
 
-		// XXX: Não seria melhor usar um for loop para iterar sobre os imóveis?
-		ImovelController imovelController = new ImovelController(casa, imovelView);
-		imovelController.mostrarDetalhesImovel();
+		ImovelController imovelController = new ImovelController(imovelView);
+		imovelController.adicionarImovel(casa1);
+		imovelController.adicionarImovel(casa2);
+		imovelController.adicionarImovel(apto1);
+		imovelController.adicionarImovel(apto2);
 
-		imovelController = new ImovelController(apartamento, imovelView);
-		imovelController.mostrarDetalhesImovel();
+		// XXX: Não sei porque precisa printar duas vezes, mas vamos exibir os
+		// imóveis duas vezes ¯\_(ツ)_/¯
+		imovelView.mostrarDetalhesImovel(casa1);
+		imovelView.mostrarDetalhesImovel(casa2);
+		imovelView.mostrarDetalhesImovel(apto1);
+		imovelView.mostrarDetalhesImovel(apto2);
 
-		System.out.println("Tchau!");
+		System.out.println("");
+
+		UnidadePelotas unidadePelotas = new UnidadePelotas(
+			"Mansarão", "1234567890", 3000.0, 1.5
+		);
+
+		UnidadePortoAlegre unidadePortoAlegre = new UnidadePortoAlegre(
+			"Casinhas de Madeira", "1234567890", 2500.0, 1.1
+		);
+
+		ImobiliariaView imobiliariaView = new ImobiliariaView();
+		ImobiliariaController imobiliariaController = new ImobiliariaController(
+			imobiliariaView
+		);
+
+		imobiliariaController.adicionarImobiliaria(unidadePelotas);
+		imobiliariaController.adicionarImobiliaria(unidadePortoAlegre);
+
+		System.out.println("\n\tListando usando Controllers:\n");
+
+		imovelController.listarImoveis();
+		imobiliariaController.listarImobiliarias();
+
+		System.out.println("\nXau!");
 	}
 }