Commit Graph

647 Commits

Author SHA1 Message Date
Ray Greenwell 89bec13aa2 Added Transformers that will always return immutable collections,
interned Strings, or both.
I may rework this into attributes that can be specified for any
@Transformer annotation, and leave it up to each Transformer
whether they are honored (and how).
2010-09-30 21:30:59 +00:00
Ray Greenwell 9fafebd487 Support creating arrays of java.sql.Date. 2010-09-29 18:31:31 +00:00
Michael Bayne f293412671 [maven-release-plugin] prepare for next development iteration 2010-09-23 18:55:03 +00:00
Michael Bayne 448c89289a [maven-release-plugin] prepare release depot-1.0 2010-09-23 18:54:54 +00:00
Ray Greenwell 020d33c8aa Was looking at how some things work and made a few drive-by optimizations
to FindAllQuery.
- We don't need to destructively modify the Set of keys to fetch if we hold
  on to one iterator.
- We can create an ArrayList that won't need to grow if our keys Iterable
  happens to be a Collection.
- And, just generally prefer Lists factories to specific constructors.
2010-09-20 23:21:06 +00:00
Andrzej Kapolka 8c5f333f73 Is there a reason why this didn't return TIME? It seems to work. 2010-09-17 02:46:17 +00:00
Michael Bayne c609db73de Prepare for forthcoming release. Apparently the Maven "process" is to leave
your POM at nextversion-SNAPSHOT and then when you do all the release
machinations, it shaves the -SNAPSHOT off, tags, builds and ships your thing,
then commits a new POM with nextnextversion-SNAPSHOT as the version.
2010-09-10 16:35:53 +00:00
Michael Bayne 07e4bdec4a Move overview.html to a place where Maven's javadoc plugin will find it. 2010-09-09 20:31:51 +00:00
Michael Bayne 721b3c73ef Bye bye Ivy. 2010-09-09 20:31:31 +00:00
Michael Bayne 33f6351af5 Add link to project website to docs. 2010-09-09 20:28:34 +00:00
Michael Bayne d2a6b4422f Various updates to bring POM up to date with current "best practices." 2010-09-09 20:27:45 +00:00
Michael Bayne 0fea1dfb07 Nix link since we're not including protected bits in the docs. 2010-09-09 20:27:18 +00:00
Michael Bayne 685e7e8ef5 Nixed some bits inherited from copied-and-pasted samskivert POM. 2010-09-09 05:30:30 +00:00
Michael Bayne 2d3cfff9b4 Adding needed Javadoc links. Removing unneeded system properties. Configuring
plugins to use latest version.
2010-09-09 05:26:50 +00:00
Michael Bayne 5fe094a804 Import needed for Javadoc comment. 2010-09-09 05:26:16 +00:00
Michael Bayne d2d88aa25e A pom file for Depot. I believe that once the samskivert Maven repo is
authorized by Sonatype, I'll be able to upload Depot into it as well, since
they both use the com.samskivert groupId. w00t!
2010-09-08 23:30:08 +00:00
Dave Hoover 5c5a0f8545 Tell eclipse about the new way things are organized. 2010-08-30 18:59:34 +00:00
Michael Bayne e2c7446732 We want our ivy.xml in ivys/ivy.xml as well. 2010-08-28 01:28:20 +00:00
Michael Bayne a3a462ec04 Tell Ivy that we want to publish jar, source and javadoc artifacts. 2010-08-28 01:25:44 +00:00
Michael Bayne 4966f76067 Updated to reflect my growing understanding of how to use Ivy. 2010-08-28 01:23:16 +00:00
Michael Bayne 0aa165c31e Added publish-remote target, nixed snapshot target. 2010-08-27 19:57:02 +00:00
Michael Bayne 57b2aa31d4 Updated the readme to suggest building using build-ivy.xml so that dependencies
are automatically fetched.
2010-08-27 19:26:34 +00:00
Michael Bayne e648cfc7bd Wrangled Ivy into obtaining samskivert dependency from it's own "repository".
Why does the Java dependency management world have to suck so badly? Is it not
crazy to want projects to be able to publish their own releases and to make it
easy for other projects to depend on those published releases? Why do I have to
reconfigure the standard configuration to add new repository sources? Why
doesn't the IvyRep resolver work and do something sophisticated?

Why can't I just fucking put in my ivy.xml:

<dependency org="com.samskivert" name="samskivert" rev="1.0" conf="runtime"
            source="http://samskivert.googlecode.com/svn/releases"/>

and have Ivy do something smart like assume that there will be a standard
directory structure at the specified root and that it will contain the ivy.xml
and module.jar file that it needs, and just download them?

