public String foreignKeyToInverseEntityName(String keyname, TableIdentifier fromTable, List<?> fromColumnNames, TableIdentifier referencedTable, List<?> referencedColumnNames, boolean uniqueReference) { return foreignKeyToEntityName(keyname, fromTable, fromColumnNames, referencedTable, referencedColumnNames, uniqueReference); }
/** * Does some crude english pluralization * TODO: are the from/to names correct ? */ public String foreignKeyToCollectionName(String keyname, TableIdentifier fromTable, List<?> fromColumns, TableIdentifier referencedTable, List<?> referencedColumns, boolean uniqueReference) { String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(fromTable) ) ); propertyName = pluralize( propertyName ); if(!uniqueReference) { if(fromColumns!=null && fromColumns.size()==1) { String columnName = ( (Column) fromColumns.get(0) ).getName(); propertyName = propertyName + "For" + toUpperCamelCase(columnName); } else { // composite key or no columns at all safeguard propertyName = propertyName + "For" + toUpperCamelCase(keyname); } } return propertyName; }
public String columnToPropertyName(TableIdentifier table, String columnName) { String decapitalize = Introspector.decapitalize( toUpperCamelCase(columnName) ); return keywordCheck( decapitalize ); }
public String foreignKeyToEntityName(String keyname, TableIdentifier fromTable, List<?> fromColumnNames, TableIdentifier referencedTable, List<?> referencedColumnNames, boolean uniqueReference) { String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(referencedTable) ) ); if(!uniqueReference) { if(fromColumnNames!=null && fromColumnNames.size()==1) { String columnName = ( (Column) fromColumnNames.get(0) ).getName(); propertyName = propertyName + "By" + toUpperCamelCase(columnName); } else { // composite key or no columns at all safeguard propertyName = propertyName + "By" + toUpperCamelCase(keyname); } } return propertyName; }
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; }
public void initialize(Metadata metadata) { super.initialize( metadata); StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder(); ServiceRegistry serviceRegistry = builder.build(); dialect = serviceRegistry.getService(JdbcServices.class).getDialect(); tableSelector = new TableSelectorStrategy( new DefaultReverseEngineeringStrategy() ); reader = JDBCReaderFactory.newJDBCReader( Environment.getProperties(), tableSelector, serviceRegistry); dbc = new DefaultDatabaseCollector(reader.getMetaDataDialect()); }
public boolean isForeignKeyCollectionInverse(String name, TableIdentifier foreignKeyTable, List<?> columns, TableIdentifier foreignKeyReferencedTable, List<?> referencedColumns) { Table fkTable = getRuntimeInfo().getTable(foreignKeyTable); if(fkTable==null) { return true; // we don't know better } if(isManyToManyTable(fkTable)) { // if the reference column is the first one then we are inverse. Column column = fkTable.getColumn(0); Column fkColumn = (Column) referencedColumns.get(0); if(fkColumn.equals(column)) { return true; } else { return false; } } return true; }
public String tableToClassName(TableIdentifier tableIdentifier) { String pkgName = settings.getDefaultPackageName(); String className = toUpperCamelCase( tableIdentifier.getName() ); if(pkgName.length()>0) { return StringHelper.qualify(pkgName, className); } else { return className; } }
protected void doConfiguration( Configuration configuration ) { JDBCMetaDataConfiguration jmdc = (JDBCMetaDataConfiguration) configuration; super.doConfiguration( jmdc ); jmdc.setPreferBasicCompositeIds( getExporterMojo().getComponentProperty( "preferbasiccompositeids", true ) ); ReverseEngineeringStrategy strategy = new DefaultReverseEngineeringStrategy(); strategy = loadRevengFile( strategy ); strategy = loadReverseStrategy( strategy ); ReverseEngineeringSettings qqsettings = new ReverseEngineeringSettings( strategy ); String packageName = getExporterMojo().getComponentProperty( "packagename" ); if ( packageName != null ) { qqsettings.setDefaultPackageName( packageName ); } String detectManyToMany = getExporterMojo().getComponentProperty( "detectmanytomany" ); if ( "false".equals( detectManyToMany ) ) { qqsettings.setDetectManyToMany( false ); } String detectOptimisticLock = getExporterMojo().getComponentProperty( "detectoptmisticlock" ); if ( "false".equals( detectOptimisticLock ) ) { qqsettings.setDetectOptimisticLock( false ); } strategy.setSettings( qqsettings ); jmdc.setReverseEngineeringStrategy( strategy ); jmdc.readFromJDBC(); }
public String foreignKeyToManyToManyName(ForeignKey fromKey, TableIdentifier middleTable, ForeignKey toKey, boolean uniqueReference) { String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(TableIdentifier.create( toKey.getReferencedTable()) )) ); propertyName = pluralize( propertyName ); if(!uniqueReference) { //TODO: maybe use the middleTable name here ? if(toKey.getColumns()!=null && toKey.getColumns().size()==1) { String columnName = ( (Column) toKey.getColumns().get(0) ).getName(); propertyName = propertyName + "For" + toUpperCamelCase(columnName); } else { // composite key or no columns at all safeguard propertyName = propertyName + "For" + toUpperCamelCase(toKey.getName()); } } return propertyName; }