From 00898424d0874d855e871e8348a9dfd930c36fd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Ko=C5=BEusznik?= <jan@kozusznik.cz>
Date: Fri, 25 Nov 2022 20:27:39 +0100
Subject: [PATCH] Solve cyclic refs

---
 .gitignore                                 |   2 ++
 src/main/java/cz/jezek/lab11/Oponents.java |   9 ++++---
 src/main/java/cz/jezek/lab11/Player.java   |  11 ++++++++-
 tournament.obj                             | Bin 613 -> 0 bytes
 tournament.xml                             |  27 ---------------------
 5 files changed, 18 insertions(+), 31 deletions(-)
 delete mode 100644 tournament.obj
 delete mode 100644 tournament.xml

diff --git a/.gitignore b/.gitignore
index 288436f..44410ac 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,6 @@
 .project
 .classpath
 
+tournament.xml
+tournament.obj
 .DS_Store
diff --git a/src/main/java/cz/jezek/lab11/Oponents.java b/src/main/java/cz/jezek/lab11/Oponents.java
index 428893e..6057d2d 100644
--- a/src/main/java/cz/jezek/lab11/Oponents.java
+++ b/src/main/java/cz/jezek/lab11/Oponents.java
@@ -3,7 +3,8 @@ package cz.jezek.lab11;
 import java.io.Serializable;
 import java.util.Objects;
 
-import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlIDREF;
 
 public class Oponents implements Serializable{
 
@@ -12,10 +13,12 @@ public class Oponents implements Serializable{
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	@XmlElement
+	@XmlIDREF
+	@XmlAttribute
 	private Player player1;
 	
-	@XmlElement
+	@XmlIDREF
+	@XmlAttribute
 	private Player player2;
 
 	public Oponents() {
diff --git a/src/main/java/cz/jezek/lab11/Player.java b/src/main/java/cz/jezek/lab11/Player.java
index ab7d0e6..8611a00 100644
--- a/src/main/java/cz/jezek/lab11/Player.java
+++ b/src/main/java/cz/jezek/lab11/Player.java
@@ -2,12 +2,21 @@ package cz.jezek.lab11;
 
 import java.io.Serializable;
 
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+
 public class Player implements Serializable{
 
 	private static final long serialVersionUID = 1L;
 	private String firstName;
 	private String lastName;
-
+	
+	@XmlID
+	@XmlAttribute(name = "id")
+	public String getFullNane () {
+		return toString();
+	}
+	
 	public static Player generateRandom() {
 		return new Player(RandomGenarator.selectRandom(RandomGenarator.NAMES),
 				RandomGenarator.selectRandom(RandomGenarator.SURNAMES));
diff --git a/tournament.obj b/tournament.obj
deleted file mode 100644
index d71f9ba749edf52cb9f33e56af3abb2a87930339..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 613
zcmZvaJ5Iwu5QfLjlOiG_pkQi5Y0GISLW4vDatKloO{$HxBsPw1))R0dL5)P015i=Y
zP||P%8afVvH~<a1Yv+N%g{{%d{Qt~1e)@z$#6Ytrx=SbYLib3|H1*S9#C$TOK0^Aa
zkh7pPBxnz4giy6yaz%_0I-X%U5jHKziw1<XB;ygkZ*-73exK(`p-0A)MVD|3N*r>>
zEzz%wetn-YGLE+8M`(RK?!CU<72j1*x}Xq*T6ama-E*mp%{Uw}sCTW*;4Lv=^Q?M*
zJ>B{GRsrIWFQ9P4_5Ui<<rKc%Aykqf&5j)~>doUu5?fFX!ocT9`1%_6H6$=Y0yEla
ziqAD8#y#s9&so*NR-Lmk5$ajh6G?5suOawVB)^S}bW-|Dc;(z-5gzlah&Jw2_Q+Bk
zhY0zjz#kyw4gxA~vx-n?5yr+MMSOnFB8or3mDxN;zWE1vI;47|J-keJpJ&WfVOkZh
F+7F5twafqj

diff --git a/tournament.xml b/tournament.xml
deleted file mode 100644
index 3bda513..0000000
--- a/tournament.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tournament>
-   <players>
-      <player>
-         <firstName>Jonh</firstName>
-         <lastName>Doe</lastName>
-      </player>
-      <player>
-         <firstName>Marry</firstName>
-         <lastName>Jane</lastName>
-      </player>
-   </players>
-   <matches>
-      <match player1Scorel="0" player2Scorel="0">
-         <oponents>
-            <player1>
-               <firstName>Jonh</firstName>
-               <lastName>Doe</lastName>
-            </player1>
-            <player2>
-               <firstName>Marry</firstName>
-               <lastName>Jane</lastName>
-            </player2>
-         </oponents>
-      </match>
-   </matches>
-</tournament>
-- 
GitLab