Scripted uploading of documentation
by Steve Ebersole
The Gradle build on ORM master and metamodel branches now define a
uploadDocumentation task that is intended as part of the larger scripted
release task. However, for some cases, uploadDocumentation is useful in
the case of SNAPSHOT builds. As an example, currently as we work
towards 4.3 we occasionally will want to upload some SNAPSHOT docs for
people to validate (Brett's OSGI guide is an example).
Currently I have a safety net built-in to uploadDocumentation which
checks whether the version is a SNAPSHOT and disallows the upload to
proceed if this is the case. The reasoning being that we do not want to
allow the SNAPSHOT upload in the case of say 4.2 which has already gone
Final.
Stated simply:
if ( snapshotIsForVersionAlreadyGoneFinal() ) {
// for example, attempting to upload docs from 4.2.3-SNAPSHOT
// while we have already released 4.2.2.Final
doNotAllowUpload();
}
else {
allowUpload();
}
Anyone have ideas on codifying snapshotIsForVersionAlreadyGoneFinal()?
10 years, 11 months
Obtaining loggers
by Steve Ebersole
I was getting tired of statements in the source code to get logger
instances that spread across sometimes 4 lines because of JBoss
Logging's verbose means of acquiring a message logger. So I created a
more concise form for this for hibernate-core, hibernate-entitymanager
and hibernate-envers. I mainly limited it to these projects because
they have lots of these calls, whereas the others do not. Feel free to
copy the approach to the other projects if someone wants.
Essentially each of those projects define a class with 4 static
methods. Taking the hibernate-core one as an example:
import org.jboss.logging.Logger;
/**
* Quite sad, really, when you need helpers for generating loggers...
*
* @author Steve Ebersole
*/
public class CoreLogging {
/**
* Disallow instantiation
*/
private CoreLogging() {
}
public static CoreMessageLogger messageLogger(Class
classNeedingLogging) {
return messageLogger( classNeedingLogging.getName() );
}
public static CoreMessageLogger messageLogger(String loggerName) {
return Logger.getMessageLogger( CoreMessageLogger.class,
loggerName );
}
public static Logger logger(Class classNeedingLogging) {
return Logger.getLogger( classNeedingLogging );
}
public static Logger logger(String loggerName) {
return Logger.getLogger( loggerName );
}
}
I just plan on replacing these calls as opportunities arise, rather than
all in one fell swoop.
10 years, 11 months
[OGM] Metamodel
by Davide D'Alto
Hi,
I've started to work on the metamodel. I've look at the branch that
emmanuel created and I've rebased it to the latest master fixing all
checkstyle violations: https://github.com/DavideD/hibernate-ogm/tree/208
The problem is that I don't have a clear idea how the metamodel is supposed
to work, what could be a good test case to start with?
Thanks,
Davide
10 years, 11 months
[OGM] SimpleEntityMassIndexingTest using HSEARCH TestConstants methods
by Guillaume SCHEIBEL
Hello,
I've noticed in SimpleEntityMassIndexingTest.getBaseIndexDir() we are using
a method from HSearch: TestConstants.getIndexDirectory().
The problem is in OGM this method is used like this:
*File indexPath = new File( TestConstants.getIndexDirectory(),
shortTestName );*
but in Hsearch the signature is:
*public static java.lang.String getIndexDirectory(java.lang.Class<?>
testClass)*
what should I do ?
I think fixing the call is a good idea. So should rather be ?:
*File indexPath = new File( TestConstants.getIndexDirectory(**
SimpleEntityMassIndexingTest.class**), shortTestName );*
Guillaume
10 years, 11 months
Some OGM ideas from feedback collected in India
by Sanne Grinovero
Some older notes I failed to share so far:
# unlike normal JPA we have to create an instance of
JBossTSStandaloneTransactionManager
It's a comment from a use who seems to had been studying OGM in depth
and even made a demo, I'm not entirely sure what she means exactly but
apparently the JPA binding doesn't integrate nicely within a container
as the "plain ORM" JPA would.
# Direct "Datasource" access from multiple apps
It is often needed to have multiple applications access the same
storage engine, and they might not necessarily all be using OGM. This
brings two design requirements:
- The encoding format of OGM needs to be flexible enough to map to
existing "schemas" created by different tools and well documented so
that other tools can be built using the encoding scheme used by OGM.
- Hibernate Search is updated by Hibernate events; this is a
limitation for "standard" Hibernate Search users which is mostly
interpreted as "avoid stored procedures & batch updates"; In the case
of standard Search users however we still expect the user to be able
to run reliable RDBMS queries as well, having the fulltext only for
the fulltext. I'm wondering if the OGM specific usage will need us to
explore better event notifications for Search, possibly integrating
with events generated by the data storage layer itself.
Sanne
10 years, 11 months
Manual vs Developer Guide
by Emmanuel Bernard
Hello guys,
I have a question I should have asked years ago. I don't understand the
difference between the Hibernate ORM Manual and the Hibernate ORM
Developer Guide. What is the fundamental difference?
Emmanuel
10 years, 11 months
Welcome Nicolas to the Search committers
by Sanne Grinovero
Dear All,
since Nicolas didn't "just" contribute an awesome new feature for
Hibernate Search but is also actively maintaining it, I've added him
to the Hibernate Search committers team.
I find myself asking for his opinion on my own patches and find it was
about time that he could apply our proposals directly.
Congratulations Nicolas, and please continue the great work!
If you need some tutoring on your first pull requests, I'm happy to
assist you on IRC.
Sanne
10 years, 11 months