mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-07-04 15:27:30 +07:00
Transitioned to new SerializerGenerator tools
This commit is contained in:
@ -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()));
|
||||
}
|
||||
|
@ -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());
|
||||
|
@ -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 {
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user