private ReverseEngineeringStrategy createReverseEngineeringStrategy(GenerateEntitiesCommandDescriptor descriptor, String catalog, String schema, Collection<String> selectedTableNames) { ReverseEngineeringStrategy strategy = new DefaultReverseEngineeringStrategy() { @Override public List<SchemaSelection> getSchemaSelections() { return selectedTableNames .stream() .map((table) -> new SchemaSelection(catalog, schema, table)) .collect(Collectors.toList()); } }; ReverseEngineeringSettings revengsettings = new ReverseEngineeringSettings(strategy) .setDefaultPackageName(descriptor.getTargetPackage()) .setDetectManyToMany(true) .setDetectOneToOne(true) .setDetectOptimisticLock(true); strategy.setSettings(revengsettings); return strategy; }
private ReverseEngineeringStrategy createReverseEngineeringStrategy() { DefaultReverseEngineeringStrategy defaultStrategy = new DefaultReverseEngineeringStrategy(); ReverseEngineeringStrategy strategy = defaultStrategy; if(revengFiles!=null) { OverrideRepository or = new OverrideRepository(); String[] fileNames = revengFiles.list(); for (int i = 0; i < fileNames.length; i++) { or.addFile(new File(fileNames[i]) ); } strategy = or.getReverseEngineeringStrategy(defaultStrategy); } if(reverseEngineeringStrategyClass!=null) { strategy = loadreverseEngineeringStrategy(reverseEngineeringStrategyClass, strategy); } ReverseEngineeringSettings qqsettings = new ReverseEngineeringSettings(strategy).setDefaultPackageName(packageName) .setDetectManyToMany( detectManyToMany ) .setDetectOneToOne( detectOneToOne ) .setDetectOptimisticLock( detectOptimisticLock ); defaultStrategy.setSettings(qqsettings); strategy.setSettings(qqsettings); return strategy; }