Instead I have to write a ton of fucking boilerplate and wire it all in via a
separate ivysettings.xml file, and then helpfully instruct anyone who uses my
fucking library that they too can have the pleasure of doing the same.
2010-08-27 19:23:48 +00:00
Michael Bayne 3f7a7be9da Some Javadoc fixing. Though it's very annoying that I have to use &#064;
instead of @. Thanks for making things totally unreadable in the source file
javadoc. How about \@ instead?
2010-08-27 18:11:22 +00:00
Michael Bayne 026e49518c Don't need this conditional business here. 2010-08-27 18:01:03 +00:00
Michael Bayne aa879c3019 Allow the release version to be specified on the command line. 2010-08-27 17:57:38 +00:00
Michael Bayne 6f7527ec6b Fixes to Ivy-based build. 2010-08-27 17:54:06 +00:00
Michael Bayne 3535ffc9fd Got moved to src/tests/java. 2010-08-27 17:49:46 +00:00
Michael Bayne 28f9439b5f More layout standardizing. 2010-08-27 17:49:18 +00:00
Michael Bayne 6778ada227 Moving toward more standard project layout. 2010-08-27 17:47:07 +00:00
Michael Bayne 5a97565eaa New HSQLDB requires length for VARBINARY. 2010-08-27 17:41:11 +00:00
Andrzej Kapolka 2471487d2f Oops, that will never be null. 2010-08-18 22:43:33 +00:00
Andrzej Kapolka af0c636517 More fixes for named columns. DepotMarshaller expects the names of the
columns in the results to match the FieldMarshaller column names, so we have
to use those rather than the field names.  Also, shadowed fields need to use
the column names of the fields that they're shadowing.
2010-08-18 22:40:03 +00:00
Andrzej Kapolka 061219bc57 Postgres returns a timestamp from date_trunc, whereas MySQL returns a
date from date().  We should probably just modify DateFuncs.date to
return a date in both cases (perhaps with a separate DateFun.DateCast
class), but for now it's easier to have MySQL return a timestamp as
well.
2010-07-22 21:37:11 +00:00
Andrzej Kapolka 27ff0f6f55 And this should be getting the column name, too (though it doesn't
actually do anything yet except log a message).
2010-07-15 00:50:59 +00:00
Andrzej Kapolka cd94a13551 While I'm in there, this also looks wrong. 2010-07-15 00:30:40 +00:00
Andrzej Kapolka 5dd3ae92a5 Looks like this should be the column name, not the field name. 2010-07-15 00:22:28 +00:00
Ray Greenwell c7ce640a78 Prefer Guava to Samskivert. 2010-07-14 18:51:40 +00:00
Michael Bayne e2a73dfa61 Use Unix line endings. 2010-07-07 15:50:46 +00:00
Ray Greenwell 9d83cc96a5 For the String[] transformer, encode null elements as "\" followed by
the terminator (we encode the terminator as a different character).
This is somewhat nicer when inspecting an encoded String, and allows
for a future in which the decoder easily counts the number of terminator
characters and pre-allocates the storage, if we so desired.
2010-07-06 20:54:48 +00:00
Ray Greenwell 95f2fc6938 A Transformer from a Set<ByteEnum> -> Integer, plus some new tests. 2010-07-06 18:30:32 +00:00
Michael Bayne 5ec15839d3 Factored shared code into a base class. Restructured to avoid double checking
for null.
2010-07-06 18:22:09 +00:00
Michael Bayne 0b84e08917 Nixed deprecated transformer. 2010-07-06 18:15:37 +00:00
Ray Greenwell 20e06e9789 Ready my Transformer for prime time.
There are some optimizations that could probably be made, but
for now I defer to the new One Rule of Optimization:
"Do not optimize for performance unless it does not weird the code or
it Really Matters".
2010-07-05 22:43:13 +00:00
Ray Greenwell 2b71609148 I should change the name of this test... 2010-07-05 22:36:18 +00:00
Ray Greenwell 48279471e1 Updated tests. 2010-07-05 22:34:15 +00:00
Ray Greenwell eef66bcaee Changed my String[] Transformer:
- continue to terminate Strings with a newline
- turn newlines inside a String into "\n"
- turn null elements into "\0".

This is one additional character when encoding nulls, but
I think it may improve readability..
2010-07-05 22:10:56 +00:00
Michael Bayne 0e82904696 Provide the Transformer with the field's Type rather than it's Class. The Type
contains generic type information which would allow a transformer to do the
right thing with a field of, say, type Set<Integer>.

If we had unit tests for StringIterable, I'd know that I didn't just break it.
I'd also know that it worked in the first place. :)
2010-07-05 21:43:10 +00:00
Ray Greenwell a5fee01354 Maybe I can generalize this into a rule: if either of operands 2 or 3
to the ternary operator are boolean constants, don't use the ternary operator.

a ? true : x   ==  a || x
a ? x : true   ==  !a || x
a ? false : x  ==  !a && x
a ? x : false  ==  a && x
2010-07-05 21:32:28 +00:00
Ray Greenwell f2f995766b A demonstration of the failing of the current String[] transformer.
I'll do some more tests and nix this one today.
2010-07-05 14:16:00 +00:00