示例#1
0
 private void loadAnnotationCache(RushClassFinder rushClassFinder) {
   for (Class<? extends Rush> clazz : rushClassFinder.findClasses(rushConfig)) {
     List<Field> fields = new ArrayList<>();
     ReflectionUtils.getAllFields(fields, clazz, rushConfig.orderColumnsAlphabetically());
     annotationCache.put(clazz, new RushAnnotationCache(clazz, fields, rushConfig));
   }
 }
示例#2
0
  /**
   * RushInitializeConfig replaces this making it far easier to customise any class without writing
   * boiler plate code for the other classes
   *
   * @deprecated use {@link #initialize(RushInitializeConfig rushInitializeConfig)} instead.
   */
  @Deprecated
  public static void initialize(
      RushClassFinder rushClassFinder,
      RushStatementRunner statementRunner,
      RushQueProvider queProvider,
      RushConfig rushConfig,
      RushStringSanitizer rushStringSanitizer,
      Logger logger,
      List<RushColumn> columns,
      RushObjectSerializer rushObjectSerializer,
      RushObjectDeserializer rushObjectDeserializer) {

    if (rushConfig.usingMySql()) {
      columns.add(new RushColumnBooleanNumerical());
    } else {
      columns.add(new RushColumnBoolean());
    }

    columns.add(new RushColumnDate());
    columns.add(new RushColumnDouble());
    columns.add(new RushColumnInt());
    columns.add(new RushColumnLong());
    columns.add(new RushColumnShort());
    columns.add(new RushColumnFloat());
    columns.add(new RushColumnString());

    RushColumns rushColumns = new RushColumnsImplementation(columns);

    RushUpgradeManager rushUpgradeManager = new ReflectionUpgradeManager(logger, rushConfig);
    RushSqlInsertGenerator rushSqlInsertGenerator =
        rushConfig.userBulkInsert()
            ? new SqlBulkInsertGenerator(rushConfig)
            : new SqlSingleInsertGenerator(rushConfig);

    RushSaveStatementGenerator saveStatementGenerator =
        new ReflectionSaveStatementGenerator(rushSqlInsertGenerator, rushConfig);
    RushConflictSaveStatementGenerator conflictSaveStatementGenerator =
        new ConflictSaveStatementGenerator(rushSqlInsertGenerator, rushConfig);
    RushDeleteStatementGenerator deleteStatementGenerator =
        new ReflectionDeleteStatementGenerator(rushConfig);
    RushJoinStatementGenerator rushJoinStatementGenerator = new ReflectionJoinStatementGenerator();
    RushTableStatementGenerator rushTableStatementGenerator =
        new ReflectionTableStatementGenerator(rushConfig);
    RushClassLoader rushClassLoader = new ReflectionClassLoader(rushConfig);

    initialize(
        rushUpgradeManager,
        saveStatementGenerator,
        conflictSaveStatementGenerator,
        deleteStatementGenerator,
        rushJoinStatementGenerator,
        rushClassFinder,
        rushTableStatementGenerator,
        statementRunner,
        queProvider,
        rushConfig,
        rushClassLoader,
        rushStringSanitizer,
        logger,
        rushObjectSerializer,
        rushObjectDeserializer,
        rushColumns,
        null);
  }