From 2761eb73bf4512999a6cb9ac1006811701e474ba Mon Sep 17 00:00:00 2001
From: "jonas.stirnema" <jonas.stirnemann@etu.hesge.ch>
Date: Tue, 18 Oct 2022 11:04:15 +0200
Subject: [PATCH] Modified dyn array and fixed contact

---
 src/Contact.java  | 36 +++++++++++++++++++++++++-----------
 src/DynArray.java | 24 ++++++++++++------------
 src/Main.java     |  5 +++++
 3 files changed, 42 insertions(+), 23 deletions(-)

diff --git a/src/Contact.java b/src/Contact.java
index 6fb6c10..19b379b 100644
--- a/src/Contact.java
+++ b/src/Contact.java
@@ -54,10 +54,10 @@ public class Contact {
 	}
 
 	public void setNames(List<String> names) {
-		if (!names.isEmpty() || (names.contains("") && (names.size() == 1))) {
-			this.names = names;
+		if (names.isEmpty() || (names.contains("") && (names.size() == 1))) {
+			this.names = new ArrayList<String>(Arrays.asList("Anoname"));
 		} else {
-			this.names = new ArrayList<String>(Arrays.asList("Anon"));
+			this.names = names;
 		}
 	}
 
@@ -66,10 +66,10 @@ public class Contact {
 	}
 
 	public void setAddress(String address) {
-		if (!address.isBlank()) {
-			this.address = address;
-		} else {
+		if (address.isBlank()) {
 			this.address = "Nowhere";
+		} else {
+			this.address = address;
 		}
 	}
 
@@ -78,8 +78,10 @@ public class Contact {
 	}
 
 	public void setPhoneNumbers(List<String> phoneNumbers) {
-		if (!phoneNumbers.isEmpty() || (phoneNumbers.contains("") && (phoneNumbers.size() == 1))) {
+		if (phoneNumbers.isEmpty() || (phoneNumbers.contains("") && (phoneNumbers.size() == 1))) {
 			this.phoneNumbers = new ArrayList<String>(Arrays.asList("0102030405"));
+		} else {
+			this.phoneNumbers = phoneNumbers;
 		}
 	}
 
@@ -88,8 +90,10 @@ public class Contact {
 	}
 
 	public void setEmails(List<String> emails) {
-		if (!emails.isEmpty()) {
+		if (emails.isEmpty() || (emails.contains("") && (emails.size() == 1))) {
 			this.emails = new ArrayList<String>(Arrays.asList("none@none.com"));
+		} else {
+			this.emails = emails;
 		}
 	}
 
@@ -98,10 +102,10 @@ public class Contact {
 	}
 
 	public void setSocials(List<String> socials) {
-		if (!socials.isEmpty()) {
-			this.socials = socials;
+		if (socials.isEmpty() || (socials.contains("") && (socials.size() == 1))) {
+			this.socials = new ArrayList<String>(Arrays.asList("@No_one"));
 		} else {
-			this.socials = new ArrayList<String>(Arrays.asList("none@none.com"));
+			this.socials = socials;
 		}
 	}
 
@@ -147,7 +151,16 @@ public class Contact {
 		System.out.println("Job        : " + this.job);
 	}
 
+	public String toShortString() {
+		return this.fname + " " + this.names.get(0);
+	}
+
+	public void showShort() {
+		System.out.println(this.toShortString());
+	}
+
 	public void show() {
+		System.out.println("----------");
 		showFname();
 		showNames();
 		showAddress();
@@ -155,6 +168,7 @@ public class Contact {
 		showEmails();
 		showSocials();
 		showJob();
+		System.out.println("----------");
 	}
 
 }
diff --git a/src/DynArray.java b/src/DynArray.java
index 573e9df..f2b1098 100644
--- a/src/DynArray.java
+++ b/src/DynArray.java
@@ -3,22 +3,22 @@ public class DynArray {
 
 	private final int basev = 10;
 	private int size = 0;
-	private String[] array;
+	private Contact[] array;
 	private int capacity;
 
-	public DynArray(String[] a) {
+	public DynArray(Contact[] a) {
 		this.size = a.length;
 		this.capacity = this.basev;
-		this.array = new String[this.capacity];
+		this.array = new Contact[this.capacity];
 		copy_content(a, this.array);
 	}
 
 	public DynArray() {
-		this.array = new String[this.capacity];
+		this.array = new Contact[this.capacity];
 		this.size = 0;
 	}
 
-	public void append(String[] a) {
+	public void append(Contact[] a) {
 		make_sure_size(a); // REALLOC IF NEEDED
 		this.size += a.length;
 		int s = this.size;
@@ -38,12 +38,12 @@ public class DynArray {
 		this.size--;
 	}
 
-	public void make_sure_size(String[] a) {
+	public void make_sure_size(Contact[] a) {
 		if ((this.size + a.length) > this.capacity) // Overflow?
 		{
 			// Realloc new array
 			this.capacity *= 2;
-			String[] new_arr = new String[this.capacity];
+			Contact[] new_arr = new Contact[this.capacity];
 			copy_content(this.array, new_arr);
 
 			this.array = new_arr; // Copy pointer
@@ -51,15 +51,15 @@ public class DynArray {
 	}
 
 	public void show_it() {
-		System.out.println(this.intoString());
+		System.out.println(this.toString());
 	}
 
-	public String intoString() {
+	public String toString() {
 		String s = "";
 
 		for (int i = 0; i < this.size; i++) {
-			s = s.concat(array[i]);
-			s = s.concat(", ");
+			s = s.concat(array[i].toShortString());
+			s = s.concat(",\n");
 		}
 		return s;
 	}
@@ -68,7 +68,7 @@ public class DynArray {
 		return size == 0;
 	}
 
-	private static void copy_content(String[] source, String[] dest) {
+	private static void copy_content(Contact[] source, Contact[] dest) {
 
 		// System.out.println("Source lenght" + source.length);
 		// System.out.println("Dest lenght" + dest.length);
diff --git a/src/Main.java b/src/Main.java
index c2b78f5..51b4e68 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -10,6 +10,11 @@ public class Main {
 				Arrays.asList("@Jonas", "@TPO"),
 				"Eboueur");
 
+		Contact c2 = new Contact();
+
 		c1.show();
+		c2.show();
+		System.out.println(c1.toShortString());
+		c2.showShort();
 	}
 }
-- 
GitLab