From c4970cc4addedd4565cf8c3ed9ea92b6a4487e0c Mon Sep 17 00:00:00 2001 From: Thomas Guillemard Date: Fri, 12 Aug 2016 19:23:54 +0200 Subject: Implement Enigma directory format (#1) Others changes: ~ Rework File menu ~ Force UTF-8 for all I/O operations ~ Enigma now detect the original file format and use the correct one when you save a mapping--- .../java/cuchaz/enigma/mapping/MappingsReader.java | 121 --------------------- 1 file changed, 121 deletions(-) delete mode 100644 src/main/java/cuchaz/enigma/mapping/MappingsReader.java (limited to 'src/main/java/cuchaz/enigma/mapping/MappingsReader.java') diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsReader.java b/src/main/java/cuchaz/enigma/mapping/MappingsReader.java deleted file mode 100644 index b2b6d09..0000000 --- a/src/main/java/cuchaz/enigma/mapping/MappingsReader.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Jeff Martin. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the GNU Lesser General Public - * License v3.0 which accompanies this distribution, and is available at - * http://www.gnu.org/licenses/lgpl.html - *
- * Contributors:
- * Jeff Martin - initial API and implementation
- ******************************************************************************/
-package cuchaz.enigma.mapping;
-
-import com.google.common.io.Files;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-import cuchaz.enigma.json.JsonClass;
-import cuchaz.enigma.throwables.MappingConflict;
-
-public class MappingsReader {
-
- public Mappings read(File in) throws IOException {
- Mappings mappings = new Mappings();
- readDirectory(mappings, in);
- return mappings;
- }
-
- public void readDirectory(Mappings mappings, File in) throws IOException {
- File[] fList = in.listFiles();
- if (fList != null) {
- for (File file : fList) {
- if (file.isFile() && Files.getFileExtension(file.getName()).equalsIgnoreCase("json")) {
- readFile(mappings, new BufferedReader(new FileReader(file)));
- } else if (file.isDirectory()) {
- readDirectory(mappings, file.getAbsoluteFile());
- }
- }
- }
- }
-
- public void readFile(Mappings mappings, BufferedReader in) throws IOException {
- StringBuilder buf = new StringBuilder();
- String line;
- while ((line = in.readLine()) != null) {
- buf.append(line);
- }
-
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- JsonClass jsonClass = gson.fromJson(buf.toString(), JsonClass.class);
- try {
- load(null, jsonClass, mappings);
- } catch (MappingConflict e) {
- e.printStackTrace();
- }
- in.close();
- }
-
- public void load(ClassMapping parent, JsonClass jsonClass, Mappings mappings) throws MappingConflict {
- ClassMapping classMapping = readClass(jsonClass.getObf(), jsonClass.getName());
- if (parent != null) {
- parent.addInnerClassMapping(classMapping);
- } else {
- mappings.addClassMapping(classMapping);
- }
- jsonClass.getField().forEach(jsonField -> classMapping.addFieldMapping(readField(jsonField.getObf(), jsonField.getName(), jsonField.getType())));
-
- jsonClass.getConstructors().forEach(jsonConstructor -> {
- MethodMapping methodMapping = readMethod(jsonConstructor.isStatics() ? "