Transitioned to new SerializerGenerator tools

This commit is contained in:
Collin Smith
2020-12-12 21:33:03 -08:00
parent d8570e136d
commit 9d62df5850
9 changed files with 206 additions and 472 deletions

View File

@ -40,10 +40,10 @@ public class BinGenerator {
log.trace("binFile: {}", binFile);
ByteOutput out = ByteOutput.wrap(Unpooled.buffer());
// S serializer = excel.newSerializer();
// for (E entry : excel) {
// serializer.writeBin(entry, out);
// }
S serializer = excel.newSerializer();
for (E entry : excel) {
// serializer.writeBin(entry, out);
}
log.trace("dump of {}:\n{}", binFile, ByteBufUtil.prettyHexDump(out.buffer()));
}

View File

@ -13,15 +13,35 @@ import com.riiablo.util.ClassUtils;
public class SerializerGenerator {
private static final Logger log = LogManager.getLogger(SerializerGenerator.class);
String sourcePackage = "com.riiablo.excel.txt";
String serializerPackage = "com.riiablo.excel.serializer";
final String sourcePackage;
final String serializerPackage;
FileHandle sourceDir;
FileHandle serializerDir;
final FileHandle sourceDir;
final FileHandle serializerDir;
SerializerSourceGenerator sourceGenerator;
final SerializerSourceGenerator sourceGenerator;
void init() {
public SerializerGenerator(
FileHandle sourceDir,
FileHandle serializerDir) {
this(
"com.riiablo.excel.txt",
"com.riiablo.excel.serializer",
sourceDir,
serializerDir
);
}
public SerializerGenerator(
String sourcePackage,
String serializerPackage,
FileHandle sourceDir,
FileHandle serializerDir
) {
this.sourcePackage = sourcePackage;
this.serializerPackage = serializerPackage;
this.sourceDir = sourceDir;
this.serializerDir = serializerDir;
sourceGenerator = new SerializerSourceGenerator(sourcePackage, serializerPackage);
}
@ -30,7 +50,7 @@ public class SerializerGenerator {
FileHandle[] sourceFiles = sourceDir.list("java");
for (FileHandle sourceFile : sourceFiles) {
try {
log.info("Generating: '{}'", sourceFile);
log.info("Processing: '{}'", sourceFile);
configureSourceGenerator(sourceFile);
JavaFile serializerFile = sourceGenerator.generateFile(SerializerGenerator.class);
File file = serializerFile.writeToFile(serializerDir.file());

View File

@ -4,13 +4,13 @@ import com.riiablo.excel.Entry;
import com.riiablo.excel.Excel;
import com.riiablo.excel.PrimaryKey;
import com.riiablo.excel.SerializedWith;
import com.riiablo.excel.serializer.MonStatsSerializer;
import com.riiablo.excel.Serializer;
import com.riiablo.io.ByteInput;
import com.riiablo.io.ByteOutput;
@Entry(MonStats.Entry.class)
@SerializedWith(MonStatsSerializer.class)
public class MonStats extends Excel<MonStats.Entry, MonStatsSerializer> {
@SerializedWith(MonStats.Serializer.class)
public class MonStats extends Excel<MonStats.Entry, Serializer<MonStats.Entry>> {
public MonStats() {
super(Entry.class, 1543); // 736 entries
}
@ -21,8 +21,8 @@ public class MonStats extends Excel<MonStats.Entry, MonStatsSerializer> {
}
@Override
public MonStatsSerializer newSerializer() {
return new MonStatsSerializer();
public com.riiablo.excel.Serializer<Entry> newSerializer() {
return new MonStats.Serializer();
}
public static class Entry extends Excel.Entry {

View File

@ -4,6 +4,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.riiablo.RiiabloTest;
import com.riiablo.logger.Level;
@ -17,16 +18,13 @@ public class SerializerGeneratorTest extends RiiabloTest {
@Test
public void monstats() {
SerializerGenerator generator = new SerializerGenerator();
generator.init();
generator.sourceDir = Gdx.files.absolute(
FileHandle sourceDir = Gdx.files.absolute(
"C:\\Users\\csmith\\projects\\libgdx\\riiablo"
+ "\\core\\src\\main\\java\\com\\riiablo\\excel\\txt");
generator.serializerDir = Gdx.files.absolute(
FileHandle serializerDir = Gdx.files.absolute(
"C:\\Users\\csmith\\projects\\libgdx\\riiablo"
+ "\\core\\src\\main\\java");
generator.sourcePackage = "com.riiablo.excel.txt";
generator.serializerPackage = "com.riiablo.excel.serializer";
SerializerGenerator generator = new SerializerGenerator(sourceDir, serializerDir);
generator.generateSerializers();
}
}