Пример #1
0
  public void generateMapper(Path configFilePath, Path mapperGenPath) {

    String outputClassText = "";
    String currRHS = "";
    String currLHS = "";
    String currMode = "mapper";
    String mapperClassName = "";
    String mapperClassPackageName = "";
    MapperClassText mapperText = new MapperClassText();
    MapperConfiguration mapperConfig = new MapperConfiguration();
    // Read Config File
    try {
      BufferedReader reader = new BufferedReader(new FileReader(configFilePath.toFile()));

      String line = reader.readLine();

      if (!line.trim().equals("#mapper")) {
        logger.error("Mapper Genie Configuration should begin with #mapper");
        return;
      }

      line = reader.readLine();

      while (line != null) {
        currMode = determineMapperMode(line, currMode);

        // remove any comments and mapper section separators
        while (line.startsWith("#")) {
          line = reader.readLine();
        }
        switch (currMode) {
          case "mapper":
            mapperConfig.setMapperPackageName(getMapperPackageAndClassName(line)[0]);
            mapperConfig.setMapperClassName(getMapperPackageAndClassName(line)[1]);
            break;

          case "classes":
            getInputAndOutputClasses(line, mapperConfig);
            break;

          case "configuration":
            resolveAndFillMapperConfiguration(line, mapperConfig);
            break;
        }

        if (line.indexOf("=") == -1) {
          logger.debug("Mapper Command / Comment found {}", line);
        } else {
          logger.debug("Mapper Configuration found {}", line);
        }

        line = reader.readLine();
      }

    } catch (IOException e) {
      logger.error("Error Opening/Reading/writing Config/new class file !");
      e.printStackTrace();

    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }