Tag List Report

The following document contains the listing of user tags found in the code. Below is the summary of the occurrences per tag.

Tag ClassTotal number of occurrencesTag strings used by tag class
@deprecated1@deprecated
FIXME30FIXME
HACK4HACK
NOTE27NOTE
TODO2TODO

Each tag is detailed below:

@deprecated

Number of occurrences found in the code: 1

org.melati.poem.util.StringUtilsLine
now use string.replace(old,new)220

FIXME

Number of occurrences found in the code: 30

org.melati.poem.BasePoemTypeLine
takes no account of range---need to decide on semantics for this, is it subset (inclusion) or some other notion of storability?368
org.melati.poem.ColumnLine
Repeating this in setColumnInfo(ColumnInfo) is a bad sign240
org.melati.poem.DatabaseLine
Yuk675
Yuk, see above689
org.melati.poem.ExtraColumnLine
Revalidation108
Revalidation118
org.melati.poem.JdbcPersistentLine
This shouldn't be public because we don't in principle want people to know even the troid of an object they aren't allowed to read. However, I think this information may leak out elsewhere. To fix is not simple, as generated setters rely upon a lock-free read of the object to set.313
!!!! this is wrong because token could be stale ...426
!!!! this is wrong because token could be stale ...492
!!!! this is wrong because token could be stale ...543
org.melati.poem.JdbcTableLine
info == null means deleted: effect is too broad really425
Race486
Race574
synchronize this too786
you can't search for NULLs ...1773
org.melati.poem.UserLine
It shouldn't be possible for anyone to getPassword120
We need 2 sorts of object here126
We need 2 sorts of object here144
org.melati.poem.ValueInfoLine
a little inefficient, but rarely used; also relies on BasePoemType should have interface for ranged type ...151
org.melati.poem.dbms.MSAccessLine
Something wrong here108
org.melati.poem.dbms.test.DbmsSpecLine
Skipped for Postgres Test method for {@link org.melati.poem.dbms.Dbms# getConnection(java.lang.String, java.lang.String, java.lang.String)}.58
org.melati.poem.test.CachedCountTestLine
work out good use case45
org.melati.poem.test.CachedExistsTestLine
work out good use case44
org.melati.poem.test.DatabasePerformInCommittedTransactionTestLine
Postgresql seems to think that the committed transaction is in a funny state.26
org.melati.poem.test.DynamicTableTestLine
add deletion testing31
org.melati.poem.test.PersistentTestLine
Selection is cached but not invalidated when table cache is invalidated99
org.melati.poem.test.ProtectedLine
this needs locking 62
org.melati.poem.test.ResultSetEnumerationTestLine
There should be a way to provoke RowDisappearedPoemException75
org.melati.poem.test.SettingTestLine
Should we be able to change nullability? You cannot change the type, so hard to see how Exception could be thrown in getRaw().145
org.melati.poem.test.TableFactoryTestLine
Delete tableinfo and columnInfo getDb().delete(t); getDb().dump();76

HACK

Number of occurrences found in the code: 4

org.melati.poem.DatePoemTypeLine
reformat DDMMYYYY dates to YYYY-MM-DD90
org.melati.poem.JdbcTableLine
info == null happens when *InfoTable are unified with the database---obviously they haven't been initialised yet but it gets fixed in the next round when all tables (including them, again) are unified2724
info == null happens when *InfoTable are unified with the database --- obviously they haven't been initialised yet but it gets fixed in the next round when all tables (including them, again) are unified2760
org.melati.poem.transaction.ToTidyListLine
MSAccess not playing nice81

NOTE

Number of occurrences found in the code: 27

org.melati.poem.BasePoemTypeLine
If it isn't valid then it isn't cooked.258
Never happens as currently all PoemTypes are SQLPoemTypes371
org.melati.poem.DatabaseLine
This will include any deleted tables870
This will include any deleted tables881
This bypasses the access control mechanism. Furthermore, the cache will be left out of sync with the database and must be cleared out (explicitly, manually) after the current transaction has been committed or completed.1078
Bootstrapping to troid or we get a stack overflow1148
Once a database has had its <tt>canAdminister</tt> capability set there is no mechanism to set it back to null.1255
org.melati.poem.JdbcPersistentLine
If a canRead column is defined then it will override this method.406
If a canWrite column is defined then it will override this method.473
If a canDelete column is defined then it will override this method.524
This will be overridden if the persistent has a field called <tt>name</tt>. {@inheritDoc}1129
org.melati.poem.JdbcTableLine
No race, provided that the one-thread-per-transaction parity is maintained987
Invalidated cache elements are reloaded when next read1029
It is possible for the count to be written simultaneously, but the cache will end up with the same result.2388
org.melati.poem.PoemExceptionLine
All POEM exceptions are unchecked.51
org.melati.poem.PoemTypeLine
Null is a possible value for nullable types73
org.melati.poem.ResultSetEnumerationLine
A {@link RowDisappearedPoemException} might be thrown but does not prevent subsequent use of the object.105
org.melati.poem.SettingLine
While the underlying value is held as a String that is converted to any type.53
org.melati.poem.TableLine
Invalidated cache elements are reloaded when next read369
It is possible for the count to be written simultaneously, but the cache will end up with the same result.1033
org.melati.poem.TableInfoTableLine
you should override this if you extend TableInfo in your own db.123
org.melati.poem.TableSortedMapLine
first attempt using table.getMostRecentTroid() does not take account of deletion as mostRecentTroid is never decremented100
org.melati.poem.TailoredQueryLine
Since this way of doing queries involves named fields rather than whole <TT>Persistent</TT> objects, it inevitably bypasses any Java-coded access rules put in place by the programmer by overriding <TT>Persistent.assertCanRead</TT>.348
org.melati.poem.ValueInfoLine
A type cannot be changed once initialised.128
org.melati.poem.dbms.AnsiStandardLine
There is a bootstrap problem here, we need to use the unchecked troid, otherwise we get a stack overflow. {@inheritDoc}593
org.melati.poem.dbms.HsqldbTextLine
2010/10/24 I could not get this working due to problems with prepaed statements.52
org.melati.poem.transaction.TransactionedLine
This could be simplified to if(!valid) but that would remove a useful extension hook.127

TODO

Number of occurrences found in the code: 2

org.melati.poem.TableLine
Should work within some kind of limit461
org.melati.poem.test.MultiThreadedCachedSelectionTestLine
think of an appropriate assertion295