Simple code cleanup
This commit is contained in:
parent
baa649c802
commit
85c63dbaf0
|
@ -26,6 +26,7 @@ package org.hibernate.metamodel.relational;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.hibernate.AssertionFailure;
|
||||||
import org.hibernate.dialect.Dialect;
|
import org.hibernate.dialect.Dialect;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -67,8 +68,18 @@ public abstract class AbstractConstraint implements Constraint {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addColumn(Column column) {
|
public void addColumn(Column column) {
|
||||||
|
internalAddColumn( column );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void internalAddColumn(Column column) {
|
||||||
if ( column.getTable() != getTable() ) {
|
if ( column.getTable() != getTable() ) {
|
||||||
throw new IllegalArgumentException( "Unable to add column to constraint; tables did not match" );
|
throw new AssertionFailure(
|
||||||
|
String.format(
|
||||||
|
"Unable to add column to constraint; tables [%s, %s] did not match",
|
||||||
|
column.getTable().toLoggableString(),
|
||||||
|
getTable().toLoggableString()
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
columns.add( column );
|
columns.add( column );
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,16 +30,18 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience base class for implementing the {@link ValueContainer} contract centralizing commonality
|
* Convenience base class for implementing the {@link ValueContainer} contract centralizing commonality
|
||||||
* between modelling tables views and inline views.
|
* between modeling tables, views and inline views.
|
||||||
*
|
*
|
||||||
* @author Steve Ebersole
|
* @author Steve Ebersole
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractTableSpecification implements TableSpecification {
|
public abstract class AbstractTableSpecification implements TableSpecification {
|
||||||
private final static AtomicInteger tableCounter = new AtomicInteger( 0 );
|
private final static AtomicInteger tableCounter = new AtomicInteger( 0 );
|
||||||
private final int tableNumber;
|
private final int tableNumber;
|
||||||
|
|
||||||
private final LinkedHashMap<String, SimpleValue> values = new LinkedHashMap<String, SimpleValue>();
|
private final LinkedHashMap<String, SimpleValue> values = new LinkedHashMap<String, SimpleValue>();
|
||||||
private PrimaryKey primaryKey = new PrimaryKey( this );
|
|
||||||
private List<ForeignKey> foreignKeys = new ArrayList<ForeignKey>();
|
private final PrimaryKey primaryKey = new PrimaryKey( this );
|
||||||
|
private final List<ForeignKey> foreignKeys = new ArrayList<ForeignKey>();
|
||||||
|
|
||||||
public AbstractTableSpecification() {
|
public AbstractTableSpecification() {
|
||||||
this.tableNumber = tableCounter.getAndIncrement();
|
this.tableNumber = tableCounter.getAndIncrement();
|
||||||
|
@ -92,9 +94,7 @@ public abstract class AbstractTableSpecification implements TableSpecification {
|
||||||
return fk;
|
return fk;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
public PrimaryKey getPrimaryKey() {
|
public PrimaryKey getPrimaryKey() {
|
||||||
return primaryKey;
|
return primaryKey;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,9 +27,9 @@ import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.hibernate.AssertionFailure;
|
||||||
import org.hibernate.MappingException;
|
import org.hibernate.MappingException;
|
||||||
import org.hibernate.dialect.Dialect;
|
import org.hibernate.dialect.Dialect;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
|
@ -43,15 +43,16 @@ import org.jboss.logging.Logger;
|
||||||
* @author Steve Ebersole
|
* @author Steve Ebersole
|
||||||
*/
|
*/
|
||||||
public class ForeignKey extends AbstractConstraint implements Constraint, Exportable {
|
public class ForeignKey extends AbstractConstraint implements Constraint, Exportable {
|
||||||
|
private static final Logger LOG = Logger.getLogger( ForeignKey.class );
|
||||||
|
|
||||||
private static final CoreMessageLogger LOG = Logger.getMessageLogger(CoreMessageLogger.class, AbstractConstraint.class.getName());
|
|
||||||
private static final String ON_DELETE = " on delete ";
|
private static final String ON_DELETE = " on delete ";
|
||||||
private static final String ON_UPDATE = " on update ";
|
private static final String ON_UPDATE = " on update ";
|
||||||
|
|
||||||
private final TableSpecification targetTable;
|
private final TableSpecification targetTable;
|
||||||
private List<Column> targetColumns;
|
private List<Column> targetColumns;
|
||||||
|
|
||||||
private ReferentialAction deleteRule = ReferentialAction.NO_ACTION;
|
private ReferentialAction deleteRule = ReferentialAction.NO_ACTION;
|
||||||
public ReferentialAction updateRule = ReferentialAction.NO_ACTION;
|
private ReferentialAction updateRule = ReferentialAction.NO_ACTION;
|
||||||
|
|
||||||
protected ForeignKey(TableSpecification sourceTable, TableSpecification targetTable, String name) {
|
protected ForeignKey(TableSpecification sourceTable, TableSpecification targetTable, String name) {
|
||||||
super( sourceTable, name );
|
super( sourceTable, name );
|
||||||
|
@ -96,6 +97,7 @@ public class ForeignKey extends AbstractConstraint implements Constraint, Export
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
checkTargetTable( targetColumn );
|
||||||
if ( targetColumns == null ) {
|
if ( targetColumns == null ) {
|
||||||
if (!internalColumnAccess().isEmpty()) {
|
if (!internalColumnAccess().isEmpty()) {
|
||||||
LOG.debugf(
|
LOG.debugf(
|
||||||
|
@ -109,7 +111,19 @@ public class ForeignKey extends AbstractConstraint implements Constraint, Export
|
||||||
}
|
}
|
||||||
targetColumns.add( targetColumn );
|
targetColumns.add( targetColumn );
|
||||||
}
|
}
|
||||||
internalColumnAccess().add( sourceColumn );
|
internalAddColumn( sourceColumn );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkTargetTable(Column targetColumn) {
|
||||||
|
if ( targetColumn.getTable() != getTargetTable() ) {
|
||||||
|
throw new AssertionFailure(
|
||||||
|
String.format(
|
||||||
|
"Unable to add column to constraint; tables [%s, %s] did not match",
|
||||||
|
targetColumn.getTable().toLoggableString(),
|
||||||
|
getTargetTable().toLoggableString()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -183,36 +197,20 @@ public class ForeignKey extends AbstractConstraint implements Constraint, Export
|
||||||
}
|
}
|
||||||
|
|
||||||
public static enum ReferentialAction {
|
public static enum ReferentialAction {
|
||||||
NO_ACTION {
|
NO_ACTION( "no action" ),
|
||||||
private static final String ACTION_STRING = "no action";
|
CASCADE( "cascade" ),
|
||||||
public String getActionString() {
|
SET_NULL( "set null" ),
|
||||||
return ACTION_STRING;
|
SET_DEFAULT( "set default" ),
|
||||||
}
|
RESTRICT( "restrict" );
|
||||||
},
|
|
||||||
CASCADE {
|
private final String actionString;
|
||||||
private static final String ACTION_STRING = "cascade";
|
|
||||||
public String getActionString() {
|
private ReferentialAction(String actionString) {
|
||||||
return ACTION_STRING;
|
this.actionString = actionString;
|
||||||
}
|
}
|
||||||
},
|
|
||||||
SET_NULL {
|
public String getActionString() {
|
||||||
private static final String ACTION_STRING = "set null";
|
return actionString;
|
||||||
public String getActionString() {
|
}
|
||||||
return ACTION_STRING;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
SET_DEFAULT {
|
|
||||||
private static final String ACTION_STRING = "set default";
|
|
||||||
public String getActionString() {
|
|
||||||
return ACTION_STRING;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
RESTRICT {
|
|
||||||
private static final String ACTION_STRING = "restrict";
|
|
||||||
public String getActionString() {
|
|
||||||
return ACTION_STRING;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
public abstract String getActionString();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue