1 2012-01-24 Murray Cumming <murrayc@murrayc.com>
3 ConfiguredDocument: Avoid a null pointer exception.
5 * src/main/java/org/glom/web/server/ConfiguredDocument.java
6 Initialize localeID to "" to avoid returning a null String which
7 causes a crash in java-libglom's swing-generated code.
9 2012-01-23 Murray Cumming <murrayc@murrayc.com>
13 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
14 * src/main/webapp/style.css: Rename, tableChooser to tablesChooser. Likewise
15 for localeChooser. This seems more appropriate and is less ambiguous
16 particularly in the .css file.
18 2012-01-23 Murray Cumming <murrayc@murrayc.com>
20 ConfiguredDocument: Rename the localedID private member variable.
22 2012-01-23 Murray Cumming <murrayc@murrayc.com>
24 Adapt to the latest java-libglom API from git master.
26 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
27 libglom now uses only Vector instead of List, which uses add() instead of
30 2012-01-23 Murray Cumming <murrayc@murrayc.com>
32 Add and fill a Reports drop-down list box.
34 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
36 * src/main/java/org/glom/web/client/OnlineGlomService.java:
37 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
38 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
39 Added getReports(document, table, localeID), calling
40 ConfiguredDocument.getReports().
41 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
42 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
43 Added setReportsList() and a list widget.
44 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
45 .java (TableSelectionActivity.fillView(): Fill the view's reports list.
47 2012-01-22 Murray Cumming <murrayc@murrayc.com>
49 ConfiguredDocument: Rename the localedID private member variable.
51 2012-01-20 Murray Cumming <murrayc@murrayc.com>
53 Build a source tarball with mvn assembly:single
55 * assembly.xml: Add this file.
56 * pom.xml: Use the maven-assembly-plugin and tell it to use
57 our assembly.xml file.
59 2012-01-19 Murray Cumming <murrayc@murrayc.com>
61 OnlineGlomServiceImpl: Get .glom files recursively.
63 * pom.xml: Depend on commons-io from org.apache.commons.
64 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
65 init(): Use org.apache.commons.io.FileUtils.listFiles() to get the
66 files recursively, and with the easier filter for the extension.
67 Use org.apache.commons.io.FilenameUtils.removeExtension() to
68 simplify that code too.
70 2012-01-19 Murray Cumming <murrayc@murrayc.com>
72 README: Mention that you must install java-libglom packages separately.
74 But then it works, because java-libglom is now in the central maven
77 2012-01-18 Murray Cumming <murrayc@murrayc.com>
79 locales drop-down: Show the correct selected locale when the URL changes.
81 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
82 .java: setPlace(): Move some code into fillView().
84 2012-01-18 Murray Cumming <murrayc@murrayc.com>
86 locales drop-down: Do not lose the primary key.
88 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
89 start(): onLocaleChange(): Pass the current primary key value,
90 instead of an empty value.
92 2012-01-18 Murray Cumming <murrayc@murrayc.com>
94 locales drop-down: Do not lose the drop-down selection.
96 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
97 .java (TableSelectionActivity.fillView): Set the selected locale
98 after changing the drop-down items (though we do not really need
99 to change them just because the locale changes.)
101 2012-01-18 Murray Cumming <murrayc@murrayc.com>
103 locales drop-down: Change the tables list when this changes.
105 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
106 .java: TableSelectionActivity.start(): Move the async table titles
107 retrieval into a private fillView() method and also call this when
108 the chosen locale changes.
109 Note that the document title is not actually translatable yet, but
110 that is a problem that I should fix soon in libglom.
112 2012-01-18 Murray Cumming <murrayc@murrayc.com>
114 Improve the placement of the locales drop-down.
116 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
117 Put the title and locales drop-down in a div (gwt.FlowTable).
118 * src/main/webapp/style.css: Add magic css properties to make this work.
119 Also remove the left margin from the title so that it lines up with the
122 2012-01-18 Murray Cumming <murrayc@murrayc.com>
124 locales selector: Show human-readable locale titles.
126 * src/main/java/org/glom/web/server/ConfiguredDocument.java
127 getDocumentInfo(): Use java.util.Locale to show a real title of
128 each locale, in the locale's own language.
130 2012-01-17 Murray Cumming <murrayc@murrayc.com>
132 Add a language/locale selector drop-down.
134 * src/main/java/org/glom/web/shared/DocumentInfo.java:
135 Add getLocaleIDs(), setLocaleIDs(), getLocaleTitles(), setLocaleTitles().
136 * /src/main/java/org/glom/web/server/ConfiguredDocument.java:
137 getDocumentInfo(): Store the available Locales in the DocumentInfo.
138 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
139 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
140 Add a ListBox to show the available locales. Add getLocaleSelector(),
141 setLocaleList(), getSelectedLocale(), setSelectedLocale().
142 * src/main/java/org/glom/web/client/event/LocaleChangeEvent.java
143 * src/main/java/org/glom/web/client/event/LocaleChangeEventHandler.
144 java: Add these classes.
145 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
146 start(): Fill the locales ListBox. Handle its change event, firing a
148 setPlace(): Show the selected locale as specified by the URL token.
149 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
150 * src/main/java/org/glom/web/client/activity/ListActivity.java:
151 Handle LocaleChangeEvent, going to a new *Place with that locale.
153 The placement of the ListBox is not pretty, and it currently uses the ID
154 as a title, instead of "English", "Deutsch", "Espanola", etc, but it
158 2012-01-17 Murray Cumming <murrayc@murrayc.com>
160 Search box: Show the search text from the URL token.
162 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
163 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
164 Add setQuickFindText().
165 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
166 .java: setPlace(): Store the queryText if the place is a ListPlace,
167 and call TableSelectionView.setQuickFindText().
169 2012-01-17 Murray Cumming <murrayc@murrayc.com>
171 Allow use of translations via, for instance, &lang=de in the URL.
173 * pom.xml: Use the unstable java-libglom 1.21 version.
175 * src/main/java/org/glom/web/client/OnlineGlomService.java:
176 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java
177 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
178 init(): Instead of calling TranslatableItem.set_current_locale()
179 (now removed), call ConfiguredDocument.setDefaultLocaleID().
180 However, this is only for default locales, which are not needed to
181 change the locale in the URL.
182 getDocumentInfo(), getListViewLayout(), getSortedListViewData(),
183 getDetailsData(), getDetailsLayoutAndData(), getRelatedListData(),
184 getSortedRelatedListData(): Add a localeID parameter, so we can get the
185 layout for a particular locale.
186 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
187 Add get/setDefaultLocaleID().
188 getDocumentInfo(), getListViewData(), getRelatedListData(),
189 getDetailsLayoutGroup(), getListViewLayoutGroup(),
190 createLayoutItemPortalDTO(), convertToGWTGlomLayoutItemField(): Add a
191 localeID parameter, so we can get the layout for a particular locale.
193 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
194 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
195 * src/main/java/org/glom/web/client/place/ListPlace.java:
196 Parse and construct a lang parameter too.
198 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
199 start(): Pass the defaultLocaleID to addDocumentLink(). It is then
200 passed to subsequent methods and constructors.
201 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
202 * src/main/java/org/glom/web/client/activity/ListActivity.java:
203 Store the localeID from the *Place and pass it to other constructors
204 and methods, such as OnlineGlomServiceAsync.getDetailsLayoutAndData().
206 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
207 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
208 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
209 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
210 * src/main/java/org/glom/web/client/ui/ListView.java:
211 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
212 Take localeID parameters and pass them to subsequent constructors and
213 methods, so that the layout is always retrieved for that locale.
215 This is rather repetitive.
217 Note that "" means the original (default) locale of the Glom document,
218 which is usually English.
220 2012-01-17 Murray Cumming <murrayc@murrayc.com>
222 Documents: Remove final keyword to fix startup configuration.
224 * src/main/java/org/glom/web/shared/Documents.java: Remove the
225 final keywords on the private member variables because that breaks
226 the startup, apparently (there are warnings) because it stops them
227 from being serialized. I added these in the previous commit.
229 2012-01-13 Murray Cumming <murrayc@murrayc.com>
231 Documents: Add some final keywords.
233 * src/main/java/org/glom/web/shared/Documents.java: Eclipse suggested
236 2012-01-13 Murray Cumming <murrayc@murrayc.com>
238 OnlineGlomServiceImpl: Add to overview comments.
240 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
241 Note that this is where all the document are loaded. They are not
242 loaded freshly for each page.
244 2012-01-12 Murray Cumming <murrayc@murrayc.com>
248 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
249 Add a TextBox for the text of a quick find.
250 Add getQuickFindBox(), to get the widget, and getQuickFindText() to
252 setBackLink(): Add a String quickFind parameter.
253 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
254 (TableSelectionView): Add getQuickFindBox() and getQuickFindText()
255 to the base interface, because that is how TableSelectionViewImpl is used.
256 * src/main/webapp/style.css: Add style for the search box and its label.
258 * src/main/java/org/glom/web/client/event/QuickFindChangeEvent.java:
259 * src/main/java/org/glom/web/client/event/QuickFindChangeEventHandler.java:
260 Add these files, based on the existing TableChangeEvent and
261 TableChangeEventHandlers.
262 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
263 start(): Handle QuickFindChangeEvent, passing its quickFind text to
264 a ListPlace() that the user should be taken to.
265 * src/main/java/org/glom/web/client/activity/ListActivity.java
266 start(): Handle it here too and adapt the TableChangeEvent handler to
267 pass the extra "" quickFind parameter to ListPlace.
268 * src/main/java/org/glom/web/client/place/ListPlace.java:
269 Constructor: Take an extra String quickFind parameter and store it,
270 returning it from a new getQuickFind() method.
271 getToken(): Put the quickFind text in the URL token.
272 getPlace(): Parse the quickFind text from the URL token.
273 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
274 va: addDocumentLink(): Pass an extra "" quickFind parameter to the
275 ListPlace constructor.
276 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
277 .java: start(): Add a Change handler for the TableSelectionView's
278 TextBox (via its base HasChangeHandlers interface), firing the new
279 QuickFindChangeEvent.
280 setPlace(): Adapt the call to TableSelectionView.setbackLink(), to
281 pass the extra "" quickFind parameter.
283 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
284 setCellTable(): Add a String quickFind parameter and pass it to
285 the ListViewTable() constructor.
286 * src/main/java/org/glom/web/client/ui/ListView.java: Change
287 setCellTable() in the base interface, because that is how ListViewImpl
290 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
291 Add a String quickFind member variable.
292 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
293 Constructor: Add a String quickFind parameter, storing it in the
294 base ListTable's member variable.
295 onRangeChanged(): Pass quickFind to the
296 OnlineGlomServiceAsync.getSortedListViewData() and
297 OnlineGlomServiceAsync.getListViewData() methods.
299 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
300 getListViewData(), getSortedListViewData(): Add a String quickFind
301 parameter, passing it to ConfiguredDocument.getListViewData().
302 * src/main/java/org/glom/web/client/OnlineGlomService.java:
303 Change getListViewData(), getSortedListViewData() in the base interface,
304 because that is how OnlineGlomServiceImpl is used, via this:
305 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
306 Change getListViewData(), getSortedListViewData() here too.
307 This class can apparently be used to asynchronously call methods on
308 OnlineGlomService, and GWT seems to implement that after recognizing
309 just the *Async name convention and the extra AsyncCallback parameters.
311 * src/main/java/org/glom/web/server/ConfiguredDocument.java
312 getListViewData(): Add a String quickFind parameter, and pass it to
313 ListViewDBAccess.getData().
314 * src/main/java/org/glom/web/server/database/ListDBAccess.java
315 getListData(): Add a String quickFind parameter and pass it to
317 getSelectQuery(): Add a String quickFind parameter.
318 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java
319 getSelectQuery(): Add a String quickFind parameter and use it with
320 Glom.get_find_where_clause_quick() to pass a where_clause to
321 Glom.build_sql_select_with_where_clause(), to actually filter the
323 getData(): Add a String quickFind parameter, passing it to getListData().
324 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.ja
325 va: getData(): Pass an empty string to getListData() for the
328 2012-01-12 Murray Cumming <murrayc@murrayc.com>
330 ListTable: Minor change.
332 * src/main/java/org/glom/web/client/ui/list/ListTable.java
333 createCellTable(): Make this protected instead of public.
335 2012-01-12 Murray Cumming <murrayc@murrayc.com>
337 Many files: Use final for the parameters and use the @override attribute.
339 2012-01-22 Ben Konrath <ben@bagu.org>
341 Add anchor links for single line text that starts with http, ftp and www.
345 2012-01-22 Ben Konrath <ben@bagu.org>
347 Add ellipsis to single line text in details view.
351 2012-01-04 Murray Cumming <murrayc@murrayc.com>
353 Remove all javadoc author tags.
355 Because they are awkward and meaningless when many people touch
357 See https://gitorious.org/online-glom/gwt-glom/commit/7628b732cb90cbc6d5635420a75568504e8b3655#comment_81164
359 2012-01-04 Murray Cumming <murrayc@murrayc.com>
361 Revert the COPYING.LESSER to COPYING rename.
363 Apparently both should be there if it is LGPL.
365 2012-01-03 Murray Cumming <murrayc@murrayc.com>
367 *View: Remove unused imports.
369 * src/main/java/org/glom/web/client/ui/DetailsView.java:
370 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java
371 * src/main/java/org/glom/web/client/ui/ListView.java:
372 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
373 Remove unused imports, as suggested by Eclipse.
375 2012-01-02 Murray Cumming <murrayc@murrayc.com>
377 Move the *View::Presenter types, and some API into one base View.
379 * src/main/java/org/glom/web/client/ui/DetailsView.java:
380 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
381 * src/main/java/org/glom/web/client/ui/ListView.java:
382 * src/main/java/org/glom/web/client/ui/TableSelectionView.java: Move
383 Presenter, setPresenter() and clear() into a shared base interface,
384 to avoid the unnecessary duplicate Presenter types and to more clearly
385 show how the *Views share the same structure, even if they are not
386 used polymorphically.
388 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
389 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
391 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
392 * src/main/java/org/glom/web/client/activity/ListActivity.java:
393 * src/main/java/org/glom/web/client/activity/DocumentSelectionActiv
395 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
398 Feel free to revert this if there is a good reason for the duplicate
401 2012-01-02 Murray Cumming <murrayc@murrayc.com>
403 OnlineGlom: Make clientFactory a (protected) member, and test it a bit.
405 * src/main/java/org/glom/web/client/OnlineGlom.java: Make clientFactory
406 a class member instead of a local variable in the method.
407 This lets us use it to get the view instances, for use in tests.
408 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
409 beforeOnlineGlom(): Test some more details of the initial view.
410 Again, this is not very useful.
412 To really test gwt-glom we will need to start a local postgresql
413 instance with local data, like the Glom tests in C++.
415 2012-01-02 Murray Cumming <murrayc@murrayc.com>
417 pom.xml: Mention the LGPL license.
419 * pom.xml: Add a licenses section.
420 * COPYING.LESSER: Move this to COPYING, which
421 previously contained the GPL. But gwt-glom is all LGPL.
423 2012-01-02 Murray Cumming <murrayc@murrayc.com>
425 Add project information to README and pom.xml.
427 * README: Add a brief description and mention some mvn
429 * pom.xml: This extra information shows up in mvn site
432 2011-01-02 Murray Cumming <murrayc@murrayc.com>
434 Use the latest java-libglom version.
436 * pom.xml: Use java-libglom 1.19.2 instead of 1.19.1.
438 2012-01-01 Murray Cumming <murrayc@murrayc.com>
440 GwtTestOnlineGlom: Test a little more.
442 * src/main/java/org/glom/web/client/OnlineGlom.java: Make the panels
443 protected rather than private, as suggested by the gwt-test-utils
445 http://stackoverflow.com/questions/7931724/gwt-testcase-simulating-clicking-a-button-on-my-page
446 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java
447 Test the initial visibility of the panels.
449 However, this is not a very useful test.
450 And I wonder how we should generally test using this idea for an
451 activity/places app like ours where the real changes happen implicitly
452 based on the history token/URL.
454 2012-01-01 Murray Cumming <murrayc@murrayc.com>
456 Slight modification to *Mapper comments.
458 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java
460 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMa
462 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMappe
464 Remove comments mentioning GIN because they are just copied from
465 the example code and are apparently not helpful:
466 http://groups.google.com/group/google-web-toolkit/msg/82f0098b20669a73
467 Also change the mention of a class that is only in the example code.
469 2012-01-01 Murray Cumming <murrayc@murrayc.com>
471 GwtTestOnlineGlom test: Minor changes.
473 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
474 Avoid the long qualified class name and modify the comment
475 because it is now obvious to me that the mocked class is the only
476 custom one created via GWT.create().
478 2012-01-01 Murray Cumming <murrayc@murrayc.com>
480 Tests: Added the beginnings of a test using gwt-test-utils.
482 * pom.xml: Add dependencies on gwt-test-utils and easymock.
483 * src/test/resources/META-INF/gwt-test-utils.properties: Add this file
484 which tells gwt-test-utils what class will be tested.
485 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
486 Add a simple (but empty) test case. One class, used by the OnlineGlom
487 class, is mocked so that it can be created. However, I am not sure
488 why only this class needs to be mocked.
490 Note that mockito seems more popular, and clearer, than easymock,
491 but I have not got that working yet. It might be a matter of the
494 This test is run during mvn integration-test.
496 2011-12-31 Murray Cumming <murrayc@murrayc.com>
498 Tests: Use junit4-style syntax instead of junit3-style.
500 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
501 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
502 * src/test/java/org/glom/web/shared/DataItemTest.java:
503 Use the @Test annotation rather than relying on the test*() prefix.
504 Also no longer implement TestCase, to avoid triggering support for
505 the junit3-way, which stops the annotations from working.
506 Change the imports from import junit.framework.* to
507 import org.junit.*, which is apparently the new way.
509 2011-12-31 Murray Cumming <murrayc@murrayc.com>
511 Added a test for ListPlace token parsing and creation.
513 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
514 This is much the same as DetailsPlaceTest.
516 I wonder how we could test the other parts of the *Place API.
518 2011-12-30 Murray Cumming <murrayc@murrayc.com>
520 DetailsPlace test: Also test getToken() and recreation via getPlace().
522 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
523 testGetPlaceParameters(): Get the tokens from the DetailsPlace and
524 recreate it, testing the recreated DetailsPlace for the same parameter
527 2011-12-30 Murray Cumming <murrayc@murrayc.com>
529 Use the surefire-report plugin.
531 * pom.xml: This generates a HTML report about the tests in
532 target/site/surefire-report.html
533 when you do mvn surefire-report:report. It seems to be popular/normal.
535 2011-12-30 Murray Cumming <murrayc@murrayc.com>
537 Added a test for DetailsPlace.
539 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
540 Test the getPlace() token parsing.
542 2011-12-30 Murray Cumming <murrayc@murrayc.com>
544 Added a first unit test.
546 * pom.xml: Add a test goal, and a dependency on junit in that scope.
547 * src/test/java/org/glom/web/shared/DataItemTest.java:
548 This is a silly test but it is just to get things started. Note that
549 maven/junit finds the test because it looks in src/test by default.
551 2011-12-22 Ben Konrath <ben@bagu.org>
553 Change charsetName to "UTF-8" when replacing line breaks.
555 JavaScript requires the charsetName to be "UTF-8". CharsetName values
556 that work in Java (such as "UTF8") will not work when compiled to
559 This fixes a problem with multi-line details view fields that have hard
560 line breaks. The "License Text" field on this page demonstrates the
563 http://onlineglom.openismus.com/OnlineGlom/#details:document=debian_repository_analyzer&table=licenses&value=197
565 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
567 2011-12-22 Ben Konrath <ben@bagu.org>
569 Fix another bug with related list navigation.
571 I've tested all the navigation buttons in all of the related lists
572 so things should be good now.
574 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
576 2011-12-22 Ben Konrath <ben@bagu.org>
578 Fix a crasher when refreshing the list view with the default table.
580 This crash will also happen when loading the list view with the default
581 table from a link or bookmark.
583 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Go
584 to the main document selection page when the document id hasn't been
586 * src/main/java/org/glom/web/client/activity/ListActivity.java: Go to
587 the main document selection page when the document id hasn't been
589 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Use empty
590 values for the details place when the document id hasn't been set.
591 * src/main/java/org/glom/web/client/place/ListPlace.java: Use empty
592 values for the list place when the document id hasn't been set.
594 2011-12-21 Ben Konrath <ben@bagu.org>
596 Protect against NPE when glom.document.locale is not in config.
598 This patch protects against an NPE when glom.document.locale is not in
599 the config file. This NPE will also happen if glom.document.locale is
602 The patch also updates the error message to display the class name when
603 the getMessage() returns null. This was happening when the NPE was
604 thrown and I had "Configuration Error: null". If an NPE is encountered
605 with this patch, "Configuration Error: NullPointerException " will be
608 This commit closes this bug:
610 https://bugzilla.gnome.org/show_bug.cgi?id=666669
612 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
614 2011-12-20 Murray Cumming <murrayc@murrayc.com>
616 Rename onlineglom.properties to onlineglom.properties.sample.
618 * src/main/resources/onlineglom.properties: Rename to:
619 * src/main/resources/onlineglom.properties.sample:
620 * src/main/resources/README: And add this file explaining that people
621 should rename it back when deploying.
623 2011-12-20 Murray Cumming <murrayc@murrayc.com>
625 Allow choosing the translation in the .properties file.
627 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
628 init(): Read a glom.document.locale value from the configuration file
629 and call Glom's TransatableItem::set_current_locale() method.
630 * src/main/resources/onlineglom.properties: Add a commented-out
631 example of this new setting.
633 It would be better to add &lang=de_DE to the URL, but the current
634 libglom API does not allow us to do this easily. I am working on that.
636 2011-12-19 Murray Cumming <murrayc@murrayc.com>
638 Avoid a crash in parsing of token parameters.
640 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.j
641 ava: getTokenParams(): Do not crash if a parameter has a key but no
642 value, and ignore parameters with neither.
644 2011-12-17 Murray Cumming <murrayc@murayc.com>
646 History token building/handling: Improve use of token parameters.
648 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
649 (HasSelectableTablePlace.Tokenizer): Add getTokenParams(String)
650 and buildParamsToken(HashMap), for use by derived classes.
651 Make the separator private because it is no longer be needed.
652 * src/main/java/org/glom/web/client/place/DetailsPlace.java
653 (DetailsPlace.Tokenizer.getToken): Use buildParamsToken()
654 instead of manual string concatenation.
655 (DetailsPlace.Tokenizer.getPlace): Use getTokenParams() instead
656 of hardcoded indices and awkward splitting code.
657 * src/main/java/org/glom/web/client/place/ListPlace.java
658 (ListPlace.Tokenizer.getToken): Use buildParamsToken()
659 instead of manual string concatenation.
660 (ListPlace.Tokenizer.getPlace): Use getTokenParams() instead
661 of hardcoded indices and awkward splitting code.
662 This should fix bug #666420
664 2011-12-16 Murray Cumming <murrayc@murrayc.com>
666 Fix a Navgiation->Navigation typo in the code.
668 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
669 Rename processNavgiation() to processNavigation().
671 2011-12-16 Murray Cumming <murrayc@murrayc.com>
673 Fix a seperator->separator typo in the code.
675 * src/main/java/org/glom/web/client/place/DetailsPlace.java
676 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
677 * src/main/java/org/glom/web/client/place/ListPlace.java: Just a
680 2011-12-15 Ben Konrath <ben@bagu.org>
682 Cleanup some comments.
684 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
686 2011-12-14 Ben Konrath <ben@bagu.org>
688 Replace \n with <br/> for multiline text in the details view.
690 Vertical scrollbars are added when needed as well.
692 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
694 2011-12-14 Ben Konrath <ben@bagu.org>
696 Specify the font for document selection links.
698 * src/main/webapp/style.css:
700 2011-12-14 Ben Konrath <ben@bagu.org>
702 Fix bouncy CellTable while paging.
704 This doesn't currently work with related list tables in unselected
707 * src/main/java/org/glom/web/client/ui/list/ListTable.java
709 2011-12-14 Ben Konrath <ben@bagu.org>
711 Revamp the appearance of the document selection page.
713 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
714 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
715 * src/main/webapp/style.css:
717 2011-12-13 Ben Konrath <ben@bagu.org>
719 Set navigation button column to the smallest size possible.
721 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
723 2011-12-13 Ben Konrath <ben@bagu.org>
725 Change OpenButton nomenclature to NavigationButton.
727 Using NavigtionButton makes things more generic. Classes, methods and
728 variables have been changed.
730 This is a rename-only refactor.
732 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
733 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
734 * src/main/java/org/glom/web/client/ui/cell/NavigationButtonCell.java:
735 Renamed from OpenButtonCell.
736 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
737 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
738 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
740 2011-12-12 Ben Konrath <ben@bagu.org>
742 Remove unnecessary String argument in RelatedListTable and ListViewTable.
744 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
745 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
746 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
747 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
749 2011-12-12 Ben Konrath <ben@bagu.org>
751 Update variable names and comments.
753 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
754 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
756 2011-12-12 Ben Konrath <ben@bagu.org>
758 Properly initialize numNonEmptyRows variable to zero.
760 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
761 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
763 2011-12-05 Ben Konrath <ben@bagu.org>
765 Add latest mockup with HTML tables.
767 Features of this mockup:
769 -> HTML table for flowtable
770 -> HTML table for flowtable column
771 -> Example of how related lists would look
772 -> Not using text entries for data items
774 The current version of Online Glom doesn't use HTML tables for the
777 This mockup has been sent to the glom-devel mailing list but it's good
778 to have it here as well.
780 * mockups/details-view-html-tables.html:
782 2011-12-05 Ben Konrath <ben@bagu.org>
784 Remove unnecessary getPrimaryKeyField() method.
786 getPrimaryKeyFieldForTable(String) has been renamed to
787 getPrimaryKeyField(String).
789 * src/main/java/org/glom/web/server/database/DBAccess.java:
790 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
791 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
793 2011-12-05 Ben Konrath <ben@bagu.org>
795 Add string representation of TypedDataItem value to conversion error message.
797 * src/main/java/org/glom/web/server/Utils.java: Logging the error
798 message was extracted into its own method to avoid duplication.
800 2011-12-05 Ben Konrath <ben@bagu.org>
802 Add type checking to navigation primary key value creation.
804 Create navigation primary key only if the expected type from the Glom
805 document matches the type returned by the SQL query.
807 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
809 2011-12-05 Ben Konrath <ben@bagu.org>
811 Rename a couple of variables in RelatedListNavigation.
813 This is a rename-only refactor.
815 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
817 2011-12-05 Ben Konrath <ben@bagu.org>
819 Move getListLayoutGroup() into getListViewLayoutGroup().
821 This removes getListLayoutGroup(). It was only being called by
822 getListViewLayoutGroup().
824 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
826 2011-12-05 Ben Konrath <ben@bagu.org>
828 Remove check for LayoutItem_Portal in list table method.
830 This check is no longer necessary because the method isn't being used
831 to create the LayoutItemPortal DTO.
833 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
835 2011-12-05 Ben Konrath <ben@bagu.org>
837 Properly support related list navigation.
839 Navigation from the "Repository Analyzer -> Package Scans ->
840 Dependencies" related table wasn't working because the primary key for
841 related tables wasn't being set properly. This commit fixes the
844 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't use
845 getListLayoutGroup() to create the LayoutItemPortal DTO. This method
846 doesn't set the primary key properly for related list tables.
847 * src/main/java/org/glom/web/server/database/DBAccess.java: Add table
848 name parameter to getPrimaryKeyLayoutItemField(). This makes the method
849 useful for getting the primary key for list view tables and for related
851 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
852 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
853 Move code to set the primary key for the table from the abstract
854 ListDBAccess class to ListViewDBAccess as it's only correct for list
856 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
857 Properly add primary key to related list tables.
859 2011-12-02 Ben Konrath <ben@bagu.org>
861 Properly set the horizontal alignment of fields.
863 This fix is for both the list tables and the details view.
865 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
866 LayoutItem_WithFormatting.get_formatting_used_horizontal_alignment(boolean)
867 to set the horizontal alignment of fields.
869 2011-12-02 Ben Konrath <ben@bagu.org>
871 Display currency codes in the details view.
873 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
875 2011-12-02 Ben Konrath <ben@bagu.org>
877 Avoid duplicate JNI call.
879 JNI is not as efficient as pure Java and this is an easy (and small)
882 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
883 Use previously retrieved value for whereClauseToTableName instead of
886 2011-12-02 Ben Konrath <ben@bagu.org>
888 Rename a couple of variables in RelatedListNavigation.
890 This is a rename-only refactor.
892 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
894 2011-12-02 Ben Konrath <ben@bagu.org>
896 Indicate clearly that a mismatched primary key type is a bug.
898 * src/main/java/org/glom/web/server/Utils.java: Change log level from
899 warning to error. Add 'This is a bug.' to message.
901 2011-12-02 Ben Konrath <ben@bagu.org>
903 Update / fix some comments.
905 * src/main/java/org/glom/web/client/OnlineGlomService.java: Remove old
907 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Fix
909 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
910 Fix comments. Add some TODOs.
912 2011-12-02 Ben Konrath <ben@bagu.org>
914 Enable navigation to details view with string primary key from related list.
916 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
917 Create a text primary key value when return type of result is
918 java.sql.Types.VARCHAR.
920 2011-12-02 Ben Konrath <ben@bagu.org>
922 Use checkboxes for booleans in the details view.
924 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
926 2011-12-01 Ben Konrath <ben@bagu.org>
928 Improve performance of related list height calculation.
930 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
931 Put code to calculate the expected height in a static initializer so
932 that that it's only called once.
934 2011-12-01 Ben Konrath <ben@bagu.org>
936 Show related list tables in notebooks (again).
938 Calculate the height of the related list tables so the Notebook can be
939 set the correct height. The height of the related list table is also needed by
940 FlowTable to be able decide how to create the layout.
942 * src/main/java/org/glom/web/client/ui/details/Portal.java: Calculate
943 and set the Portal height based on the height of the related list
944 table and the Portal container.
945 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
946 Add method to calculate the height of the related list tables.
947 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
948 * src/main/webapp/style.css: Add css class for Pager. This is needed to
949 calculate the height of the Pager widget.
951 2011-12-01 Ben Konrath <ben@bagu.org>
953 Use CellTable API for table property instead of setting style on Element.
955 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
957 2011-12-01 Ben Konrath <ben@bagu.org>
959 Make ListViewTable and RelatedListTable a consistent height.
961 The tables are now a consistent height regardless of the contents of
962 the table. A hidden button is added to empty rows to ensure that the
963 height of these rows will match the height of rows with data.
965 A navigation button column is now added to every table. The width of
966 the navigation column is set to 0px when a RelatedListTable shouldn't
967 have navigation buttons. This maintains the a consistent row height in
968 tables that don't show the navigation buttons.
970 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Hide
971 navigation column when not needed.
972 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move method
973 arguments for navigation button to constructor of ListViewTable.
974 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Render
975 hidden button for empty data rows.
976 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java: Add method
977 arguments for navigation button to constructor.
978 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Always
979 create navigation buttons. Add hideNavigationButtons() method.
980 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add method
981 arguments for navigation button to constructor.
983 2011-12-01 Ben Konrath <ben@bagu.org>
985 Use 'visibility: hidden' in Utils.getWidgetHeight().
987 This is better choice because hidden elements are invisible, don't
988 respond to events and are not part of the tab order. They will,
989 however, take up space which is required to be able to calculate the
990 height of the widget.
992 * src/main/java/org/glom/web/client/Utils.java:
994 2011-12-01 Ben Konrath <ben@bagu.org>
996 Use Utils.getWidgetHeight() in FlowTable.
998 * src/main/java/org/glom/web/client/Utils.java: Remove TODO item about
1000 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
1002 2011-12-01 Ben Konrath <ben@bagu.org>
1004 Put the details css class name on the correct table column.
1006 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1008 2011-11-30 Ben Konrath <ben@bagu.org>
1010 Update for java-libglom API change.
1012 The getters and setters on FieldFormatting and NumericFormat were
1013 changed to remove the 'M'.
1015 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1017 2011-11-29 Ben Konrath <ben@bagu.org>
1019 Only allow RelatedListTables in Portals.
1021 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1023 2011-11-29 Ben Konrath <ben@bagu.org>
1025 Only create a contents panel for Portals when title is being set.
1027 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1029 2011-11-29 Ben Konrath <ben@bagu.org>
1031 Set TabLayoutPanel height based on calculated height its widgets.
1033 This is a potential fix for this bug:
1035 https://bugzilla.gnome.org/show_bug.cgi?id=665133
1037 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1039 2011-11-29 Ben Konrath <ben@bagu.org>
1041 Align details field labels and data with the Open buttons.
1043 * src/main/webapp/style.css:
1045 2011-11-29 Ben Konrath <ben@bagu.org>
1047 Remove unnecessary <div> in the Notebook widget.
1049 * src/main/java/org/glom/web/client/ui/details/Group.java: Remove
1050 method to get container FlowPanel (<div>).
1051 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Run the
1052 initWidget() method directly on the TabLayoutPanel widget instead of
1053 Group's container widget.
1055 2011-11-29 Ben Konrath <ben@bagu.org>
1057 Don't add group titles for Portals in Notebooks.
1059 This reverts the previous patch and fixes a bug I introduced with
1060 commit b1753fd27bd2c4ea189c4c353e0ece92dcc66c2c .
1062 * src/main/java/org/glom/web/client/ui/details/Group.java:
1063 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1065 2011-11-28 Ben Konrath <ben@bagu.org>
1067 Remove unused boolean argument in Portal constructor.
1069 Just a code cleanup.
1071 * src/main/java/org/glom/web/client/ui/details/Group.java:
1072 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1074 2011-11-28 Ben Konrath <ben@bagu.org>
1076 Remove hack for glom 1.18 style glom files.
1078 * src/main/java/org/glom/web/client/ui/details/Group.java:
1079 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1080 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1082 2011-11-28 Ben Konrath <ben@bagu.org>
1084 Use Gda Value version of primary key to log result too large error.
1086 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1088 2011-11-28 Ben Konrath <ben@bagu.org>
1090 Don't use TypedDataItem.getText() for Unknown types from the URL.
1092 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1093 * src/main/java/org/glom/web/server/Utils.java: Use getUnknown()
1094 instead of getText().
1095 * src/main/java/org/glom/web/shared/TypedDataItem.java: Add unknown
1096 String field and getUnknown() method.
1098 2011-11-28 Ben Konrath <ben@bagu.org>
1100 Log an error message when the java-libglom .so is not present.
1102 The error message was being set in the exception but not logged.
1104 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1106 2011-11-28 Ben Konrath <ben@bagu.org>
1108 Ignore LayoutItem_CalendarPortals.
1110 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't
1111 create the LayoutItemPortal DTO for LayoutItem_CanendarPortals.
1113 2011-11-28 Ben Konrath <ben@bagu.org>
1115 Extract method for creating the LayoutItemPortal DTO.
1117 Just breaking the code up into smaller chunks.
1119 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1121 2011-11-28 Ben Konrath <ben@bagu.org>
1125 This should have been added with the refactor. Oops!
1127 * src/main/java/org/glom/web/shared/TypedDataItem.java:
1129 2011-11-28 Ben Konrath <ben@bagu.org>
1131 Create primary key value from URL string using type from Glom document.
1133 See this bug, comments 19 - 25:
1135 https://bugzilla.gnome.org/show_bug.cgi?id=662376#c19
1137 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Don't
1138 create a TypeDataItem for the primary key here when loading from a
1139 URL. Show the same string for the primary key value as was received
1140 from the URL string (when loading from a URL).
1141 * src/main/java/org/glom/web/server/Utils.java: Update method for
1142 creating the Gda Value from the TypeDataItem to properly deal with
1143 creating a Gda Value based on the Glom document type for the primary
1144 key value string when loading from a URL.
1145 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1146 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1147 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1148 Update for changed method name.
1150 2011-11-27 Ben Konrath <ben@bagu.org>
1152 Rename PrimaryKeyItem to TypedDataItem.
1154 The name PrimaryKeyItem suggests what the class should be used for.
1155 TypedDataItem is a neutral name that describes the class better.
1157 This is a rename-only refactor.
1159 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1160 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1161 * src/main/java/org/glom/web/client/Utils.java:
1162 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1163 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1164 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1165 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1166 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1167 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1168 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1169 * src/main/java/org/glom/web/server/Utils.java:
1170 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1171 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1172 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1173 * src/main/java/org/glom/web/shared/NavigationRecord.java:
1175 2011-11-25 Ben Konrath <ben@bagu.org>
1177 Improve Gda Value conversion from PrimaryKeyItem.
1179 The value from the PrimaryKeyItem is only used if its type match the
1180 type from the glom document.
1182 * src/main/java/org/glom/web/server/Utils.java:
1184 2011-11-25 Ben Konrath <ben@bagu.org>
1186 Manually check if the java-liblgom .so is visible to the JVM.
1188 It seems that Tomcat has problems when a static initializer throws an
1189 exception. This check is done before the first method call into
1190 java-libglom so that execution doesn't continue if the .so is not
1193 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1195 2011-11-25 Ben Konrath <ben@bagu.org>
1197 Improve browser configuration error messages.
1201 https://bugzilla.gnome.org/show_bug.cgi?id=662792
1203 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1204 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1205 getConfigurationErrorMessage() method.
1206 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1207 Get and display a specific configuration error message when no Glom
1208 documents are found.
1209 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1210 Implement getConfigurationErrorMessage() method. Surround configuration
1211 code in the init() method with a try/catch block. This allows the
1212 errors to be caught while keeping the servlet available to retrieve the
1213 configuration error message.
1215 2011-11-25 Ben Konrath <ben@bagu.org>
1217 Don't use Strings to hold primary key values.
1219 The primary key values are now held in a new data object
1220 (PrimaryKeyItem) that holds type information and the primary key value
1221 using the correct type.
1223 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1224 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1225 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1226 PrimaryKeyItem instead of String to hold the primary key value.
1227 * src/main/java/org/glom/web/client/Utils.java: Remove
1228 getKeyValueStringForQuery(). Add getPrimaryKeyItem() which creates a
1229 PrimaryKeyItem based on the GlomFieldType and the DataItem.
1230 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Use
1231 PrimaryKeyItem instead of String to hold the primary key value. Load
1232 document selection page when the documentID has not been set correctly.
1233 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Re-work
1234 DetailsPlace -> URL and URL -> DetailsPlace conversion with
1236 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
1237 Return empty string for URL instead of "null".
1238 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1239 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1240 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1241 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
1242 PrimaryKeyItem instead of String to hold primary key values.
1243 * src/main/java/org/glom/web/server/Utils.java: New method to convert a
1244 PrimaryKeyValue to a Gda Value.
1245 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1246 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1247 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1248 Replace temporary database access code that uses the PrimaryKeyValue to
1249 Gda Value conversion.
1250 * src/main/java/org/glom/web/shared/DataItem.java: Add comment.
1251 * src/main/java/org/glom/web/shared/NavigationRecord.java: Use
1252 PrimaryKeyItem instead of String.
1253 * src/main/java/org/glom/web/shared/PrimaryKeyItem.java: New class to
1254 hold primary key values.
1256 2011-11-24 Ben Konrath <ben@bagu.org>
1258 Use newly added java-libglom API to create queries.
1260 This isn't finished. I still need to stop using Strings for primary key
1261 values in the client code.
1263 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Tell
1264 libglom to use fake connections so that retrieving the query string will
1266 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1267 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1268 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1269 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1270 Use the newly added libglom sql methods and classes to create the
1271 query. Add temporary hack to convert primary value strings to Gda
1274 2011-11-23 Ben Konrath <ben@bagu.org>
1276 Don't explicitly set the height of Portals.
1278 See comments 6 - 10 of this bug for details:
1280 https://bugzilla.gnome.org/show_bug.cgi?id=662930#c6
1282 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1284 2011-11-23 Ben Konrath <ben@bagu.org>
1286 Use an HTML table instead of CSS for the FlowTable layout.
1288 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Use
1289 GWT's FlexTable to implement the FlowTable.
1290 * src/main/webapp/style.css: Adjust CSS for the change to FlexTable.
1292 2011-11-18 Ben Konrath <ben@bagu.org>
1294 Add boolean example to HTML table mockup.
1296 * mockups/details-view-html-tables-text-entries.html:
1298 2011-11-17 Ben Konrath <ben@bagu.org>
1300 Ensure the pager buttons are always visible for related lists.
1302 To accomplish this, I've turned off text wrapping in the list view and
1303 related list tables for both the header and data text. The related list
1304 table now has a fixed layout so the it doesn't overflow its container.
1305 This is required to ensure that the cell text is clipped when it
1306 overflows the cell and an ellipsis is added to the right side of the
1307 cell when text is clipped.
1309 A fixed table layout for the related list table in the details view
1310 seems what we want for the details view anyway, so the side-effect is
1313 The ellipsis will only be displayed in Firefox >= 7.
1317 https://bugzilla.gnome.org/show_bug.cgi?id=662930
1319 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java:
1320 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: Add
1321 'overflow: hidden; text-overflow: ellipsis;' CSS properties to the table
1323 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1324 Set the 'table-layout: fixed' CSS property to the related list table.
1325 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Set the
1326 'white-space: nowrap;' CSS property on both the list view and the
1327 related list tables.
1329 2011-11-16 Ben Konrath <ben@bagu.org>
1331 Rework the fix for empty notebook tab labels.
1333 Setting the empty group titles with its name caused problems for the
1334 details layout. Instead of using libglom's
1335 LayoutItem.get_title_or_name(), the LayoutItem name is explicitly sent
1336 to the client when the title is empty. This allows the Notebook to use
1337 the name when the title is empty without affecting anything else.
1339 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1340 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1342 2011-11-16 Ben Konrath <ben@bagu.org>
1344 Set group titles with name when title is empty.
1346 This fixes a problem with an empty notebook tab label in the Lesson
1347 Planner document. The forth tab in the notebook should be "Internet":
1349 http://bagu.org:8080/OnlineGlom/#details:document=lesson-planner&table=teachers&value=0
1351 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
1352 libglom's LayoutItem.get_title_or_name() to fill in the LayoutGroup
1355 2011-11-16 Ben Konrath <ben@bagu.org>
1357 Remove whitespace from the configured username properties.
1359 This assumes that usernames won't have whitespace at the beginning
1360 or end. But I think this is a reasonable assumption.
1362 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1363 String.trim() to remove the whitespace from the username properties.
1365 2011-11-15 Ben Konrath <ben@bagu.org>
1367 Add details view mockup with HTML tables and text entries.
1369 This is from the attachment on this bug:
1371 https://bugzilla.gnome.org/show_bug.cgi?id=663109
1373 * mockups/details-view-html-tables-text-entries.html:
1375 2011-11-15 Ben Konrath <ben@bagu.org>
1377 Add space between the columns of the flow table.
1381 https://bugzilla.gnome.org/show_bug.cgi?id=662918
1383 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Add a 1%
1384 space between columns in the flow table.
1386 2011-11-15 Ben Konrath <ben@bagu.org>
1388 Add backup files to the .gitignore.
1390 * .gitignore: Ignore files that end with ~.
1392 2011-11-09 Ben Konrath <ben@bagu.org>
1394 Use latest release of gwt-log.
1396 Gwt-log releases are now being submitted to the maven central
1397 repository so manual installation of the jar is no longer required.
1399 * pom.xml: Update version and groupId of gwt-log dependency.
1401 2011-10-31 Ben Konrath <ben@bagu.org>
1403 Don't use GWT numeric formatting to override the glom currency formatting.
1405 Currencies are now displayed like they are in Glom. See this bug:
1407 https://bugzilla.gnome.org/show_bug.cgi?id=646216
1409 * src/main/java/org/glom/web/client/Utils.java: Remove GWT currency
1411 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: Add
1412 currency code to constructor and set it when the cell is rendered.
1413 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
1414 currency code to the constructor of the NumericCell.
1416 2011-10-27 Ben Konrath <ben@bagu.org>
1418 Require the latest release of java-libglom (1.17.4).
1422 2011-10-26 Ben Konrath <ben@bagu.org>
1424 Add style to Notebook that matches current theme.
1426 It's not the best style in the world but it's better than the default.
1428 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Add some
1429 padding at the bottom of the child widgets.
1430 * src/main/webapp/style.css: Add style for the Notebook.
1432 2011-10-26 Ben Konrath <ben@bagu.org>
1434 Move servlet initialization code to overridden init method.
1436 This is half of the solution to getting proper error messages
1437 displayed when configuration errors occur. Here's the relevant bug:
1439 https://bugzilla.gnome.org/show_bug.cgi?id=662792
1441 The rest of the solution involves surrounding the init method with a
1442 try/catch block and setting a global variable with the error /
1443 exception. A new async method should be created to retrieve and display
1444 the error message / exception.
1446 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Move
1447 code from constructor to init method adding exceptions as needed.
1449 2011-10-26 Ben Konrath <ben@bagu.org>
1451 Add script to monitor and restart tomcat if required.
1453 * utils/check-and-recover-tomcat.py: New file.
1455 2011-10-26 Ben Konrath <ben@bagu.org>
1457 Display the correct number of data items in the pager.
1461 https://bugzilla.gnome.org/show_bug.cgi?id=661441
1463 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1464 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1465 The implementation is the same for both tables: Keep track of the
1466 number of non-empty rows and fire and RowCountChangeEvent after the data has
1468 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add a
1469 custom Pager class that subclasses SimplePager to handle displaying
1470 the correct number when empty rows have been added.
1472 2011-10-26 Ben Konrath <ben@bagu.org>
1474 Correct error in previous commit.
1476 * src/main/java/org/glom/web/client/activity/ListActivity.java: Remove
1477 eventBus parameter from listView.setCellTable().
1479 2011-10-26 Ben Konrath <ben@bagu.org>
1481 Fix error in TODO comment.
1483 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1485 2011-10-24 Ben Konrath <ben@bagu.org>
1487 Create Notebook widgets to the details view.
1489 This isn't finished just yet - I still need to create a reasonable
1490 style to match the current theme.
1492 * src/main/java/org/glom/web/client/Utils.java: Add method for
1493 calculating the height of a widget. This is used in the Notebook class.
1494 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
1495 new constructor method in Group.
1496 * src/main/java/org/glom/web/client/ui/details/Group.java: Add new
1497 method for creating child widget that can be used by subclasses
1498 like Notebook. New constructor that allows disabling the group
1499 titles - Notebooks don't set a group title for their child groups.
1500 * src/main/java/org/glom/web/client/ui/details/Notebook.java: New class
1501 to make Notebooks using GWT's TabLayoutPanel.
1502 * src/main/java/org/glom/web/client/ui/details/Portal.java: New
1503 constructor that allows disabling the group titles.
1504 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Create the
1505 LayoutItemNotebook DTO.
1506 * src/main/java/org/glom/web/shared/layout/LayoutItemNotebook.java: New
1507 DTO for Notebooks. It's just an empty class for now but we might need
1508 it to transfer some specific information in the future.
1510 2011-10-21 Ben Konrath <ben@bagu.org>
1512 Add navigation buttons to related list tables.
1514 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1515 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1516 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add new
1517 method getSuitableRecordToViewDetails() for getting the table name
1518 and primary key value for related list navigation buttons.
1519 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1520 private cell renderer class to get the navigation information for
1521 related list tables from the server. Extract the navigation
1522 processing code from the details cell navigation and use it for the
1523 related list navigation as well.
1524 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Add private
1525 cell renderer class for the details open buttons. This was needed
1526 because the related list navigation buttons and the list view
1527 navigation buttons need to react differently when clicked.
1528 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Remove
1529 the onEnterKeyDown() method because it's now overriden in the
1530 subclasses that are specific to the related list tables and the list
1532 * src/main/java/org/glom/web/client/ui/details/Portal.java: Increase
1533 the vertical size a little because the buttons add a bit of vertical
1534 space to table. This is not a perfect solution because the vertical
1535 size of with table fewer than 5 rows will be a little smaller.
1536 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Update for
1537 changes in how navigation buttons are handled.
1538 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Implement
1539 getSuitableRecordToViewDetails() using the new RelatedListNavigation
1540 database access object.
1541 * src/main/java/org/glom/web/server/database/DBAccess.java: Move code
1542 to find the portal for a given relationship name from
1543 RelatedListDBAccess. Add method to find a primary key field for a
1545 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1546 Move code to find the portal for a given relationship name to
1548 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1549 New file: database access object for getting the related list
1550 navigation information (the table name and the primary key value).
1551 * src/main/java/org/glom/web/shared/NavigationRecord.java: New file:
1552 DTO for transferring a table name to navigate to and a primary key
1554 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1555 boolean and getter/setter to specifies if the related list should add
1558 2011-10-24 Murray Cumming <murrayc@murrayc.com>
1560 Use the master branch of java-libglom
1562 * pom.xml: Depend on java-libglom 1.19 instead.
1564 This is the master branch. See also the libglom-1-18 branch.
1566 2011-10-11 Ben Konrath <ben@bagu.org>
1568 Enable the open navigation button when the data has been set.
1570 This avoids having active buttons that don't do anything when the data
1573 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1575 2011-10-11 Ben Konrath <ben@bagu.org>
1577 Use IsWidget interface for FlowTableItem.
1579 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Change
1580 FlowTableItem.getWidget() to asWidget() from the IsWidget interface.
1582 2011-10-11 Ben Konrath <ben@bagu.org>
1584 Remove GWT styling from open button in details view.
1586 There are still some issues with how the details cell is arranged but
1587 this should be made to match Glom 1.20. I'm going to leave fixing this
1588 until I have Glom 1.20 up and running.
1590 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Set
1591 style name on open button.
1592 * src/main/webapp/style.css: Move and edit details-navigation class.
1593 Re-arrange some classes to make them appear in the same order as the
1596 2011-10-07 Ben Konrath <ben@bagu.org>
1598 Update to GWT 2.4.0.
1600 * .gitignore: Ignore new cache directory.
1601 * .settings/com.google.gwt.eclipse.core.prefs: Update Eclipse settting.
1602 * pom.xml: Change GWT and maven plugin to 2.4.0.
1603 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Update doctype for
1605 * src/main/java/org/glom/web/client/ClientFactory.java:
1606 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
1607 * src/main/java/org/glom/web/client/OnlineGlom.java:
1608 Update source for API changes.
1609 * utils/build-onlineglom-war.sh: Remove cache directory before the
1612 2011-10-07 Ben Konrath <ben@bagu.org>
1614 Add navigation buttons in the details view.
1616 This isn't finished but I thought I'd commit what I have as it's a
1617 pretty good start. I still need to:
1619 1. Change the style so that it fits better into the current theme
1620 2. Adjust the details cell to expand as much as possible.
1622 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1623 click handlers to navigation buttons in the DetailsCells. Create a
1624 refreshData() method to get just the data from the server without the
1626 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1627 Update the tableSelector and browser title when the table name
1628 changes without using the tableSelector.
1629 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1630 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1631 getDetailsCells() to getCells(). Update variable names.
1632 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Add
1633 method to set click handler on navigation button. Rename a few
1634 variables. Add navigation buttons where needed.
1635 * src/main/java/org/glom/web/client/ui/details/Group.java: Rename a few
1636 variables and methods.
1637 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Set the
1638 navigation boolean and navigation table as required in the
1639 LayoutItemField DTO.
1640 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
1641 variables for navigation along with getter/setter methods.
1643 2011-10-07 Ben Konrath <ben@bagu.org>
1645 Rename Field to DetailsCell.
1647 This is a refactor-only commit. No functionality has been added or
1650 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1651 Update variable and method names.
1652 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1653 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update
1654 variable and method names.
1655 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1657 * src/main/java/org/glom/web/client/ui/details/Group.java: Update
1658 variable and method names.
1660 2011-10-07 Ben Konrath <ben@bagu.org>
1662 Create separate methods for layout and data the details view.
1664 This is a refactor-only commit. No functionality has been added or
1667 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: New
1668 private methods: setData(), createLayout().
1670 2011-10-07 Ben Konrath <ben@bagu.org>
1672 Don't use TableSelectorImpl implementation details in TableSelectorActivity.
1674 This is part of a change to get navigation buttons in the details view
1675 but it should have been done this way from the start.
1677 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1678 for method name change in TableSelectionView.
1679 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1680 Create TableChangeEvent and set the browser title using the
1681 TableSelectionView API.
1682 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1683 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1684 Change getSelectedTable() to getSelectedTableName(). Add
1685 getSelectedTableTitle().
1687 2011-10-07 Ben Konrath <ben@bagu.org>
1689 Use primaryKeyValue naming convention in constructor of DetailsPlace.
1691 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1693 2011-10-07 Ben Konrath <ben@bagu.org>
1695 Update TableChangeEvent to use newTableName naming convention.
1697 This makes the class more consistent with GWT naming conventions.
1699 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1700 Update for method name change in TableChangeEvent.
1701 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1702 for method name change in TableChangeEvent.
1703 * src/main/java/org/glom/web/client/event/TableChangeEvent.java: Update
1704 newTableName variable and getter method. Make toDebugString()
1707 2011-09-30 Ben Konrath <ben@bagu.org>
1709 Disable the pager in the list tables when the data row count is less than the minimum.
1711 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1712 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1714 2011-09-30 Ben Konrath <ben@bagu.org>
1716 Add empty rows to the end of related list and list view tables.
1718 I also extracted the cell rendering classes from the ListTable because
1719 the code was becoming a little crazy with all the anonymous inner
1720 classes. My plan is to use these cell rendering classes in the details
1721 view as well so this refactor will be needed for that change.
1723 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Only
1724 set the row count in related list tables if the data has more rows
1725 than the minimum number of rows visible.
1726 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Only set the
1727 row count in list view tables if the data has more rows than the
1728 minimum number of rows visible.
1729 * src/main/java/org/glom/web/client/ui/cell/BooleanCell.java: New class
1730 for rendering TYPE_BOOLEAN cells. The code was extracted from the
1732 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: New class
1733 for rendering TYPE_NUMERIC cells. The code was extracted from the
1735 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: New
1736 class for rendering cells with buttons in list views. The code was
1737 extracted from the ListTable class.
1738 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: New class
1739 for rendering TYPE_TEXT cells. The code was extracted from the
1741 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1742 Add empty rows to the end of the data if required. Implement
1743 ListTable.getMinNumVisibleRows().
1744 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Extract
1745 cell renderer code to public classes. Return null in
1746 Column.getValue() for empty rows. Add new abstract method:
1747 getMinNumVisibleRows(). Move code to set the row count of the list view
1748 table to ListViewImpl.
1749 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add
1750 empty rows to the end of the data if required. Implement
1751 ListTable.getMinNumVisibleRows().
1754 2011-09-27 Ben Konrath <ben@bagu.org>
1756 Use GWT.log for client-side debugging statements.
1758 These are optimized out when deployed so I should have used this method
1759 in the first place. These statements will eventually be replaced with some sort
1760 of notification in the browser.
1762 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1763 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1764 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1765 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1766 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1768 2011-09-27 Ben Konrath <ben@bagu.org>
1770 Put tableselector on the right, back to list link on right.
1772 The idea is that the table selector is acting like a label for the
1773 currently displayed table so it should be placed below the document title. This
1774 puts the table title in a similar position to where it is in Glom.
1776 * mockups/details-contacts.html:
1777 * mockups/details-projects.html:
1778 * mockups/listview-contacts.html:
1779 * mockups/listview-projects.html:
1780 * mockups/style.css:
1781 Update mockups to match how the interfaces currently look.
1782 * src/main/webapp/style.css: Swap positions of backlink with the table
1783 selector. Add some space on the left side of the table selector to
1784 line things up with the document title.
1786 2011-09-27 Ben Konrath <ben@bagu.org>
1788 Add field colouring to details view.
1790 This change re-works how field colouring works. The colour formatting
1791 information is now set to the client with the layout information instead of
1792 with the data. This eliminates the need to send the same colour strings for
1793 data in list view column when colour information is set.
1795 In order to set an alternate colour for negative numeric values, the
1796 number is now sent to client and formatted with the GWT NumberFormat class.
1798 This change also fixes:
1800 https://bugzilla.gnome.org/show_bug.cgi?id=659752
1802 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add the GWT
1803 internationalization framework which is needed for client side numeric
1805 * src/main/java/org/glom/web/client/Utils.java: New file for some
1806 client static utility methods.
1807 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
1808 the DataItem object to the Field class. Use a utility method to
1809 create the foreignKeyValue string.
1810 * src/main/java/org/glom/web/client/ui/details/Field.java: Set
1811 alignment and text colours in the constructor. Add setData(DataItem)
1812 method. Remove setText(String) method.
1813 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
1814 colour information to GlomTextCell. Create and use GlomNumberCell for
1815 rendering numbers. Use utility method to get the string for the
1816 primary key of the key provider. Re-work how the horizontal alignment
1818 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1819 formatting to layout information. Methods for converting the libglom
1820 formatting information were moved from DBAccess.
1821 * src/main/java/org/glom/web/server/database/DBAccess.java: Remove
1822 numeric formatting (it's now done on the client side). Don't set text
1823 colours in DataItem. Move libglom formatting conversion methods to
1825 * src/main/java/org/glom/web/shared/DataItem.java: Remove fields and
1826 getters/setters for text colour information.
1827 * src/main/java/org/glom/web/shared/GlomNumericFormat.java: New file
1828 for transferring the libglom NumericFormat information to the client.
1829 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add fields
1830 and getters/setters for: GlomNumericFormat, background colour and
1831 foreground colour strings.
1833 2011-09-26 Ben Konrath <ben@bagu.org>
1835 Simplify code that iterates through the LayoutGroup.
1837 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1839 2011-09-26 Ben Konrath <ben@bagu.org>
1841 Accept Eclipse formatting for OnlineGlomServiceAsync.
1843 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1845 2011-09-26 Ben Konrath <ben@bagu.org>
1847 Don't use the ListDBAccess classes to get the primary key layout information.
1849 This was causing a bug where the wrong index for the hidden primary key
1850 was being sent to the client.
1852 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Find the
1853 primary key while creating the LayoutGroup DTO. Create a
1854 LayoutItemField DTO for hidden primary keys. Don't use the
1855 RelatedListDBAccess because it was only used for getting the primary
1857 * src/main/java/org/glom/web/server/database/DBAccess.java: Change the
1858 access modifier from public to protected for getPrimaryKeyField() and
1859 getPrimaryKeyLayoutItemField().
1860 * src/main/java/org/glom/web/server/database/ListDBAccess.java: Remove
1861 abstract method getExpectedResultSize() because RelatedListDBAccess
1862 doesn't have enough info to implement it.
1863 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1864 Remove @Override for getExpectedResultSize().
1865 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1866 Remove method getExpectedResultSize().
1868 2011-09-23 Ben Konrath <ben@bagu.org>
1870 Log which layout (list or details) the ignored item is from.
1872 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1874 2011-09-23 Ben Konrath <ben@bagu.org>
1876 Remove annotations that turn off code formatting in DataItem.
1878 * src/main/java/org/glom/web/shared/DataItem.java:
1880 2011-09-23 Ben Konrath <ben@bagu.org>
1882 Rename GlomField to DataItem and update associated methods.
1884 This is a rename-only refactor. No functionality has been added or
1887 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1888 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1889 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1890 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1891 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1892 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1893 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1894 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1895 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1896 * src/main/java/org/glom/web/server/database/DBAccess.java:
1897 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1898 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1899 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1900 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1901 * src/main/java/org/glom/web/shared/DataItem.java:
1902 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java:
1903 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
1905 2011-09-23 Ben Konrath <ben@bagu.org>
1907 Rename GlomDocument to DocumentInfo and update associated methods.
1909 This is a rename-only refactor. No functionality has been added or
1912 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1913 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1914 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1915 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1916 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1917 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1918 * src/main/java/org/glom/web/shared/DocumentInfo.java:
1920 2011-09-20 Ben Konrath <ben@bagu.org>
1922 Require java-libglom 1.17.3.
1924 This picks up the fix for the seg fault problem with the Scenes table
1925 in the Openismus Film Manager example.
1929 2011-09-20 Ben Konrath <ben@bagu.org>
1931 Change the way sort clause is added for primary key when no sort clause is requested.
1933 The primary key is now added to the LayoutFieldVector (fieldsToGet)
1934 before the sort clause is created. When a sort clause is not requested, the
1935 sort clause is created by finding the primary key in the LayoutFieldVector
1938 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1940 2011-09-20 Ben Konrath <ben@bagu.org>
1942 Log error message if no documents are found in the configured directory.
1944 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also:
1945 Extract the glom file extension string to a private static final class
1946 variable (mostly as syntactic sugar). Accept a minor formatting change.
1947 * src/main/resources/onlineglom.properties: Add '/glomfile' to end of
1948 the example glom.document.directory configuration property to make it
1949 more clear that it can any directory, not just the home directory.
1951 2011-09-18 Ben Konrath <ben@bagu.org>
1953 Add related lists to details view.
1955 The related list table has support for paging and sorting just like the
1956 table in the list view.
1958 * pom.xml: Require java-libglom 1.17.2 for the new methods to build the
1959 SQL queries for the related list tables.
1960 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1961 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1962 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1963 Rename getList methods to getListView and add comments. Remove
1964 getDetailsLayout() as it's not used anymore. Add note to getDetailsData() about
1965 it being unused. Add methods: getDetailsLayoutAndData(),
1966 getSortedRelatedListData(), getRelatedListData(), getRelatedListRowCount()
1967 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1968 Create the layout and set the data for the fields in one async call
1969 instead of two. Create related lists where appropriate.
1970 * src/main/java/org/glom/web/client/activity/ListActivity.java: Changes
1971 for method name changes in OnlineGlomService.
1972 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1973 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1974 addLayoutGroup() to addGroup(). Add methods to get the DTOs for the
1976 * src/main/java/org/glom/web/client/ui/ListView.java:
1977 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Remove
1978 tableName from setCellTable(). Create a ListViewTable instead of
1980 * src/main/java/org/glom/web/client/ui/details/Field.java: New class to
1981 represent a data field in the details view.
1982 * src/main/java/org/glom/web/client/ui/details/Group.java: Move to code
1983 from addDetailsCell() to Field class. Keep track of the Fields and
1984 Portals in the details view.
1985 * src/main/java/org/glom/web/client/ui/details/Portal.java: Make portal
1986 a little bigger to match Glom. Keep track of the LayoutItemPortal DTO
1987 and add a method to get it. Add method to set the contents of the
1989 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1990 New class for related list tables. This class has the data provider
1991 for the related list table.
1992 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Change to
1993 abstract class which is the base class for the ListViewTable and the
1995 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1996 New class for list view tables. This class has the data provider for
1997 the list view table.
1998 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1999 methods for related list tables. Add more information to the
2000 LayoutItemField and LayoutItemPortal DTOs.
2001 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2002 Remove debugging print statement.
2003 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
2004 Remove debugging print statements. Add primary key field to SQL count
2006 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
2007 Remove unnecessary LayoutFieldVector parameter from
2008 getResultSizeOfSQLQuery() method.
2009 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2010 New class for related list table database access.
2011 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java: New
2012 class that is a wrapper DTO for details view layout and data.
2013 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
2014 new 'fromField' string to this DTO.
2015 * src/main/webapp/style.css: Remove bottom margin and override top
2018 2011-09-15 Ben Konrath <ben@bagu.org>
2020 Breakup the OnlineGlomServiceImpl class to make it more manageable.
2022 This sets things up to make it easier to add the data retrieval for
2023 related lists (portals). No user noticeable changes were made with
2026 * src/main/java/org/glom/web/server/ConfiguredDocument.java: This
2027 class has the code to retrieve the layouts and access the
2028 database using the new database helper classes.
2029 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2030 Most of the functionality has been removed from this class. This
2031 class now represents the public interface for the client side
2032 code. It also deals with configuring the servlet and cleaning
2033 things up when the servlet is stopped.
2034 * src/main/java/org/glom/web/server/Utils.java: Extract a couple
2035 of static methods into this utility class.
2036 * src/main/java/org/glom/web/server/database/DBAccess.java:
2037 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2038 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
2039 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
2040 These classes have the database retrieval code. The class hierarchy
2041 has been setup to make it easy to reuse code for similar
2044 2011-09-06 Ben Konrath <ben@bagu.org>
2046 Create separate classes for list table code and the data provider.
2048 As part of this refactor, I also split up the code a bit to make it
2051 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move list
2052 table code to two new classes (below).
2053 * src/main/java/org/glom/web/client/ui/list/ListTable.java: New file
2054 with code from ListViewImpl.
2055 * src/main/java/org/glom/web/client/ui/list/ListTableDataProvider.java:
2056 New file with code from ListViewImpl.
2058 2011-09-06 Ben Konrath <ben@bagu.org>
2060 Change the LayoutItemPortal DTO to extend LayoutGroup instead of LayoutItem.
2062 This fixes the LayoutItemPortal DTO to match the libglom layout object
2065 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java:
2067 2011-09-01 Ben Konrath <ben@bagu.org>
2069 Set title of Portals in the Details View.
2071 * pom.xml: Bump required version of java-libglom to 1.17.1.
2072 * src/main/java/org/glom/web/client/ui/details/Group.java: Move Portal
2073 widget creation to its own class. Add comments to constructor.
2074 * src/main/java/org/glom/web/client/ui/details/Portal.java: New file.
2075 The code is mostly from the Group class with the title now set.
2076 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2077 title of Portal. Update some comments. Fix some code formatting.
2079 2011-09-01 Ben Konrath <ben@bagu.org>
2081 Remove TODO comment for the flow table column width.
2083 The flow table column width is working correctly and doesn't need to be
2084 changed. See this mailing list post for more info:
2086 https://mail.gnome.org/archives/glom-devel-list/2011-August/msg00017.html
2088 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
2090 2011-08-27 Ben Konrath <ben@bagu.org>
2092 Add document title (database name) to top of the browser page.
2094 I added the document title to the TableSelecitonView but that will
2095 change if / when we add a view that doesn't require table selection.
2097 * mockups/details-contacts.html:
2098 * mockups/details-projects.html:
2099 * mockups/listview-contacts.html:
2100 * mockups/listview-projects.html:
2101 * mockups/style.css: Add document title to mockups to keep things
2103 * src/main/java/org/glom/web/client/OnlineGlom.java: Adjust LayoutPanel
2104 sizes to account for the document title.
2105 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2106 Set the document title when it has been retrieved from the server.
2107 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2108 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java: Add
2109 and implement setDocumentTitle(String) method.
2110 * src/main/webapp/style.css: Add ID for document title style.
2112 2011-08-25 Ben Konrath <ben@bagu.org>
2114 Add NavigationType enum to LayoutItemPortal DTO.
2116 This is the start of adding support for Portals to the Details View.
2118 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert
2119 LayoutItem_Portal.navigation_type enum from libglom to
2120 LayoutItemPortal.NavigationType enum.
2121 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
2122 NavigationType enum, field for storing the NavigationType and getter
2125 2011-08-25 Ben Konrath <ben@bagu.org>
2127 Implement the flow table layout in the Details View.
2129 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
2130 FlowTable to Group to account for the renamed class.
2131 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: New
2132 File. This is a container widget that implements the Glom details view
2133 flow table behaviour.
2134 * src/main/java/org/glom/web/client/ui/details/Group.java: Moved from
2135 org/glom/web/client/ui/FlowTable.java.
2136 * src/main/webapp/style.css: Adjust bottom margin of the subgroup-title
2137 so that the size of the subgroups are a closer match to the size of
2138 the Glom subgroups. This makes the flowtable layout match the layout
2139 in Glom for the Music Collection example file.
2141 2011-08-16 Ben Konrath <ben@bagu.org>
2143 Create container element for LayoutItemPortal in Details View.
2145 This will help me develop the layout for the FlowTable.
2147 * src/main/java/org/glom/web/client/ui/FlowTable.java: Also rename
2148 fieldPanel variable to detailsCell.
2150 2011-08-15 Ben Konrath <ben@bagu.org>
2152 Set the height of the data element in the Details View.
2154 I changed the InlineLabels (text in a span element) to Labels (text in
2155 a div element) so that I could set the height of the details-data
2156 elements instead of the details-cell parent elements. This allows the
2157 the details-data element to display the correct height if style is
2158 applied that shows the height.
2160 This change has the added benefit of allowing the order of the labels
2161 and data elements to be changed for right-to-left languages.
2163 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
2164 InlineLabels to Labels.
2165 * src/main/java/org/glom/web/client/ui/FlowTable.java: Change
2166 InlineLabels to Labels. Set the height of the data element.
2167 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
2168 multiline text height in the Formatting DTO.
2169 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add field
2170 for multiline height along with getter and setter methods.
2171 * src/main/webapp/style.css: Adjust style to account for the change
2172 from span elements to div elements in the details cell.
2174 2011-08-15 Ben Konrath <ben@bagu.org>
2176 Make the List View appearance match the mockups.
2178 It doesn't match exactly but it's much better than it was.
2180 * mockups/listview-contacts.html: Remove unused css classes.
2181 * mockups/listview-projects.html: Remove unused css classes.
2182 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Display 15
2183 rows instead of 20. Rename vPanel to mainPanel. Use FlowPanel (div)
2184 for mainPanel instead of VerticalPanel (table). Set style name on
2185 CellTable. Set style name on Details column. Right-align Details
2187 * src/main/webapp/style.css: Adjust properties to match the mockups.
2189 2011-08-12 Ben Konrath <ben@bagu.org>
2191 Add better support for subgroups in the details view.
2193 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
2194 changed FlowTable constructor.
2195 * src/main/java/org/glom/web/client/ui/FlowTable.java: Add better
2196 support for subgroups and subgroup-titles.
2197 * src/main/webapp/style.css: Add CSS class for subgroups and
2200 2011-08-12 Ben Konrath <ben@bagu.org>
2202 Return the top level LayoutGroup title.
2204 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2206 2011-08-11 Ben Konrath <ben@bagu.org>
2208 Make the TableSelector header match the mockup.
2210 * src/main/java/org/glom/web/client/OnlineGlom.java: Add a margin to
2211 the layout panel. Properly lineup the table selection header with
2212 the list and details view.
2213 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Remove the
2214 margin around the details view.
2215 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2216 Rename listBox variable to tableSelector. Set id for the style sheet.
2217 Use a FlowPanel instead of a HorizontalPanel.
2218 * src/main/webapp/style.css: Add properties to make the TableSelector
2219 box match the mockups.
2221 2011-07-13 Ben Konrath <ben@bagu.org>
2223 Update install script for java-libglom version change.
2225 * utils/install-onlineglom-war.sh: Also exit if 'make check' in
2228 2011-07-13 Ben Konrath <ben@bagu.org>
2230 Add support sub-group in the details view.
2232 I also removed the code that special-cased the default details view
2235 http://mail.gnome.org/archives/glom-devel-list/2011-July/msg00005.html
2237 I still have to make a proper flowtable.
2239 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2240 Don't special-case default details view layout.
2241 * src/main/java/org/glom/web/client/ui/DetailsView.java: Remove
2242 addLayoutField() as I'm going to use it.
2243 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Extract
2244 GroupPanel to FlowTable class. Remove unimplemented addLayoutField()
2246 * src/main/java/org/glom/web/client/ui/FlowTable.java: New class
2247 extracted from DetailsViewImpl.GroupPanel. Add support for
2249 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2250 column count when getting the details layout.
2252 2011-07-12 Ben Konrath <ben@bagu.org>
2254 Set browser title with database and table titles.
2256 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2257 Set the browser title when the table changes and when the activity
2259 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2260 title when retrieving document info (the GlomDocument object).
2261 * src/main/java/org/glom/web/shared/GlomDocument.java: Add title field
2262 with getter and setter methods. Remove unused convenience constructor.
2263 Use default code formatting.
2265 2011-07-12 Ben Konrath <ben@bagu.org>
2267 Ignore LayoutItemPortals in the details view.
2269 I added a new DTO for the LayoutItemPortal so that I can ignore it in
2272 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Ignore
2273 LayoutItemPortal layout objects.
2274 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
2275 LayoutItemPortal objects when retrieving the details layout.
2276 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: New
2277 file. This is an empty class and just used to get type information for
2280 2011-07-12 Ben Konrath <ben@bagu.org>
2282 Use java-libglom 1.17.0.
2286 2011-07-11 Ben Konrath <ben@bagu.org>
2288 Remove "Table:" label from table selector.
2290 This matches a recent change in the Glom UI.
2292 * mockups/details-contacts.html:
2293 * mockups/details-projects.html:
2294 * mockups/listview-contacts.html:
2295 * mockups/listview-projects.html: Remove the "Table:" label from the
2297 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2299 2011-07-11 Ben Konrath <ben@bagu.org>
2301 Add main groups to the details view.
2303 This makes things look a little nicer in the details view. The next step
2304 is to implement the flowtable.
2306 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Inherit only the
2307 resources from the standard gwt css theme. Standard.css is now
2308 included in OnlineGlom.html so that the online glom css rules have
2309 precedence over the gwt theme.
2310 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
2311 the whole LayoutGroup to the DetailsView instead of just the titles.
2312 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2313 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Create the
2314 details layout with a helper class (GroupPanel). I might extract this
2315 class when I make the full flowtable.
2316 * src/main/java/org/glom/web/shared/layout/LayoutItem.java: Add empty
2317 string as default so I don't have to worry about NPEs when processing
2319 * src/main/webapp/OnlineGlom.html: Add the gwt standard css file (see
2320 note beside OnlineGlom.gwt.xml above).
2321 * src/main/webapp/style.css: Add default font-size to body to override
2322 the font-size set by the standard theme. Don't use h2 tags for
2323 group-title. Create new details-cell class.
2325 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2327 ConfiguredDocument: Set the port number too.
2329 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2330 (ConfiguredDocument.ConfiguredDocument): Get the port number from the
2331 Glom document. Presumably this worked sometimes so far because there is a
2332 default port number.
2334 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2336 ConfiguredDocument: Warn that sqlite and self-hosting are not supported.
2338 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2339 (ConfiguredDocument.ConfiguredDocument): Check that the hosting mode is
2340 correct, though we should throw an exception too.
2342 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2344 Fix a addDocuemnt typo.
2346 * src/main/java/org/glom/web/shared/Documents.java
2347 (Documents.addDocuemnt): Rename to addDocument().
2348 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
2349 (OnlineGlomServiceImpl.getDocuments): Adapt.
2351 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2353 Slightly improved log output when connection fails.
2355 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2356 (ConfiguredDocument.setUsernameAndPassword):
2357 We don't know for sure if it' the username/password that's wrong, so
2358 rephrase the message.
2359 Also ouput the exception message, though it's generic in this case.
2361 2011-07-08 Ben Konrath <ben@bagu.org>
2365 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also
2366 added braces to a one line if statement because the Eclipse formatter
2367 was getting confused.
2369 2011-07-07 Ben Konrath <ben@bagu.org>
2371 Update project config files for Eclipse 3.7 and use GWT 2.3.0.
2373 These should really be two separate tasks but I counldn't get things to
2374 work with GWT 2.2.0 and Eclipse 3.7.
2378 * .settings/org.eclipse.jdt.core.prefs:
2379 * .settings/org.eclipse.jdt.ui.prefs:
2380 * .settings/org.eclipse.ltk.core.refactoring.prefs:
2381 * .settings/org.eclipse.m2e.core.prefs:
2382 Add new config files. Update current files. Remove references to the
2383 webtools plugins as we're not using any of the webtools features.
2384 * .gitignore: Add logs directory which is created when running with
2386 * pom.xml: Update to GWT 2.3.0. Eclipse configuration was automatically added.
2387 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Moved from
2388 src/main/resources/org/glom/web/OnlineGlom.gwt.xml as per this known
2390 http://mojo.codehaus.org/gwt-maven-plugin/eclipse/google_plugin.html#Limitations
2392 2011-07-07 Murray Cumming <murrayc@murrayc.com>
2394 onlineglom.properties: Add explanatory comments.
2396 * src/main/resources/onlineglom.properties: Also change the default user
2397 from ben to someuser, to avoid the risk of people thinking we just
2398 stupidly hard-coded a locale path, when they see that on stderr or in a log.
2400 2011-06-28 Ben Konrath <ben@bagu.org>
2402 Use filename in Log for incorrect passwords.
2404 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
2405 getFileName(String) method to get the filename from the URI.
2407 2011-06-28 Ben Konrath <ben@bagu.org>
2409 Add the table name to the URL token for the ListPlace.
2411 This makes things consistent between the DetailsPlace and the
2412 ListPlace. It also allows the the ListPlace to be bookmarked.
2414 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2415 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2416 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2417 Remove getDefaultListLayout(). The default layout is now returned
2418 by the getListLayout() method when the table name is an empty string.
2419 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2420 Add table name field. Change to a new ListPlace when the table
2421 has been changed. Use getListLayout() for getting the default
2423 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2424 Add table name field. Set the correct table name in the list box
2425 when loading from bookmark. This corrects a problem for the
2427 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2428 Move table name to super-class (HasSelectableTable). Move document
2429 and table URL keys to super-class in HasSelectableTable.
2430 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2431 Add table name field. Add Tokenizer class with URL key common to
2432 the subclasses (DetailsPlace and ListPlace).
2433 * src/main/java/org/glom/web/client/place/ListPlace.java:
2434 Add table name. Add code to parse the URL token.
2435 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2436 Update ListPlace construction with empty table name string.
2437 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2438 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2439 Change setTableSelectedIndex(int) to setSelectedTableName(String).
2440 Update ListPlace construction with table name string.
2441 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2442 Change defaultTableName field to tableName to reflect how it's now
2443 used. Update the getter and setter methods.
2445 2011-06-28 Ben Konrath <ben@bagu.org>
2447 Enable the table selector in the DetailsView.
2449 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2450 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2451 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2452 Remove getDefaultDetailsLayout(). The default layout is now returned
2453 by the getDetailsLayout() method when the table name is an empty
2455 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2456 event handler for table change event. Change to using
2457 getDetailsLayout() for the default details layout.
2458 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add table
2460 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use table
2461 when navigating to the details place.
2463 2011-06-27 Ben Konrath <ben@bagu.org>
2465 Use filename based unique document ID in URL and for RPC.
2467 The document ID is the glom document name with spaces (' ') replaced
2468 with pluses ('+') and without the .glom extension.
2470 This change is mostly a string substitution of 'documentTitle' for
2471 'documentID'. The only code change is the addition of a Documents DTO to get the
2472 filename to document title mappings as indicated below.
2474 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2475 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2476 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2477 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2478 Use Documents DTO to create the document links in the document
2480 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2481 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2482 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2483 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2484 * src/main/java/org/glom/web/client/place/ListPlace.java:
2485 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2486 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2487 * src/main/java/org/glom/web/client/ui/ListView.java:
2488 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2489 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2490 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2491 * src/main/java/org/glom/web/server/Log.java:
2492 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2493 getDocumentTitles() to getDocuments() and return the Documents DTO.
2494 * src/main/java/org/glom/web/shared/Documents.java: New DTO for
2495 transferring the filename to document title mappings.
2497 2011-06-25 Ben Konrath <ben@bagu.org>
2499 Make the authentication popup work again.
2501 This bug was introduced when I extracted ConfiguredDocument to its own class.
2503 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Return the
2504 correct success / fail status in setUsernameAndPassword().
2506 2011-06-25 Ben Konrath <ben@bagu.org>
2508 Use filename as unique key for configuring database usernames and passwords.
2510 This replaces the use of the Glom document title which could change
2511 depending on the locale. Thanks to Murray Cumming for pointing out this
2514 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2515 * src/main/resources/onlineglom.properties:
2517 2011-06-24 Ben Konrath <ben@bagu.org>
2519 Pass primary key value to DetailsView.
2521 This enables the DetailsView to load the correct data.
2523 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2524 primary key value field and set in constructor. Pass primary key
2525 value to getDetailsData().
2526 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add URL
2527 variables for document title and primary key value.
2528 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Pass primary
2529 key value to the DetailsPlace.
2531 2011-06-24 Ben Konrath <ben@bagu.org>
2533 Add primary key index to LayoutGroup DTO and add ProvidesKey to CellTable.
2535 This allows the primary key to be retrieved by the Details button. This
2536 functionality has not been implemented yet but it's in the works.
2538 * src/main/java/org/glom/web/client/activity/ListActivity.java: Pass
2539 the LayoutGroup result to ListView.setCellTable instead of all of its
2540 fields individually.
2541 * src/main/java/org/glom/web/client/ui/ListView.java:
2542 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use
2543 LayoutGroup as parameter for setCellTable. Add ProvidesKey to CellTable
2544 get the primary key for the table.
2545 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
2546 index of the primary key in the LayoutGroup accounting for hidden
2547 primary keys. Rename getJavaNumberFormat() to
2548 convertToJavaNumberFormat() for consistency. Cleanup / add some
2550 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add a
2551 field for primary key index and a field to indicate whether the
2552 primary key is hidden or not.
2554 2011-06-23 Ben Konrath <ben@bagu.org>
2556 Rename getTableData methods to getListData.
2558 This is a rename refactor for consistency with other methods.
2560 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2561 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2562 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2563 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2565 2011-06-23 Ben Konrath <ben@bagu.org>
2567 Extract the ConfiguredDocument innerclass into its own class.
2569 This makes the servlet code more object oriented.
2571 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Extracted
2572 from private ConfiguredDocument class in OnlineGlomServiceImpl.
2573 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use the
2574 new ConfiguredDocument class.
2576 2011-06-21 Ben Konrath <ben@bagu.org>
2578 Use the LayoutGroup group for the list layout instead of ColumnInfo and LayoutListTable.
2580 This makes things more inline with how libglom works and reduces code
2581 duplication. This refactor lays the groundwork for adding the primary key to
2582 the LayoutGroup object.
2584 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2585 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2586 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2587 Change method names to getListLayout and getDefaultListLayout for
2588 consistency. Use LayoutGroup as the DTO for the list layout instead of
2589 ColumnInfo and LayoutListTable.
2590 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use the
2591 new method names along with the LayoutGroup object for transferring the
2593 * src/main/java/org/glom/web/client/ui/ListView.java:
2594 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2595 Use ArrayList<LayoutItem> instead of ColumnInfo[] in setCellTable().
2596 * src/main/java/org/glom/web/shared/ColumnInfo.java: Deleted. Replaced
2598 * src/main/java/org/glom/web/shared/LayoutListTable.java: Deleted.
2599 Replaced with LayoutGroup.
2600 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add
2601 expectedResultSize and defaultTableName fields which are needed for
2603 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
2604 type field which is needed for the list layout but will also be
2605 useful for the details layout as things progress.
2606 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2607 Make class abstract. Remove the unnecessary
2608 getFormattingHorizontalAlignment method. Add setFormatting method.
2610 2011-06-16 Ben Konrath <ben@bagu.org>
2612 Add scripts for building and installing war.
2614 These will help when updating OnlineGlom but they're also good
2615 supplemental documentation of the build and deployment proceeding.
2617 * utils/build-onlineglom-war.sh: New file.
2618 * utils/install-onlineglom-war.sh: New file.
2620 2011-06-16 Ben Konrath <ben@bagu.org>
2622 Create wrapper class to create consistent log messages.
2624 I wrapped methods in the Log class of gwt-log to add the method names
2625 from the servlet and create consistent formatting of the document title
2626 and table names in the log messages.
2628 * src/main/java/org/glom/web/server/Log.java: New file with wrapped methods.
2629 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert all
2630 log methods to use methods from wrapped Log class.
2632 2011-06-16 Ben Konrath <ben@bagu.org>
2634 Remove superfluous conditional return.
2636 Thanks to Murray Cumming for pointing this out!
2638 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2640 2011-06-15 Ben Konrath <ben@bagu.org>
2642 Return an ArrayList of LayoutGroups for the Details layout.
2644 This corrects a problem with the details layout as it can have more
2645 than one top level LayoutGroup.
2647 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2648 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Change
2649 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return
2650 an ArrayList<LayoutGroup> in the get*DetailsLayout methods.
2651 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Deal
2652 with ArrayList of LayoutGroups for the details view layout.
2653 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2654 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return an
2655 ArrayList<LayoutGroup> in the get*DetailsLayout methods. Inline
2656 getTableFieldsToShowForSequence() into getFieldsToShowForSQLQuery() to simplify
2657 the code a bit. Rename getTableFieldsToShowForSequenceAddGroup() to
2658 getFieldsToShowForSQLQueryAddGroup() to try to keep things more consistent.
2660 2011-06-14 Ben Konrath <ben@bagu.org>
2662 Use cast_dynamic method to determine the libglom LayoutItem type.
2664 This is better than finding the LayoutItem type by using the string
2665 returned from the get_part_type_name() method.
2667 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2669 2011-06-14 Ben Konrath <ben@bagu.org>
2671 Add method names to log entries in the servlet.
2673 This helps when tracking down deployment problems.
2675 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2677 2011-06-14 Ben Konrath <ben@bagu.org>
2679 Add data to the DetailsView using a hard-coded primary key value.
2681 The layout and functionality of the DetailsView is not complete. This
2682 is just a checkpoint so the patch doesn't get too big.
2684 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2685 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2686 Add getDetailsData() servlet method.
2687 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2688 Add RPC to getDetailsData(). Change the way the LayoutGroups and
2689 LayoutFields are added to the DetailsView.
2690 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2691 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2692 Add setData() method. Change addLayoutGroup() and addLayoutField() to
2693 take the string for the title instead of the object.
2694 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2695 Add implementation getDetailsData() along with some private helper
2697 * src/main/webapp/style.css: Add padding to details-data class. Add a
2698 details-label class with the same padding as the details-data class.
2700 2011-06-03 Ben Konrath <ben@bagu.org>
2702 Use presenter.goTo() to change to the DetailsPlace.
2704 This will make things easier when we need to open the DetailsView with
2705 data specific to the row that was clicked.
2707 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2709 2011-06-02 Ben Konrath <ben@bagu.org>
2711 Add CSS file from mockups.
2713 I'm adding this now because it's going to be useful to have when
2714 developing the DetailsView. The TableSelectionView and ListView aren't
2717 * src/main/webapp/OnlineGlom.html:
2718 * src/main/webapp/style.css:
2720 2011-06-02 Ben Konrath <ben@bagu.org>
2722 Use String.isEmpty() to check for empty string.
2724 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2726 2011-06-02 Ben Konrath <ben@bagu.org>
2728 Display main layout group titles in the DetailsView.
2730 This is the start of the DetailsActivity/DetailsView implementation.
2732 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2733 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2734 Add getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup() methods.
2735 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2736 Get the layout information for the details view from the server and set
2737 the main layout group titles.
2738 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2739 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2740 Add addLayoutGroup() and addLayoutField() methods. This are just
2741 temporary methods for creating the the details view that will change
2743 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2744 Implement getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup()
2746 * src/main/java/org/glom/web/shared/layout/Formatting.java:
2747 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2748 * src/main/java/org/glom/web/shared/layout/LayoutItem.java:
2749 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java:
2750 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2751 Data Transfer Objects that mimic the libglom object structure. These are
2752 used for transferring the details layout but could also be used for
2753 transferring the list layout.
2755 2011-05-27 Ben Konrath <ben@bagu.org>
2757 Reset the AuthenticationPopup when clearing the ListView.
2759 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2761 2011-05-27 Ben Konrath <ben@bagu.org>
2763 Fix problem with onlineglom.properties file loading.
2765 The old way worked in Eclipse but not on the server. Loading the
2766 onlineglom.properties file now works in Eclipse and on the server.
2768 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2770 2011-05-24 Ben Konrath <ben@bagu.org>
2772 Update gwt-log from 3.1.0 to 3.1.2.
2774 Gwt-log 3.1.0 has been marked as depreciated.
2778 2011-05-24 Ben Konrath <ben@bagu.org>
2780 Add comment to ListActivity.goTo() method.
2782 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2784 2011-05-24 Ben Konrath <ben@bagu.org>
2786 Remove FIXME in convertGdkColorToHtmlColour()
2788 The Gdk::Color value returned by libglom is 16-bits per channel on both
2789 64 and 32-bit platforms.
2791 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2793 2011-05-19 Ben Konrath <ben@bagu.org>
2795 Improve performance of initial ListView load.
2797 I removed a round trip to the server for getting the default table name
2798 and then requesting information about that table. This also removes a potential
2799 problem with the table change handler not being setup in time to receive the
2800 table change event from the ListActivity.
2802 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2803 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2804 getDefaultLayoutListTable() method. Improve comments.
2805 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use
2806 getDefaultLayoutListTable() method instead of firing a table change
2807 event to get the table to load.
2808 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2809 implementation of getDefaultLayoutListTable() method.
2810 * src/main/java/org/glom/web/shared/LayoutListTable.java: Add field for
2813 2011-05-19 Ben Konrath <ben@bagu.org>
2815 Override toDebugString() in TableChangeEvent.
2817 This is useful to have for debugging.
2819 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2821 2011-05-19 Ben Konrath <ben@bagu.org>
2823 Add a "Back to List" link when at the DetailsPlace.
2825 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2826 Populate the CellTable based on the selected table of the ListBox if
2827 it's set otherwise use the default table. This allows the "Back to
2829 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2830 Remove Place from constructors. Add a setPlace() method. Add
2831 goToPlace() method. Set class as presenter for TableSelectionView.
2832 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2833 Use the same TableSelectionActivity when switching between the List and
2835 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2836 Subclass the new HasSelectableTablePlace. This removes some duplicate
2838 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2839 New class to represent Places that display the TableSelectionView.
2840 * src/main/java/org/glom/web/client/place/ListPlace.java:
2841 Subclass the new HasSelectableTablePlace. This removes some duplicate
2843 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2844 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2845 Add Presenter interface. Add setBackLinkVisible() method. Add
2846 setBackLink() method.
2848 2011-05-18 Ben Konrath <ben@bagu.org>
2850 Enable the "Details" buttons.
2852 Right now only an empty details view is displayed.
2854 * src/main/java/org/glom/web/client/ClientFactory.java:
2855 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2856 Add DetailsView to ClientFactory.
2857 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2858 A basic activity for the details view.
2859 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2860 Add a new constructor that takes a DetailsPlace. Rename shutdown() to
2862 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2863 Add DetailsPlace.Tokenizer to the list of tokens that are generated by
2865 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2866 Create a new DetailsActivity when a DetailsPlace is requested. Remove
2867 unnecessary super() in constructor.
2868 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2869 Create a new TableSelectionActivity when a DetailsPlace is requested. We
2870 really shouldn't create a new TableSelectionActivity for both the ListPlace
2871 and the DetailsPlace so this should be considered a temporary solution.
2872 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2873 New file. Represents a URL for the details view.
2874 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2875 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2876 A basic details view interface and implementation.
2877 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2878 Enable the "Details" buttons.
2880 2011-05-12 Ben Konrath <ben@bagu.org>
2882 Use a LayoutPanel with multiple display areas for main layout.
2884 This is mostly a refactor in that there are no changes from the user
2885 point of view. These changes are required so that we can swap out the list view
2886 with the details view when the user clicks the "Details" button.
2888 * src/main/java/org/glom/web/client/ClientFactory.java:
2889 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2890 OnlineGlomView. Add TableSelectionView, ListView and
2891 AuthenticationPopup.
2892 * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
2893 for main layout. Add display regions for main activities. Add
2894 activity manager for for main activities.
2895 * src/main/java/org/glom/web/client/activity/ListActivity.java: New
2896 file from parts of the deleted OnlineGlomActivity.
2897 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2898 New file from parts of the deleted OnlineGlomActivity.
2899 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2900 * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
2901 New files for app wide table change event.
2902 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2903 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
2904 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2905 Activity mappers for the main activities replace the deleted app-wide
2907 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
2908 Fix a spelling error in he comment.
2909 * src/main/java/org/glom/web/client/ui/ListView.java:
2910 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2911 Renamed from LayoutListView and modified for MVP. This still not a
2912 proper dumb view as prescribed by the MVP pattern but it works for now.
2913 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2914 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2915 New widget stripped out of the deleted OnlineGlomView.
2916 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2917 Remove hack that is fixed by this patch.
2919 2011-05-06 Ben Konrath <ben@bagu.org>
2921 Rename OnlineGlomPlace to ListPlace.
2923 The only change besides the rename is that url will now display #list
2924 instead of #Document.
2926 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2927 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
2928 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2929 * src/main/java/org/glom/web/client/place/ListPlace.java:
2930 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2932 2011-05-06 Ben Konrath <ben@bagu.org>
2934 Use Presenter for app navigation.
2936 This is the proper way to deal with Place (URL) changes with the MVP
2939 * src/main/java/org/glom/web/client/ClientFactory.java:
2940 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2941 PlaceHistoryMapper and PlaceHistoryHandler.
2942 * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
2943 PlaceHistoryMapper and PlaceHistoryHandler.
2944 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2945 Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
2946 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2947 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2948 Add Presenter interface and setPresenter methods. Rename addHyperLink
2949 to addDocumentLink taking only the document title as a parameter.
2951 2011-04-14 Ben Konrath <ben@bagu.org>
2953 Prompt for db username/password if they haven't been set.
2955 This is implemented with a popup widget that is contained within the
2956 OnlineGlomView and managed by the OnlineGlomActivity.
2958 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
2959 methods for checking and setting the database username and password.
2960 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
2961 new methods for checking and setting the database username and
2963 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2964 Display authentication popup if the JDBC connection to the database
2965 has not been authenticated.
2966 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
2968 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
2969 for dealing with the authentication popup.
2970 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
2971 Implement the methods for dealing with the authentication popup.
2972 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
2973 try to executed queries if the database connection hasn't been
2974 authenticated. Implement methods for checking and setting the
2975 database username and password.
2977 2011-04-12 Ben Konrath <ben@bagu.org>
2979 Make log messages a little clearer.
2981 Add a dash betweeen the document title and the table name.
2983 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2985 2011-04-12 Ben Konrath <ben@bagu.org>
2987 Protect against NPEs when cleaning up database resources.
2989 While this isn't strictly necessary because the exception is caught,
2990 not protecting against the NPEs makes it harder to find the real error
2993 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2995 2011-04-12 Ben Konrath <ben@bagu.org>
2997 Move configuration of the servlet to the constructor.
2999 The servlet will be initialized even if the database authentication
3000 information is not set or correct. I still need to add the UI for prompting
3001 the user for the authentication information when it's required.
3003 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
3004 javadocs for getDocumentTitles() method.
3005 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
3006 Set error message when RPC fails.
3007 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
3008 glom files directory from the configuration file. Try to set the
3009 database authentication information for the specific document if it's
3010 set and works otherwise try to use the global authentication
3011 information set for the directory.
3012 * src/main/resources/onlineglom.properties: Moved from
3013 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
3014 Added detailed comments for the new keys.
3016 2011-04-11 Ben Konrath <ben@bagu.org>
3018 Remove unnecessary @Override in DocumentSelectionViewImpl.
3020 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
3022 2011-04-11 Ben Konrath <ben@bagu.org>
3024 Remove center alignment in DocumentSelectionView.
3026 The title element is still centred but the document titles and bottom
3027 sentence are both left-aligned.
3029 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
3031 2011-04-11 Ben Konrath <ben@bagu.org>
3033 Change 'Demo' naming convention to 'Document'.
3035 This is just a rename refactor with no functional changes to the code.
3037 * src/main/java/org/glom/web/client/ClientFactory.java:
3038 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
3039 * src/main/java/org/glom/web/client/OnlineGlom.java:
3040 * src/main/java/org/glom/web/client/OnlineGlomService.java:
3041 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
3042 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
3043 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
3044 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
3045 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
3046 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
3047 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
3048 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
3049 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3051 2011-04-08 Ben Konrath <ben@bagu.org>
3053 Remove FIXME from safeLongToInt() method.
3055 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
3058 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3060 2011-04-08 Ben Konrath <ben@bagu.org>
3062 Display an error if no glom documents are found in the specified directory.
3064 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3065 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
3066 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
3067 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3069 2011-04-08 Ben Konrath <ben@bagu.org>
3071 Add copyright header to one more file ... oops.
3073 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
3075 2011-04-08 Ben Konrath <ben@bagu.org>
3077 Add copyright header to files without it.
3079 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3080 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
3081 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
3082 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
3083 * src/main/java/org/glom/web/shared/ColumnInfo.java:
3084 * src/main/java/org/glom/web/shared/GlomField.java:
3086 2011-04-08 Ben Konrath <ben@bagu.org>
3088 Add support for accessing multiple glom documents in the servlet.
3090 This completes the demo selection functionality.
3092 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
3093 document title to methods.
3094 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
3095 document title to methods.
3096 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3097 Set browser window title when the activity starts. Correct name of
3098 document title variable.
3099 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
3100 Set browser window title when the activity starts. Set the table
3101 selector change handler after table selector has been set. Clear the
3102 OnlineGlomView when the activity has been stopped.
3103 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
3104 document title as the place token. Use "#Document:" instead of
3105 "#OnlineGlomPlace:" in the URL.
3106 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
3107 Change heading to "Online Glom"
3108 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
3109 document title in RPC methods.
3110 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
3111 setDocumentTitle() method. Add clear() method.
3112 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
3113 setDocumentTitle() method. Implement clear() method which removes the
3114 change handler on the ListBox, clears the ListBox and clears the
3116 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3117 Implement methods with document title. Keep track for the configured
3118 glom documents and their corresponding JDBC configurations in a hash
3119 table. This information is retrieved using the document title as the
3120 key in the hash table.
3121 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
3122 document title field as it's no longer needed.
3124 2011-04-08 Ben Konrath <ben@bagu.org>
3126 Update the Eclipse JDT configuration.
3128 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
3129 methods. Automatically add the copyright header to new files.
3131 2011-04-05 Ben Konrath <ben@bagu.org>
3133 Add new page for demo selection.
3135 This patch adds all the components required to view and start an
3136 OnlineGlom demo by clicking on the desired hyperlink. The user is
3137 able to return to the demo selection page with the browser's back
3138 button. I still need to modify the servlet to work with multiple
3139 documents so all demo links will load the file defined in the
3140 OnlineGlom.properties.
3142 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
3143 This is only useful during development so we don't need to save it.
3144 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
3145 get a reference to the DemoSelectionView.
3146 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
3147 method to get a reference to the DemoSelectionView.
3148 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
3149 default view to DemoSelectionView.
3150 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
3151 to get glom document titles for glom files in a hard-coded directory.
3152 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
3153 method to get glom document titles for glom files in a hard-coded
3155 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3156 Presenter for DemoSelectionView.
3157 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
3158 for DemoSelectionView.
3159 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
3160 Update for DemoSelectionView.
3161 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
3162 Basic 'Place' implementation for the DemoSelectionView.
3163 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
3164 The interface for the DemoSelectionView.
3165 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
3166 The implementation of the DemoSelectionView.
3167 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
3168 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
3169 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
3170 implementation of method to get glom document titles for glom files
3171 in a hard-coded directory.
3172 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
3173 on longer being used.
3174 * src/main/webapp/glom.png: Glom logo.
3176 2011-04-05 Ben Konrath <ben@bagu.org>
3178 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
3180 This is the forth and final commit of a refactor that will allow
3181 OnlineGlom to be used with multiple documents.
3183 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
3184 Move RPC code from OnlineGlomViewImpl to this class.
3185 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
3187 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
3188 RPC code to the presenter class (the P in MVP).
3190 2011-04-04 Ben Konrath <ben@bagu.org>
3192 Start moving the existing OnlineGlom code to MVP.
3194 This work is based on the GWT MVP framework that is documented here:
3196 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
3198 This is the third commit of a refactor that will allow OnlineGlom to
3199 be used with multiple documents.
3201 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
3202 Interface for client factory which is used to get instances of various
3203 classes throughout the app.
3204 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
3205 Implementation of client factory.
3206 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
3207 initialize the MVP framework.
3208 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
3209 New file. Activity manager for the main container widget. This is the
3211 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
3212 Maps place (URL) to its corresponding activity.
3213 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
3214 New file. This is just a place holder for a generated file.
3215 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
3216 New file. Represents the URL for the main Online Glom app.
3217 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
3218 for changes in LayoutListViewImpl.
3219 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
3220 interface for View. Move code to OnlineGlomViewImpl class.
3221 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
3222 file. Implementation of OnlineGlomView.
3223 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
3224 Place resources. Use ClientFactoryImpl by default.
3226 2011-04-04 Ben Konrath <ben@bagu.org>
3228 Move View classes to their own package.