CardsXml object added
This commit is contained in:
parent
2b40efda5f
commit
9ddfdb3aa0
18
pom.xml
18
pom.xml
@ -51,9 +51,15 @@
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>8.0.33</version>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
<!-- <scope>runtime</scope> -->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-core</artifactId>
|
||||
<version>6.5.2.Final</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
@ -62,6 +68,12 @@
|
||||
<version>1.18.28</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.reflections</groupId>
|
||||
<artifactId>reflections</artifactId>
|
||||
|
@ -5,12 +5,16 @@ import com.alterdekim.hearthhack.config.FS;
|
||||
import com.alterdekim.hearthhack.config.ServerConfig;
|
||||
import com.alterdekim.hearthhack.parser.CardsXmlParser;
|
||||
import com.alterdekim.hearthhack.parser.DBFParser;
|
||||
import com.alterdekim.hearthhack.xml.CardsXML;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.event.ContextRefreshedEvent;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.*;
|
||||
@ -46,6 +50,8 @@ public class StartupListener {
|
||||
if( !Path.of(serverConfig.getWorkDir() + File.separator + FS.dbfDir).toFile().exists() ) initDbf();
|
||||
if( !Path.of(serverConfig.getWorkDir() + File.separator + FS.dataDir).toFile().exists() ) initXml();
|
||||
dbfConfig.setCards(DBFParser.parseCards(serverConfig.getWorkDir() + File.separator + FS.dbfDir));
|
||||
CardsXML xml = DBFParser.parse(serverConfig.getWorkDir() + File.separator + FS.dataDir + File.separator + "enUS.xml", CardsXML.class);
|
||||
log.info("CardsXML: {}", xml);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
@ -82,4 +88,14 @@ public class StartupListener {
|
||||
private boolean makeDir(String dirName) {
|
||||
return Path.of(serverConfig.getWorkDir() + File.separator + dirName).toFile().mkdirs();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DataSource getDataSource() {
|
||||
DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
|
||||
dataSourceBuilder.driverClassName("org.h2.Driver");
|
||||
dataSourceBuilder.url("jdbc:h2:file:"+serverConfig.getWorkDir()+File.separator+FS.dbDir+File.separator+"data.db;DATABASE_TO_UPPER=false;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE;MODE=PostgreSQL;");
|
||||
dataSourceBuilder.username("SA");
|
||||
dataSourceBuilder.password("");
|
||||
return dataSourceBuilder.build();
|
||||
}
|
||||
}
|
@ -38,10 +38,10 @@ public class User {
|
||||
private List<Role> roles = new ArrayList<>();
|
||||
|
||||
@Column(nullable = false)
|
||||
private Integer dustBalance = 0;
|
||||
private Integer dustBalance = 200;
|
||||
|
||||
@Column(nullable = false)
|
||||
private Integer goldBalance = 0;
|
||||
private Integer goldBalance = 150;
|
||||
|
||||
@Column(nullable = false)
|
||||
private Long defaultCardBack = 0L;
|
||||
|
@ -2,11 +2,9 @@ package com.alterdekim.hearthhack.parser;
|
||||
|
||||
import com.alterdekim.hearthhack.dbf.CardsDBF;
|
||||
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.xml.sax.helpers.DefaultHandler;
|
||||
import java.io.File;
|
||||
|
||||
public class DBFParser extends DefaultHandler {
|
||||
public class DBFParser {
|
||||
|
||||
public static CardsDBF parseCards(String path) throws Exception {
|
||||
return parse(path + "/CARD.xml", CardsDBF.class);
|
||||
|
18
src/main/java/com/alterdekim/hearthhack/xml/CardsXML.java
Normal file
18
src/main/java/com/alterdekim/hearthhack/xml/CardsXML.java
Normal file
@ -0,0 +1,18 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ToString
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CardsXML {
|
||||
@JsonProperty("Entity")
|
||||
@JacksonXmlElementWrapper(useWrapping = false)
|
||||
private List<XMLEntity> entities;
|
||||
}
|
46
src/main/java/com/alterdekim/hearthhack/xml/XMLEntity.java
Normal file
46
src/main/java/com/alterdekim/hearthhack/xml/XMLEntity.java
Normal file
@ -0,0 +1,46 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public class XMLEntity {
|
||||
//@JsonProperty("")
|
||||
@JacksonXmlProperty(isAttribute = true, localName = "CardID")
|
||||
private String cardId;
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Integer version;
|
||||
|
||||
@JsonProperty("Tag")
|
||||
@JacksonXmlElementWrapper(useWrapping = false)
|
||||
private List<XMLTag> tags;
|
||||
|
||||
@JacksonXmlProperty(localName = "MasterPower")
|
||||
private XMLMasterPower masterPower;
|
||||
|
||||
@JsonProperty("Power")
|
||||
@JacksonXmlElementWrapper(useWrapping = false)
|
||||
private List<XMLPower> power;
|
||||
|
||||
@JsonProperty("ReferencedTag")
|
||||
@JacksonXmlElementWrapper(useWrapping = false)
|
||||
private List<XMLReferencedTag> refTags;
|
||||
|
||||
@JsonProperty("TriggeredPowerHistoryInfo")
|
||||
@JacksonXmlElementWrapper(useWrapping = false)
|
||||
private List<XMLTriggeredPowerHistoryInfo> powerHistoryInfos;
|
||||
|
||||
@JsonProperty("EntourageCard")
|
||||
@JacksonXmlElementWrapper(useWrapping = false)
|
||||
private List<XMLEntourageCard> entourageCards;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import lombok.*;
|
||||
|
||||
|
||||
@ToString
|
||||
@Setter
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class XMLEntourageCard {
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private String cardID;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText;
|
||||
import lombok.*;
|
||||
|
||||
|
||||
@ToString
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class XMLMasterPower {
|
||||
@JacksonXmlText
|
||||
private String val;
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import lombok.*;
|
||||
|
||||
@ToString
|
||||
@Setter
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class XMLPlayRequirement {
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Integer param;
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Integer reqID;
|
||||
}
|
23
src/main/java/com/alterdekim/hearthhack/xml/XMLPower.java
Normal file
23
src/main/java/com/alterdekim/hearthhack/xml/XMLPower.java
Normal file
@ -0,0 +1,23 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ToString
|
||||
@Setter
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class XMLPower {
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private String definition;
|
||||
|
||||
@JsonProperty("PlayRequirement")
|
||||
@JacksonXmlElementWrapper(useWrapping = false)
|
||||
private List<XMLPlayRequirement> playRequirement;
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import lombok.*;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class XMLReferencedTag {
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Integer enumID;
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private String name;
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private String type;
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private String value;
|
||||
}
|
25
src/main/java/com/alterdekim/hearthhack/xml/XMLTag.java
Normal file
25
src/main/java/com/alterdekim/hearthhack/xml/XMLTag.java
Normal file
@ -0,0 +1,25 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText;
|
||||
import lombok.*;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public class XMLTag {
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Integer enumID;
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private String type;
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Integer value;
|
||||
@JacksonXmlText
|
||||
private String val;
|
||||
|
||||
public String getRawValue() {
|
||||
return val != null ? val : String.valueOf(value);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.alterdekim.hearthhack.xml;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import lombok.*;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class XMLTriggeredPowerHistoryInfo {
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Integer effectIndex;
|
||||
@JacksonXmlProperty(isAttribute = true)
|
||||
private Boolean showInHistory;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user