Java 类org.hibernate.boot.model.source.spi.AttributePath 实例源码
项目:bootstrap
文件:ImplicitNamingStrategyNiceJpaImplTest.java
@Test
public void determineAnyKeyColumnName() {
final ImplicitAnyKeyColumnNameSource source = Mockito.mock(ImplicitAnyKeyColumnNameSource.class);
mockContext(source);
final AttributePath attributePath= Mockito.mock(AttributePath.class);
Mockito.when(attributePath.getProperty()).thenReturn("myProperty");
Mockito.when(source.getAttributePath()).thenReturn(attributePath);
final Identifier identifier = new ImplicitNamingStrategyNiceJpaImpl().determineAnyKeyColumnName(source);
Assert.assertEquals("my_property", identifier.getText());
}
项目:bootstrap
文件:ImplicitNamingStrategyNiceJpaImplTest.java
@Test
public void determineJoinColumnName() {
final ImplicitJoinColumnNameSource source = Mockito.mock(ImplicitJoinColumnNameSource.class);
mockContext(source);
Mockito.when(source.getNature()).thenReturn(ImplicitJoinColumnNameSource.Nature.ENTITY);
final AttributePath attributePath= Mockito.mock(AttributePath.class);
Mockito.when(attributePath.getProperty()).thenReturn("myProperty");
Mockito.when(source.getAttributePath()).thenReturn(attributePath);
Mockito.when(source.getReferencedTableName()).thenReturn(DatabaseIdentifier.toIdentifier("MyTa_ble"));
final Identifier identifier = new ImplicitNamingStrategyNiceJpaImpl().determineJoinColumnName(source);
Assert.assertEquals("my_property", identifier.getText());
}
项目:bootstrap
文件:ImplicitNamingStrategyNiceJpaImplTest.java
@Test
public void determineJoinTableName() {
final ImplicitJoinTableNameSource source = Mockito.mock(ImplicitJoinTableNameSource.class);
mockContext(source);
final AttributePath attributePath= Mockito.mock(AttributePath.class);
Mockito.when(attributePath.getProperty()).thenReturn("myProperty");
Mockito.when(source.getAssociationOwningAttributePath()).thenReturn(attributePath);
Mockito.when(source.getOwningPhysicalTableName()).thenReturn("Table1");
final Identifier identifier = new ImplicitNamingStrategyNiceJpaImpl().determineJoinTableName(source);
Assert.assertEquals("Table1_my_property", identifier.getText());
}
项目:web-framework-for-java
文件:DatabaseImplicitNamingStrategy.java
@Override
public Identifier determineBasicColumnName(ImplicitBasicColumnNameSource source) {
String columnName = StringHelper.toLowerCase(
StringHelper.insertUnderscoreBetweenWords(source.getAttributePath().getProperty())
);
ImplicitBasicColumnNameSource newSource = new ImplicitBasicColumnNameSource() {
@Override
public AttributePath getAttributePath()
{
return AttributePath.parse(columnName);
}
@Override
public boolean isCollectionElement() {
return source.isCollectionElement();
}
@Override
public MetadataBuildingContext getBuildingContext()
{
return source.getBuildingContext();
}
};
return super.determineBasicColumnName(newSource);
}
项目:owsi-core-parent
文件:ImplicitNamingStrategyLegacyJpaComponentPathImpl.java
public static void process(AttributePath attributePath, StringBuilder sb) {
if ( attributePath.getParent() != null ) {
process( attributePath.getParent(), sb );
if ( !"".equals( attributePath.getParent().getProperty() ) ) {
sb.append( "_" );
}
}
String property = attributePath.getProperty();
property = property.replace( "<", "" );
property = property.replace( ">", "" );
sb.append( property );
}
项目:midpoint
文件:MidPointImplicitNamingStrategy.java
@Override
protected String transformAttributePath(AttributePath attributePath) {
String path = super.transformAttributePath(attributePath);
LOGGER.trace("transformAttributePath {} -> {}", attributePath, path);
return path;
}
项目:midpoint
文件:MidPointImplicitNamingStrategy.java
@Override
protected String transformAttributePath(AttributePath attributePath) {
String path = super.transformAttributePath(attributePath);
LOGGER.trace("transformAttributePath {} -> {}", attributePath, path);
return path;
}
项目:owsi-core-parent
文件:ImplicitNamingStrategyLegacyJpaComponentPathImpl.java
@Override
protected String transformAttributePath(AttributePath attributePath) {
final StringBuilder sb = new StringBuilder();
process( attributePath, sb );
return sb.toString();
}
项目:blaze-storage
文件:CustomImplicitNamingStrategy.java
@Override
protected String transformAttributePath(AttributePath attributePath) {
String attributeName= super.transformAttributePath(attributePath);
return addUnderscores(attributeName);
}
项目:midpoint
文件:MidPointImplicitNamingStrategy.java
@Override
public Identifier determineJoinColumnName(ImplicitJoinColumnNameSource source) {
Identifier i = super.determineJoinColumnName(source);
// RObject, creatorRef.target, oid -> m_object.creatorRef_targetOid
// RObjectReference, owner, oid -> m_object_reference.owner_oid
// RObjectReference, target, oid -> m_object_reference.targetOid
AttributePath path = source.getAttributePath();
String property = path.getProperty();
String columnName = source.getReferencedColumnName().getText();
Identifier real;
if (path.getDepth() == 1) {
String name;
if (property.endsWith("target") && "oid".equals(columnName)) {
name = property + "Oid";
} else {
name = StringUtils.join(Arrays.asList(property, columnName), "_");
}
real = toIdentifier(name, source.getBuildingContext());
} else {
// TODO fixme BRUTAL HACK -- we are not able to eliminate columns like 'ownerRefCampaign_targetOid' from the schema (even with @AttributeOverride/@AssociationOverride)
if ("ownerRefCampaign.target".equals(path.getFullPath()) ||
"ownerRefDefinition.target".equals(path.getFullPath()) ||
"ownerRefTask.target".equals(path.getFullPath())) {
path = AttributePath.parse("ownerRef.target");
}
AttributePath parent = path.getParent();
String translatedParent = transformAttributePath(parent);
columnName = property + StringUtils.capitalize(columnName);
real = toIdentifier(StringUtils.join(Arrays.asList(translatedParent, columnName), "_"), source.getBuildingContext());
}
LOGGER.trace("determineJoinColumnName {} {} -> {}, {}", source.getReferencedTableName(), source.getReferencedColumnName(), i, real);
return real;
}
项目:midpoint
文件:MidPointImplicitNamingStrategy.java
@Override
public Identifier determineJoinColumnName(ImplicitJoinColumnNameSource source) {
Identifier i = super.determineJoinColumnName(source);
// RObject, creatorRef.target, oid -> m_object.creatorRef_targetOid
// RObjectReference, owner, oid -> m_object_reference.owner_oid
// RObjectReference, target, oid -> m_object_reference.targetOid
AttributePath path = source.getAttributePath();
String property = path.getProperty();
String columnName = source.getReferencedColumnName().getText();
Identifier real;
if (path.getDepth() == 1) {
String name;
if (property.endsWith("target") && "oid".equals(columnName)) {
name = property + "Oid";
} else {
name = StringUtils.join(Arrays.asList(property, columnName), "_");
}
real = toIdentifier(name, source.getBuildingContext());
} else {
// TODO fixme BRUTAL HACK -- we are not able to eliminate columns like 'ownerRefCampaign_targetOid' from the schema (even with @AttributeOverride/@AssociationOverride)
if ("ownerRefCampaign.target".equals(path.getFullPath()) ||
"ownerRefDefinition.target".equals(path.getFullPath()) ||
"ownerRefTask.target".equals(path.getFullPath())) {
path = AttributePath.parse("ownerRef.target");
}
AttributePath parent = path.getParent();
String translatedParent = transformAttributePath(parent);
columnName = property + StringUtils.capitalize(columnName);
real = toIdentifier(StringUtils.join(Arrays.asList(translatedParent, columnName), "_"), source.getBuildingContext());
}
LOGGER.trace("determineJoinColumnName {} {} -> {}, {}", source.getReferencedTableName(), source.getReferencedColumnName(), i, real);
return real;
}
项目:bootstrap
文件:ImplicitNamingStrategyNiceJpaImpl.java
/**
* For JPA standards we typically need the unqualified name. However, a more usable
* impl tends to use the whole path. This method provides an easy hook for subclasses
* to accomplish that
*
* @param attributePath
* The attribute path
* @return The extracted name
*/
@Override
protected String transformAttributePath(final AttributePath attributePath) {
return StringUtils.lowerCase(StringUtils.join(StringUtils.splitByCharacterTypeCamelCase(attributePath.getProperty()), '_'));
}