mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
StorageReaderFile passes record seq. number along with the record itself
This commit is contained in:
@@ -180,7 +180,7 @@ public class BoosterData {
|
|||||||
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected BoosterData read(String line) {
|
protected BoosterData read(String line, int i) {
|
||||||
final FileSection section = FileSection.parse(line, ":", "|");
|
final FileSection section = FileSection.parse(line, ":", "|");
|
||||||
int nC = section.getInt("Commons", 0);
|
int nC = section.getInt("Commons", 0);
|
||||||
int nU = section.getInt("Uncommons", 0);
|
int nU = section.getInt("Uncommons", 0);
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public final class CardBlock implements Comparable<CardBlock> {
|
|||||||
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected CardBlock read(String line) {
|
protected CardBlock read(String line, int i) {
|
||||||
final String[] sParts = line.trim().split("\\|");
|
final String[] sParts = line.trim().split("\\|");
|
||||||
|
|
||||||
String name = null;
|
String name = null;
|
||||||
|
|||||||
@@ -208,9 +208,9 @@ public final class CardEdition implements Comparable<CardEdition> { // immutable
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CardEdition read(String line) {
|
protected CardEdition read(String line, int i) {
|
||||||
FileSection section = FileSection.parse(line, ":", "|");
|
FileSection section = FileSection.parse(line, ":", "|");
|
||||||
int index = section.getInt("index", -1);
|
int index = 1+i;
|
||||||
String code2 = section.get("code2");
|
String code2 = section.get("code2");
|
||||||
String code = section.get("code3");
|
String code = section.get("code3");
|
||||||
String type = section.get("type");
|
String type = section.get("type");
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class FatPackData {
|
|||||||
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected FatPackData read(String line) {
|
protected FatPackData read(String line, int i) {
|
||||||
final FileSection section = FileSection.parse(line, ":", "|");
|
final FileSection section = FileSection.parse(line, ":", "|");
|
||||||
int nBoosters = section.getInt("Boosters", 0);
|
int nBoosters = section.getInt("Boosters", 0);
|
||||||
int nLand = section.getInt("BasicLands", 0);
|
int nLand = section.getInt("BasicLands", 0);
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public final class FormatCollection extends StorageView<GameFormat> {
|
|||||||
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected GameFormat read(String line) {
|
protected GameFormat read(String line, int i) {
|
||||||
final List<String> sets = new ArrayList<String>(); // default: all sets allowed
|
final List<String> sets = new ArrayList<String>(); // default: all sets allowed
|
||||||
final List<String> bannedCards = new ArrayList<String>(); // default:
|
final List<String> bannedCards = new ArrayList<String>(); // default:
|
||||||
// nothing
|
// nothing
|
||||||
@@ -101,7 +101,7 @@ public final class FormatCollection extends StorageView<GameFormat> {
|
|||||||
|
|
||||||
FileSection section = FileSection.parse(line, ":", "|");
|
FileSection section = FileSection.parse(line, ":", "|");
|
||||||
String name = section.get("name");
|
String name = section.get("name");
|
||||||
int index = section.getInt("index", 0);
|
int index = 1 + i;
|
||||||
String strSets = section.get("sets");
|
String strSets = section.get("sets");
|
||||||
if ( null != strSets ) {
|
if ( null != strSets ) {
|
||||||
sets.addAll(Arrays.asList(strSets.split(", ")));
|
sets.addAll(Arrays.asList(strSets.split(", ")));
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import java.util.List;
|
|||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
|
||||||
import forge.quest.data.GameFormatQuest;
|
import forge.quest.data.GameFormatQuest;
|
||||||
|
import forge.util.FileSection;
|
||||||
import forge.util.storage.StorageReaderFile;
|
import forge.util.storage.StorageReaderFile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -121,7 +122,7 @@ public class QuestWorld implements Comparable<QuestWorld>{
|
|||||||
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
* @see forge.util.StorageReaderFile#read(java.lang.String)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected QuestWorld read(String line) {
|
protected QuestWorld read(String line, int i) {
|
||||||
String useName = null;
|
String useName = null;
|
||||||
String useDir = null;
|
String useDir = null;
|
||||||
GameFormatQuest useFormat = null;
|
GameFormatQuest useFormat = null;
|
||||||
@@ -129,9 +130,13 @@ public class QuestWorld implements Comparable<QuestWorld>{
|
|||||||
final List<String> sets = new ArrayList<String>();
|
final List<String> sets = new ArrayList<String>();
|
||||||
final List<String> bannedCards = new ArrayList<String>(); // if both empty, no format
|
final List<String> bannedCards = new ArrayList<String>(); // if both empty, no format
|
||||||
|
|
||||||
|
// This is what you need to use here =>
|
||||||
|
// FileSection.parse(line, ":", "|");
|
||||||
|
|
||||||
final String[] sParts = line.trim().split("\\|");
|
final String[] sParts = line.trim().split("\\|");
|
||||||
|
|
||||||
for (final String sPart : sParts) {
|
for (final String sPart : sParts) {
|
||||||
|
|
||||||
final String[] kv = sPart.split(":", 2);
|
final String[] kv = sPart.split(":", 2);
|
||||||
final String key = kv[0].toLowerCase();
|
final String key = kv[0].toLowerCase();
|
||||||
if ("name".equals(key)) {
|
if ("name".equals(key)) {
|
||||||
|
|||||||
@@ -70,12 +70,13 @@ public abstract class StorageReaderFile<T> implements IItemReader<T> {
|
|||||||
public Map<String, T> readAll() {
|
public Map<String, T> readAll() {
|
||||||
final Map<String, T> result = new TreeMap<String, T>();
|
final Map<String, T> result = new TreeMap<String, T>();
|
||||||
|
|
||||||
|
int idx = 0;
|
||||||
for (final String s : FileUtil.readFile(this.file)) {
|
for (final String s : FileUtil.readFile(this.file)) {
|
||||||
if (!this.lineContainsObject(s)) {
|
if (!this.lineContainsObject(s)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
final T item = this.read(s);
|
final T item = this.read(s, idx);
|
||||||
if (null == item) {
|
if (null == item) {
|
||||||
final String msg = "An object stored in " + this.file.getPath()
|
final String msg = "An object stored in " + this.file.getPath()
|
||||||
+ " failed to load.\nPlease submit this as a bug with the mentioned file attached.";
|
+ " failed to load.\nPlease submit this as a bug with the mentioned file attached.";
|
||||||
@@ -83,6 +84,7 @@ public abstract class StorageReaderFile<T> implements IItemReader<T> {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
idx++;
|
||||||
result.put(this.keySelector.apply(item), item);
|
result.put(this.keySelector.apply(item), item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,7 +98,7 @@ public abstract class StorageReaderFile<T> implements IItemReader<T> {
|
|||||||
* the line
|
* the line
|
||||||
* @return the t
|
* @return the t
|
||||||
*/
|
*/
|
||||||
protected abstract T read(String line);
|
protected abstract T read(String line, int idx);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Line contains object.
|
* Line contains object.
|
||||||
|
|||||||
Reference in New Issue
Block a user