1 2011-12-30 Murray Cumming <murrayc@murrayc.com>
3 Added a test for DetailsPlace.
5 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
6 Test the getPlace() token parsing.
8 2011-12-30 Murray Cumming <murrayc@murrayc.com>
10 Added a first unit test.
12 * pom.xml: Add a test goal, and a dependency on junit in that scope.
13 * src/test/java/org/glom/web/shared/DataItemTest.java:
14 This is a silly test but it is just to get things started. Note that
15 maven/junit finds the test because it looks in src/test by default.
17 2011-12-22 Ben Konrath <ben@bagu.org>
19 Change charsetName to "UTF-8" when replacing line breaks.
21 JavaScript requires the charsetName to be "UTF-8". CharsetName values
22 that work in Java (such as "UTF8") will not work when compiled to
25 This fixes a problem with multi-line details view fields that have hard
26 line breaks. The "License Text" field on this page demonstrates the
29 http://onlineglom.openismus.com/OnlineGlom/#details:document=debian_repository_analyzer&table=licenses&value=197
31 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
33 2011-12-22 Ben Konrath <ben@bagu.org>
35 Fix another bug with related list navigation.
37 I've tested all the navigation buttons in all of the related lists
38 so things should be good now.
40 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
42 2011-12-22 Ben Konrath <ben@bagu.org>
44 Fix a crasher when refreshing the list view with the default table.
46 This crash will also happen when loading the list view with the default
47 table from a link or bookmark.
49 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Go
50 to the main document selection page when the document id hasn't been
52 * src/main/java/org/glom/web/client/activity/ListActivity.java: Go to
53 the main document selection page when the document id hasn't been
55 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Use empty
56 values for the details place when the document id hasn't been set.
57 * src/main/java/org/glom/web/client/place/ListPlace.java: Use empty
58 values for the list place when the document id hasn't been set.
60 2011-12-21 Ben Konrath <ben@bagu.org>
62 Protect against NPE when glom.document.locale is not in config.
64 This patch protects against an NPE when glom.document.locale is not in
65 the config file. This NPE will also happen if glom.document.locale is
68 The patch also updates the error message to display the class name when
69 the getMessage() returns null. This was happening when the NPE was
70 thrown and I had "Configuration Error: null". If an NPE is encountered
71 with this patch, "Configuration Error: NullPointerException " will be
74 This commit closes this bug:
76 https://bugzilla.gnome.org/show_bug.cgi?id=666669
78 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
80 2011-12-20 Murray Cumming <murrayc@murrayc.com>
82 Rename onlineglom.properties to onlineglom.properties.sample.
84 * src/main/resources/onlineglom.properties: Rename to:
85 * src/main/resources/onlineglom.properties.sample:
86 * src/main/resources/README: And add this file explaining that people
87 should rename it back when deploying.
89 2011-12-20 Murray Cumming <murrayc@murrayc.com>
91 Allow choosing the translation in the .properties file.
93 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
94 init(): Read a glom.document.locale value from the configuration file
95 and call Glom's TransatableItem::set_current_locale() method.
96 * src/main/resources/onlineglom.properties: Add a commented-out
97 example of this new setting.
99 It would be better to add &lang=de_DE to the URL, but the current
100 libglom API does not allow us to do this easily. I am working on that.
102 2011-12-19 Murray Cumming <murrayc@murrayc.com>
104 Avoid a crash in parsing of token parameters.
106 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.j
107 ava: getTokenParams(): Do not crash if a parameter has a key but no
108 value, and ignore parameters with neither.
110 2011-12-17 Murray Cumming <murrayc@murayc.com>
112 History token building/handling: Improve use of token parameters.
114 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
115 (HasSelectableTablePlace.Tokenizer): Add getTokenParams(String)
116 and buildParamsToken(HashMap), for use by derived classes.
117 Make the separator private because it is no longer be needed.
118 * src/main/java/org/glom/web/client/place/DetailsPlace.java
119 (DetailsPlace.Tokenizer.getToken): Use buildParamsToken()
120 instead of manual string concatenation.
121 (DetailsPlace.Tokenizer.getPlace): Use getTokenParams() instead
122 of hardcoded indices and awkward splitting code.
123 * src/main/java/org/glom/web/client/place/ListPlace.java
124 (ListPlace.Tokenizer.getToken): Use buildParamsToken()
125 instead of manual string concatenation.
126 (ListPlace.Tokenizer.getPlace): Use getTokenParams() instead
127 of hardcoded indices and awkward splitting code.
128 This should fix bug #666420
130 2011-12-16 Murray Cumming <murrayc@murrayc.com>
132 Fix a Navgiation->Navigation typo in the code.
134 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
135 Rename processNavgiation() to processNavigation().
137 2011-12-16 Murray Cumming <murrayc@murrayc.com>
139 Fix a seperator->separator typo in the code.
141 * src/main/java/org/glom/web/client/place/DetailsPlace.java
142 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
143 * src/main/java/org/glom/web/client/place/ListPlace.java: Just a
146 2011-12-15 Ben Konrath <ben@bagu.org>
148 Cleanup some comments.
150 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
152 2011-12-14 Ben Konrath <ben@bagu.org>
154 Replace \n with <br/> for multiline text in the details view.
156 Vertical scrollbars are added when needed as well.
158 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
160 2011-12-14 Ben Konrath <ben@bagu.org>
162 Specify the font for document selection links.
164 * src/main/webapp/style.css:
166 2011-12-14 Ben Konrath <ben@bagu.org>
168 Fix bouncy CellTable while paging.
170 This doesn't currently work with related list tables in unselected
173 * src/main/java/org/glom/web/client/ui/list/ListTable.java
175 2011-12-14 Ben Konrath <ben@bagu.org>
177 Revamp the appearance of the document selection page.
179 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
180 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
181 * src/main/webapp/style.css:
183 2011-12-13 Ben Konrath <ben@bagu.org>
185 Set navigation button column to the smallest size possible.
187 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
189 2011-12-13 Ben Konrath <ben@bagu.org>
191 Change OpenButton nomenclature to NavigationButton.
193 Using NavigtionButton makes things more generic. Classes, methods and
194 variables have been changed.
196 This is a rename-only refactor.
198 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
199 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
200 * src/main/java/org/glom/web/client/ui/cell/NavigationButtonCell.java:
201 Renamed from OpenButtonCell.
202 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
203 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
204 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
206 2011-12-12 Ben Konrath <ben@bagu.org>
208 Remove unnecessary String argument in RelatedListTable and ListViewTable.
210 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
211 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
212 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
213 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
215 2011-12-12 Ben Konrath <ben@bagu.org>
217 Update variable names and comments.
219 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
220 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
222 2011-12-12 Ben Konrath <ben@bagu.org>
224 Properly initialize numNonEmptyRows variable to zero.
226 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
227 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
229 2011-12-05 Ben Konrath <ben@bagu.org>
231 Add latest mockup with HTML tables.
233 Features of this mockup:
235 -> HTML table for flowtable
236 -> HTML table for flowtable column
237 -> Example of how related lists would look
238 -> Not using text entries for data items
240 The current version of Online Glom doesn't use HTML tables for the
243 This mockup has been sent to the glom-devel mailing list but it's good
244 to have it here as well.
246 * mockups/details-view-html-tables.html:
248 2011-12-05 Ben Konrath <ben@bagu.org>
250 Remove unnecessary getPrimaryKeyField() method.
252 getPrimaryKeyFieldForTable(String) has been renamed to
253 getPrimaryKeyField(String).
255 * src/main/java/org/glom/web/server/database/DBAccess.java:
256 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
257 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
259 2011-12-05 Ben Konrath <ben@bagu.org>
261 Add string representation of TypedDataItem value to conversion error message.
263 * src/main/java/org/glom/web/server/Utils.java: Logging the error
264 message was extracted into its own method to avoid duplication.
266 2011-12-05 Ben Konrath <ben@bagu.org>
268 Add type checking to navigation primary key value creation.
270 Create navigation primary key only if the expected type from the Glom
271 document matches the type returned by the SQL query.
273 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
275 2011-12-05 Ben Konrath <ben@bagu.org>
277 Rename a couple of variables in RelatedListNavigation.
279 This is a rename-only refactor.
281 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
283 2011-12-05 Ben Konrath <ben@bagu.org>
285 Move getListLayoutGroup() into getListViewLayoutGroup().
287 This removes getListLayoutGroup(). It was only being called by
288 getListViewLayoutGroup().
290 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
292 2011-12-05 Ben Konrath <ben@bagu.org>
294 Remove check for LayoutItem_Portal in list table method.
296 This check is no longer necessary because the method isn't being used
297 to create the LayoutItemPortal DTO.
299 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
301 2011-12-05 Ben Konrath <ben@bagu.org>
303 Properly support related list navigation.
305 Navigation from the "Repository Analyzer -> Package Scans ->
306 Dependencies" related table wasn't working because the primary key for
307 related tables wasn't being set properly. This commit fixes the
310 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't use
311 getListLayoutGroup() to create the LayoutItemPortal DTO. This method
312 doesn't set the primary key properly for related list tables.
313 * src/main/java/org/glom/web/server/database/DBAccess.java: Add table
314 name parameter to getPrimaryKeyLayoutItemField(). This makes the method
315 useful for getting the primary key for list view tables and for related
317 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
318 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
319 Move code to set the primary key for the table from the abstract
320 ListDBAccess class to ListViewDBAccess as it's only correct for list
322 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
323 Properly add primary key to related list tables.
325 2011-12-02 Ben Konrath <ben@bagu.org>
327 Properly set the horizontal alignment of fields.
329 This fix is for both the list tables and the details view.
331 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
332 LayoutItem_WithFormatting.get_formatting_used_horizontal_alignment(boolean)
333 to set the horizontal alignment of fields.
335 2011-12-02 Ben Konrath <ben@bagu.org>
337 Display currency codes in the details view.
339 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
341 2011-12-02 Ben Konrath <ben@bagu.org>
343 Avoid duplicate JNI call.
345 JNI is not as efficient as pure Java and this is an easy (and small)
348 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
349 Use previously retrieved value for whereClauseToTableName instead of
352 2011-12-02 Ben Konrath <ben@bagu.org>
354 Rename a couple of variables in RelatedListNavigation.
356 This is a rename-only refactor.
358 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
360 2011-12-02 Ben Konrath <ben@bagu.org>
362 Indicate clearly that a mismatched primary key type is a bug.
364 * src/main/java/org/glom/web/server/Utils.java: Change log level from
365 warning to error. Add 'This is a bug.' to message.
367 2011-12-02 Ben Konrath <ben@bagu.org>
369 Update / fix some comments.
371 * src/main/java/org/glom/web/client/OnlineGlomService.java: Remove old
373 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Fix
375 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
376 Fix comments. Add some TODOs.
378 2011-12-02 Ben Konrath <ben@bagu.org>
380 Enable navigation to details view with string primary key from related list.
382 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
383 Create a text primary key value when return type of result is
384 java.sql.Types.VARCHAR.
386 2011-12-02 Ben Konrath <ben@bagu.org>
388 Use checkboxes for booleans in the details view.
390 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
392 2011-12-01 Ben Konrath <ben@bagu.org>
394 Improve performance of related list height calculation.
396 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
397 Put code to calculate the expected height in a static initializer so
398 that that it's only called once.
400 2011-12-01 Ben Konrath <ben@bagu.org>
402 Show related list tables in notebooks (again).
404 Calculate the height of the related list tables so the Notebook can be
405 set the correct height. The height of the related list table is also needed by
406 FlowTable to be able decide how to create the layout.
408 * src/main/java/org/glom/web/client/ui/details/Portal.java: Calculate
409 and set the Portal height based on the height of the related list
410 table and the Portal container.
411 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
412 Add method to calculate the height of the related list tables.
413 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
414 * src/main/webapp/style.css: Add css class for Pager. This is needed to
415 calculate the height of the Pager widget.
417 2011-12-01 Ben Konrath <ben@bagu.org>
419 Use CellTable API for table property instead of setting style on Element.
421 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
423 2011-12-01 Ben Konrath <ben@bagu.org>
425 Make ListViewTable and RelatedListTable a consistent height.
427 The tables are now a consistent height regardless of the contents of
428 the table. A hidden button is added to empty rows to ensure that the
429 height of these rows will match the height of rows with data.
431 A navigation button column is now added to every table. The width of
432 the navigation column is set to 0px when a RelatedListTable shouldn't
433 have navigation buttons. This maintains the a consistent row height in
434 tables that don't show the navigation buttons.
436 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Hide
437 navigation column when not needed.
438 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move method
439 arguments for navigation button to constructor of ListViewTable.
440 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Render
441 hidden button for empty data rows.
442 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java: Add method
443 arguments for navigation button to constructor.
444 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Always
445 create navigation buttons. Add hideNavigationButtons() method.
446 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add method
447 arguments for navigation button to constructor.
449 2011-12-01 Ben Konrath <ben@bagu.org>
451 Use 'visibility: hidden' in Utils.getWidgetHeight().
453 This is better choice because hidden elements are invisible, don't
454 respond to events and are not part of the tab order. They will,
455 however, take up space which is required to be able to calculate the
456 height of the widget.
458 * src/main/java/org/glom/web/client/Utils.java:
460 2011-12-01 Ben Konrath <ben@bagu.org>
462 Use Utils.getWidgetHeight() in FlowTable.
464 * src/main/java/org/glom/web/client/Utils.java: Remove TODO item about
466 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
468 2011-12-01 Ben Konrath <ben@bagu.org>
470 Put the details css class name on the correct table column.
472 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
474 2011-11-30 Ben Konrath <ben@bagu.org>
476 Update for java-libglom API change.
478 The getters and setters on FieldFormatting and NumericFormat were
479 changed to remove the 'M'.
481 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
483 2011-11-29 Ben Konrath <ben@bagu.org>
485 Only allow RelatedListTables in Portals.
487 * src/main/java/org/glom/web/client/ui/details/Portal.java:
489 2011-11-29 Ben Konrath <ben@bagu.org>
491 Only create a contents panel for Portals when title is being set.
493 * src/main/java/org/glom/web/client/ui/details/Portal.java:
495 2011-11-29 Ben Konrath <ben@bagu.org>
497 Set TabLayoutPanel height based on calculated height its widgets.
499 This is a potential fix for this bug:
501 https://bugzilla.gnome.org/show_bug.cgi?id=665133
503 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
505 2011-11-29 Ben Konrath <ben@bagu.org>
507 Align details field labels and data with the Open buttons.
509 * src/main/webapp/style.css:
511 2011-11-29 Ben Konrath <ben@bagu.org>
513 Remove unnecessary <div> in the Notebook widget.
515 * src/main/java/org/glom/web/client/ui/details/Group.java: Remove
516 method to get container FlowPanel (<div>).
517 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Run the
518 initWidget() method directly on the TabLayoutPanel widget instead of
519 Group's container widget.
521 2011-11-29 Ben Konrath <ben@bagu.org>
523 Don't add group titles for Portals in Notebooks.
525 This reverts the previous patch and fixes a bug I introduced with
526 commit b1753fd27bd2c4ea189c4c353e0ece92dcc66c2c .
528 * src/main/java/org/glom/web/client/ui/details/Group.java:
529 * src/main/java/org/glom/web/client/ui/details/Portal.java:
531 2011-11-28 Ben Konrath <ben@bagu.org>
533 Remove unused boolean argument in Portal constructor.
537 * src/main/java/org/glom/web/client/ui/details/Group.java:
538 * src/main/java/org/glom/web/client/ui/details/Portal.java:
540 2011-11-28 Ben Konrath <ben@bagu.org>
542 Remove hack for glom 1.18 style glom files.
544 * src/main/java/org/glom/web/client/ui/details/Group.java:
545 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
546 * src/main/java/org/glom/web/client/ui/details/Portal.java:
548 2011-11-28 Ben Konrath <ben@bagu.org>
550 Use Gda Value version of primary key to log result too large error.
552 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
554 2011-11-28 Ben Konrath <ben@bagu.org>
556 Don't use TypedDataItem.getText() for Unknown types from the URL.
558 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
559 * src/main/java/org/glom/web/server/Utils.java: Use getUnknown()
560 instead of getText().
561 * src/main/java/org/glom/web/shared/TypedDataItem.java: Add unknown
562 String field and getUnknown() method.
564 2011-11-28 Ben Konrath <ben@bagu.org>
566 Log an error message when the java-libglom .so is not present.
568 The error message was being set in the exception but not logged.
570 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
572 2011-11-28 Ben Konrath <ben@bagu.org>
574 Ignore LayoutItem_CalendarPortals.
576 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't
577 create the LayoutItemPortal DTO for LayoutItem_CanendarPortals.
579 2011-11-28 Ben Konrath <ben@bagu.org>
581 Extract method for creating the LayoutItemPortal DTO.
583 Just breaking the code up into smaller chunks.
585 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
587 2011-11-28 Ben Konrath <ben@bagu.org>
591 This should have been added with the refactor. Oops!
593 * src/main/java/org/glom/web/shared/TypedDataItem.java:
595 2011-11-28 Ben Konrath <ben@bagu.org>
597 Create primary key value from URL string using type from Glom document.
599 See this bug, comments 19 - 25:
601 https://bugzilla.gnome.org/show_bug.cgi?id=662376#c19
603 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Don't
604 create a TypeDataItem for the primary key here when loading from a
605 URL. Show the same string for the primary key value as was received
606 from the URL string (when loading from a URL).
607 * src/main/java/org/glom/web/server/Utils.java: Update method for
608 creating the Gda Value from the TypeDataItem to properly deal with
609 creating a Gda Value based on the Glom document type for the primary
610 key value string when loading from a URL.
611 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
612 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
613 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
614 Update for changed method name.
616 2011-11-27 Ben Konrath <ben@bagu.org>
618 Rename PrimaryKeyItem to TypedDataItem.
620 The name PrimaryKeyItem suggests what the class should be used for.
621 TypedDataItem is a neutral name that describes the class better.
623 This is a rename-only refactor.
625 * src/main/java/org/glom/web/client/OnlineGlomService.java:
626 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
627 * src/main/java/org/glom/web/client/Utils.java:
628 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
629 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
630 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
631 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
632 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
633 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
634 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
635 * src/main/java/org/glom/web/server/Utils.java:
636 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
637 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
638 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
639 * src/main/java/org/glom/web/shared/NavigationRecord.java:
641 2011-11-25 Ben Konrath <ben@bagu.org>
643 Improve Gda Value conversion from PrimaryKeyItem.
645 The value from the PrimaryKeyItem is only used if its type match the
646 type from the glom document.
648 * src/main/java/org/glom/web/server/Utils.java:
650 2011-11-25 Ben Konrath <ben@bagu.org>
652 Manually check if the java-liblgom .so is visible to the JVM.
654 It seems that Tomcat has problems when a static initializer throws an
655 exception. This check is done before the first method call into
656 java-libglom so that execution doesn't continue if the .so is not
659 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
661 2011-11-25 Ben Konrath <ben@bagu.org>
663 Improve browser configuration error messages.
667 https://bugzilla.gnome.org/show_bug.cgi?id=662792
669 * src/main/java/org/glom/web/client/OnlineGlomService.java:
670 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
671 getConfigurationErrorMessage() method.
672 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
673 Get and display a specific configuration error message when no Glom
675 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
676 Implement getConfigurationErrorMessage() method. Surround configuration
677 code in the init() method with a try/catch block. This allows the
678 errors to be caught while keeping the servlet available to retrieve the
679 configuration error message.
681 2011-11-25 Ben Konrath <ben@bagu.org>
683 Don't use Strings to hold primary key values.
685 The primary key values are now held in a new data object
686 (PrimaryKeyItem) that holds type information and the primary key value
687 using the correct type.
689 * src/main/java/org/glom/web/client/OnlineGlomService.java:
690 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
691 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
692 PrimaryKeyItem instead of String to hold the primary key value.
693 * src/main/java/org/glom/web/client/Utils.java: Remove
694 getKeyValueStringForQuery(). Add getPrimaryKeyItem() which creates a
695 PrimaryKeyItem based on the GlomFieldType and the DataItem.
696 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Use
697 PrimaryKeyItem instead of String to hold the primary key value. Load
698 document selection page when the documentID has not been set correctly.
699 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Re-work
700 DetailsPlace -> URL and URL -> DetailsPlace conversion with
702 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
703 Return empty string for URL instead of "null".
704 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
705 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
706 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
707 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
708 PrimaryKeyItem instead of String to hold primary key values.
709 * src/main/java/org/glom/web/server/Utils.java: New method to convert a
710 PrimaryKeyValue to a Gda Value.
711 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
712 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
713 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
714 Replace temporary database access code that uses the PrimaryKeyValue to
715 Gda Value conversion.
716 * src/main/java/org/glom/web/shared/DataItem.java: Add comment.
717 * src/main/java/org/glom/web/shared/NavigationRecord.java: Use
718 PrimaryKeyItem instead of String.
719 * src/main/java/org/glom/web/shared/PrimaryKeyItem.java: New class to
720 hold primary key values.
722 2011-11-24 Ben Konrath <ben@bagu.org>
724 Use newly added java-libglom API to create queries.
726 This isn't finished. I still need to stop using Strings for primary key
727 values in the client code.
729 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Tell
730 libglom to use fake connections so that retrieving the query string will
732 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
733 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
734 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
735 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
736 Use the newly added libglom sql methods and classes to create the
737 query. Add temporary hack to convert primary value strings to Gda
740 2011-11-23 Ben Konrath <ben@bagu.org>
742 Don't explicitly set the height of Portals.
744 See comments 6 - 10 of this bug for details:
746 https://bugzilla.gnome.org/show_bug.cgi?id=662930#c6
748 * src/main/java/org/glom/web/client/ui/details/Portal.java:
750 2011-11-23 Ben Konrath <ben@bagu.org>
752 Use an HTML table instead of CSS for the FlowTable layout.
754 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Use
755 GWT's FlexTable to implement the FlowTable.
756 * src/main/webapp/style.css: Adjust CSS for the change to FlexTable.
758 2011-11-18 Ben Konrath <ben@bagu.org>
760 Add boolean example to HTML table mockup.
762 * mockups/details-view-html-tables-text-entries.html:
764 2011-11-17 Ben Konrath <ben@bagu.org>
766 Ensure the pager buttons are always visible for related lists.
768 To accomplish this, I've turned off text wrapping in the list view and
769 related list tables for both the header and data text. The related list
770 table now has a fixed layout so the it doesn't overflow its container.
771 This is required to ensure that the cell text is clipped when it
772 overflows the cell and an ellipsis is added to the right side of the
773 cell when text is clipped.
775 A fixed table layout for the related list table in the details view
776 seems what we want for the details view anyway, so the side-effect is
779 The ellipsis will only be displayed in Firefox >= 7.
783 https://bugzilla.gnome.org/show_bug.cgi?id=662930
785 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java:
786 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: Add
787 'overflow: hidden; text-overflow: ellipsis;' CSS properties to the table
789 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
790 Set the 'table-layout: fixed' CSS property to the related list table.
791 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Set the
792 'white-space: nowrap;' CSS property on both the list view and the
795 2011-11-16 Ben Konrath <ben@bagu.org>
797 Rework the fix for empty notebook tab labels.
799 Setting the empty group titles with its name caused problems for the
800 details layout. Instead of using libglom's
801 LayoutItem.get_title_or_name(), the LayoutItem name is explicitly sent
802 to the client when the title is empty. This allows the Notebook to use
803 the name when the title is empty without affecting anything else.
805 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
806 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
808 2011-11-16 Ben Konrath <ben@bagu.org>
810 Set group titles with name when title is empty.
812 This fixes a problem with an empty notebook tab label in the Lesson
813 Planner document. The forth tab in the notebook should be "Internet":
815 http://bagu.org:8080/OnlineGlom/#details:document=lesson-planner&table=teachers&value=0
817 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
818 libglom's LayoutItem.get_title_or_name() to fill in the LayoutGroup
821 2011-11-16 Ben Konrath <ben@bagu.org>
823 Remove whitespace from the configured username properties.
825 This assumes that usernames won't have whitespace at the beginning
826 or end. But I think this is a reasonable assumption.
828 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
829 String.trim() to remove the whitespace from the username properties.
831 2011-11-15 Ben Konrath <ben@bagu.org>
833 Add details view mockup with HTML tables and text entries.
835 This is from the attachment on this bug:
837 https://bugzilla.gnome.org/show_bug.cgi?id=663109
839 * mockups/details-view-html-tables-text-entries.html:
841 2011-11-15 Ben Konrath <ben@bagu.org>
843 Add space between the columns of the flow table.
847 https://bugzilla.gnome.org/show_bug.cgi?id=662918
849 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Add a 1%
850 space between columns in the flow table.
852 2011-11-15 Ben Konrath <ben@bagu.org>
854 Add backup files to the .gitignore.
856 * .gitignore: Ignore files that end with ~.
858 2011-11-09 Ben Konrath <ben@bagu.org>
860 Use latest release of gwt-log.
862 Gwt-log releases are now being submitted to the maven central
863 repository so manual installation of the jar is no longer required.
865 * pom.xml: Update version and groupId of gwt-log dependency.
867 2011-10-31 Ben Konrath <ben@bagu.org>
869 Don't use GWT numeric formatting to override the glom currency formatting.
871 Currencies are now displayed like they are in Glom. See this bug:
873 https://bugzilla.gnome.org/show_bug.cgi?id=646216
875 * src/main/java/org/glom/web/client/Utils.java: Remove GWT currency
877 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: Add
878 currency code to constructor and set it when the cell is rendered.
879 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
880 currency code to the constructor of the NumericCell.
882 2011-10-27 Ben Konrath <ben@bagu.org>
884 Require the latest release of java-libglom (1.17.4).
888 2011-10-26 Ben Konrath <ben@bagu.org>
890 Add style to Notebook that matches current theme.
892 It's not the best style in the world but it's better than the default.
894 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Add some
895 padding at the bottom of the child widgets.
896 * src/main/webapp/style.css: Add style for the Notebook.
898 2011-10-26 Ben Konrath <ben@bagu.org>
900 Move servlet initialization code to overridden init method.
902 This is half of the solution to getting proper error messages
903 displayed when configuration errors occur. Here's the relevant bug:
905 https://bugzilla.gnome.org/show_bug.cgi?id=662792
907 The rest of the solution involves surrounding the init method with a
908 try/catch block and setting a global variable with the error /
909 exception. A new async method should be created to retrieve and display
910 the error message / exception.
912 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Move
913 code from constructor to init method adding exceptions as needed.
915 2011-10-26 Ben Konrath <ben@bagu.org>
917 Add script to monitor and restart tomcat if required.
919 * utils/check-and-recover-tomcat.py: New file.
921 2011-10-26 Ben Konrath <ben@bagu.org>
923 Display the correct number of data items in the pager.
927 https://bugzilla.gnome.org/show_bug.cgi?id=661441
929 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
930 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
931 The implementation is the same for both tables: Keep track of the
932 number of non-empty rows and fire and RowCountChangeEvent after the data has
934 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add a
935 custom Pager class that subclasses SimplePager to handle displaying
936 the correct number when empty rows have been added.
938 2011-10-26 Ben Konrath <ben@bagu.org>
940 Correct error in previous commit.
942 * src/main/java/org/glom/web/client/activity/ListActivity.java: Remove
943 eventBus parameter from listView.setCellTable().
945 2011-10-26 Ben Konrath <ben@bagu.org>
947 Fix error in TODO comment.
949 * src/main/java/org/glom/web/client/activity/ListActivity.java:
951 2011-10-24 Ben Konrath <ben@bagu.org>
953 Create Notebook widgets to the details view.
955 This isn't finished just yet - I still need to create a reasonable
956 style to match the current theme.
958 * src/main/java/org/glom/web/client/Utils.java: Add method for
959 calculating the height of a widget. This is used in the Notebook class.
960 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
961 new constructor method in Group.
962 * src/main/java/org/glom/web/client/ui/details/Group.java: Add new
963 method for creating child widget that can be used by subclasses
964 like Notebook. New constructor that allows disabling the group
965 titles - Notebooks don't set a group title for their child groups.
966 * src/main/java/org/glom/web/client/ui/details/Notebook.java: New class
967 to make Notebooks using GWT's TabLayoutPanel.
968 * src/main/java/org/glom/web/client/ui/details/Portal.java: New
969 constructor that allows disabling the group titles.
970 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Create the
971 LayoutItemNotebook DTO.
972 * src/main/java/org/glom/web/shared/layout/LayoutItemNotebook.java: New
973 DTO for Notebooks. It's just an empty class for now but we might need
974 it to transfer some specific information in the future.
976 2011-10-21 Ben Konrath <ben@bagu.org>
978 Add navigation buttons to related list tables.
980 * src/main/java/org/glom/web/client/OnlineGlomService.java:
981 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
982 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add new
983 method getSuitableRecordToViewDetails() for getting the table name
984 and primary key value for related list navigation buttons.
985 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
986 private cell renderer class to get the navigation information for
987 related list tables from the server. Extract the navigation
988 processing code from the details cell navigation and use it for the
989 related list navigation as well.
990 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Add private
991 cell renderer class for the details open buttons. This was needed
992 because the related list navigation buttons and the list view
993 navigation buttons need to react differently when clicked.
994 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Remove
995 the onEnterKeyDown() method because it's now overriden in the
996 subclasses that are specific to the related list tables and the list
998 * src/main/java/org/glom/web/client/ui/details/Portal.java: Increase
999 the vertical size a little because the buttons add a bit of vertical
1000 space to table. This is not a perfect solution because the vertical
1001 size of with table fewer than 5 rows will be a little smaller.
1002 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Update for
1003 changes in how navigation buttons are handled.
1004 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Implement
1005 getSuitableRecordToViewDetails() using the new RelatedListNavigation
1006 database access object.
1007 * src/main/java/org/glom/web/server/database/DBAccess.java: Move code
1008 to find the portal for a given relationship name from
1009 RelatedListDBAccess. Add method to find a primary key field for a
1011 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1012 Move code to find the portal for a given relationship name to
1014 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1015 New file: database access object for getting the related list
1016 navigation information (the table name and the primary key value).
1017 * src/main/java/org/glom/web/shared/NavigationRecord.java: New file:
1018 DTO for transferring a table name to navigate to and a primary key
1020 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1021 boolean and getter/setter to specifies if the related list should add
1024 2011-10-24 Murray Cumming <murrayc@murrayc.com>
1026 Use the master branch of java-libglom
1028 * pom.xml: Depend on java-libglom 1.19 instead.
1030 This is the master branch. See also the libglom-1-18 branch.
1032 2011-10-11 Ben Konrath <ben@bagu.org>
1034 Enable the open navigation button when the data has been set.
1036 This avoids having active buttons that don't do anything when the data
1039 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1041 2011-10-11 Ben Konrath <ben@bagu.org>
1043 Use IsWidget interface for FlowTableItem.
1045 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Change
1046 FlowTableItem.getWidget() to asWidget() from the IsWidget interface.
1048 2011-10-11 Ben Konrath <ben@bagu.org>
1050 Remove GWT styling from open button in details view.
1052 There are still some issues with how the details cell is arranged but
1053 this should be made to match Glom 1.20. I'm going to leave fixing this
1054 until I have Glom 1.20 up and running.
1056 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Set
1057 style name on open button.
1058 * src/main/webapp/style.css: Move and edit details-navigation class.
1059 Re-arrange some classes to make them appear in the same order as the
1062 2011-10-07 Ben Konrath <ben@bagu.org>
1064 Update to GWT 2.4.0.
1066 * .gitignore: Ignore new cache directory.
1067 * .settings/com.google.gwt.eclipse.core.prefs: Update Eclipse settting.
1068 * pom.xml: Change GWT and maven plugin to 2.4.0.
1069 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Update doctype for
1071 * src/main/java/org/glom/web/client/ClientFactory.java:
1072 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
1073 * src/main/java/org/glom/web/client/OnlineGlom.java:
1074 Update source for API changes.
1075 * utils/build-onlineglom-war.sh: Remove cache directory before the
1078 2011-10-07 Ben Konrath <ben@bagu.org>
1080 Add navigation buttons in the details view.
1082 This isn't finished but I thought I'd commit what I have as it's a
1083 pretty good start. I still need to:
1085 1. Change the style so that it fits better into the current theme
1086 2. Adjust the details cell to expand as much as possible.
1088 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1089 click handlers to navigation buttons in the DetailsCells. Create a
1090 refreshData() method to get just the data from the server without the
1092 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1093 Update the tableSelector and browser title when the table name
1094 changes without using the tableSelector.
1095 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1096 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1097 getDetailsCells() to getCells(). Update variable names.
1098 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Add
1099 method to set click handler on navigation button. Rename a few
1100 variables. Add navigation buttons where needed.
1101 * src/main/java/org/glom/web/client/ui/details/Group.java: Rename a few
1102 variables and methods.
1103 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Set the
1104 navigation boolean and navigation table as required in the
1105 LayoutItemField DTO.
1106 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
1107 variables for navigation along with getter/setter methods.
1109 2011-10-07 Ben Konrath <ben@bagu.org>
1111 Rename Field to DetailsCell.
1113 This is a refactor-only commit. No functionality has been added or
1116 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1117 Update variable and method names.
1118 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1119 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update
1120 variable and method names.
1121 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1123 * src/main/java/org/glom/web/client/ui/details/Group.java: Update
1124 variable and method names.
1126 2011-10-07 Ben Konrath <ben@bagu.org>
1128 Create separate methods for layout and data the details view.
1130 This is a refactor-only commit. No functionality has been added or
1133 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: New
1134 private methods: setData(), createLayout().
1136 2011-10-07 Ben Konrath <ben@bagu.org>
1138 Don't use TableSelectorImpl implementation details in TableSelectorActivity.
1140 This is part of a change to get navigation buttons in the details view
1141 but it should have been done this way from the start.
1143 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1144 for method name change in TableSelectionView.
1145 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1146 Create TableChangeEvent and set the browser title using the
1147 TableSelectionView API.
1148 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1149 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1150 Change getSelectedTable() to getSelectedTableName(). Add
1151 getSelectedTableTitle().
1153 2011-10-07 Ben Konrath <ben@bagu.org>
1155 Use primaryKeyValue naming convention in constructor of DetailsPlace.
1157 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1159 2011-10-07 Ben Konrath <ben@bagu.org>
1161 Update TableChangeEvent to use newTableName naming convention.
1163 This makes the class more consistent with GWT naming conventions.
1165 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1166 Update for method name change in TableChangeEvent.
1167 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1168 for method name change in TableChangeEvent.
1169 * src/main/java/org/glom/web/client/event/TableChangeEvent.java: Update
1170 newTableName variable and getter method. Make toDebugString()
1173 2011-09-30 Ben Konrath <ben@bagu.org>
1175 Disable the pager in the list tables when the data row count is less than the minimum.
1177 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1178 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1180 2011-09-30 Ben Konrath <ben@bagu.org>
1182 Add empty rows to the end of related list and list view tables.
1184 I also extracted the cell rendering classes from the ListTable because
1185 the code was becoming a little crazy with all the anonymous inner
1186 classes. My plan is to use these cell rendering classes in the details
1187 view as well so this refactor will be needed for that change.
1189 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Only
1190 set the row count in related list tables if the data has more rows
1191 than the minimum number of rows visible.
1192 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Only set the
1193 row count in list view tables if the data has more rows than the
1194 minimum number of rows visible.
1195 * src/main/java/org/glom/web/client/ui/cell/BooleanCell.java: New class
1196 for rendering TYPE_BOOLEAN cells. The code was extracted from the
1198 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: New class
1199 for rendering TYPE_NUMERIC cells. The code was extracted from the
1201 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: New
1202 class for rendering cells with buttons in list views. The code was
1203 extracted from the ListTable class.
1204 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: New class
1205 for rendering TYPE_TEXT cells. The code was extracted from the
1207 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1208 Add empty rows to the end of the data if required. Implement
1209 ListTable.getMinNumVisibleRows().
1210 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Extract
1211 cell renderer code to public classes. Return null in
1212 Column.getValue() for empty rows. Add new abstract method:
1213 getMinNumVisibleRows(). Move code to set the row count of the list view
1214 table to ListViewImpl.
1215 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add
1216 empty rows to the end of the data if required. Implement
1217 ListTable.getMinNumVisibleRows().
1220 2011-09-27 Ben Konrath <ben@bagu.org>
1222 Use GWT.log for client-side debugging statements.
1224 These are optimized out when deployed so I should have used this method
1225 in the first place. These statements will eventually be replaced with some sort
1226 of notification in the browser.
1228 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1229 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1230 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1231 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1232 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1234 2011-09-27 Ben Konrath <ben@bagu.org>
1236 Put tableselector on the right, back to list link on right.
1238 The idea is that the table selector is acting like a label for the
1239 currently displayed table so it should be placed below the document title. This
1240 puts the table title in a similar position to where it is in Glom.
1242 * mockups/details-contacts.html:
1243 * mockups/details-projects.html:
1244 * mockups/listview-contacts.html:
1245 * mockups/listview-projects.html:
1246 * mockups/style.css:
1247 Update mockups to match how the interfaces currently look.
1248 * src/main/webapp/style.css: Swap positions of backlink with the table
1249 selector. Add some space on the left side of the table selector to
1250 line things up with the document title.
1252 2011-09-27 Ben Konrath <ben@bagu.org>
1254 Add field colouring to details view.
1256 This change re-works how field colouring works. The colour formatting
1257 information is now set to the client with the layout information instead of
1258 with the data. This eliminates the need to send the same colour strings for
1259 data in list view column when colour information is set.
1261 In order to set an alternate colour for negative numeric values, the
1262 number is now sent to client and formatted with the GWT NumberFormat class.
1264 This change also fixes:
1266 https://bugzilla.gnome.org/show_bug.cgi?id=659752
1268 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add the GWT
1269 internationalization framework which is needed for client side numeric
1271 * src/main/java/org/glom/web/client/Utils.java: New file for some
1272 client static utility methods.
1273 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
1274 the DataItem object to the Field class. Use a utility method to
1275 create the foreignKeyValue string.
1276 * src/main/java/org/glom/web/client/ui/details/Field.java: Set
1277 alignment and text colours in the constructor. Add setData(DataItem)
1278 method. Remove setText(String) method.
1279 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
1280 colour information to GlomTextCell. Create and use GlomNumberCell for
1281 rendering numbers. Use utility method to get the string for the
1282 primary key of the key provider. Re-work how the horizontal alignment
1284 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1285 formatting to layout information. Methods for converting the libglom
1286 formatting information were moved from DBAccess.
1287 * src/main/java/org/glom/web/server/database/DBAccess.java: Remove
1288 numeric formatting (it's now done on the client side). Don't set text
1289 colours in DataItem. Move libglom formatting conversion methods to
1291 * src/main/java/org/glom/web/shared/DataItem.java: Remove fields and
1292 getters/setters for text colour information.
1293 * src/main/java/org/glom/web/shared/GlomNumericFormat.java: New file
1294 for transferring the libglom NumericFormat information to the client.
1295 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add fields
1296 and getters/setters for: GlomNumericFormat, background colour and
1297 foreground colour strings.
1299 2011-09-26 Ben Konrath <ben@bagu.org>
1301 Simplify code that iterates through the LayoutGroup.
1303 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1305 2011-09-26 Ben Konrath <ben@bagu.org>
1307 Accept Eclipse formatting for OnlineGlomServiceAsync.
1309 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1311 2011-09-26 Ben Konrath <ben@bagu.org>
1313 Don't use the ListDBAccess classes to get the primary key layout information.
1315 This was causing a bug where the wrong index for the hidden primary key
1316 was being sent to the client.
1318 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Find the
1319 primary key while creating the LayoutGroup DTO. Create a
1320 LayoutItemField DTO for hidden primary keys. Don't use the
1321 RelatedListDBAccess because it was only used for getting the primary
1323 * src/main/java/org/glom/web/server/database/DBAccess.java: Change the
1324 access modifier from public to protected for getPrimaryKeyField() and
1325 getPrimaryKeyLayoutItemField().
1326 * src/main/java/org/glom/web/server/database/ListDBAccess.java: Remove
1327 abstract method getExpectedResultSize() because RelatedListDBAccess
1328 doesn't have enough info to implement it.
1329 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1330 Remove @Override for getExpectedResultSize().
1331 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1332 Remove method getExpectedResultSize().
1334 2011-09-23 Ben Konrath <ben@bagu.org>
1336 Log which layout (list or details) the ignored item is from.
1338 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1340 2011-09-23 Ben Konrath <ben@bagu.org>
1342 Remove annotations that turn off code formatting in DataItem.
1344 * src/main/java/org/glom/web/shared/DataItem.java:
1346 2011-09-23 Ben Konrath <ben@bagu.org>
1348 Rename GlomField to DataItem and update associated methods.
1350 This is a rename-only refactor. No functionality has been added or
1353 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1354 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1355 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1356 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1357 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1358 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1359 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1360 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1361 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1362 * src/main/java/org/glom/web/server/database/DBAccess.java:
1363 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1364 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1365 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1366 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1367 * src/main/java/org/glom/web/shared/DataItem.java:
1368 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java:
1369 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
1371 2011-09-23 Ben Konrath <ben@bagu.org>
1373 Rename GlomDocument to DocumentInfo and update associated methods.
1375 This is a rename-only refactor. No functionality has been added or
1378 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1379 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1380 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1381 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1382 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1383 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1384 * src/main/java/org/glom/web/shared/DocumentInfo.java:
1386 2011-09-20 Ben Konrath <ben@bagu.org>
1388 Require java-libglom 1.17.3.
1390 This picks up the fix for the seg fault problem with the Scenes table
1391 in the Openismus Film Manager example.
1395 2011-09-20 Ben Konrath <ben@bagu.org>
1397 Change the way sort clause is added for primary key when no sort clause is requested.
1399 The primary key is now added to the LayoutFieldVector (fieldsToGet)
1400 before the sort clause is created. When a sort clause is not requested, the
1401 sort clause is created by finding the primary key in the LayoutFieldVector
1404 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1406 2011-09-20 Ben Konrath <ben@bagu.org>
1408 Log error message if no documents are found in the configured directory.
1410 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also:
1411 Extract the glom file extension string to a private static final class
1412 variable (mostly as syntactic sugar). Accept a minor formatting change.
1413 * src/main/resources/onlineglom.properties: Add '/glomfile' to end of
1414 the example glom.document.directory configuration property to make it
1415 more clear that it can any directory, not just the home directory.
1417 2011-09-18 Ben Konrath <ben@bagu.org>
1419 Add related lists to details view.
1421 The related list table has support for paging and sorting just like the
1422 table in the list view.
1424 * pom.xml: Require java-libglom 1.17.2 for the new methods to build the
1425 SQL queries for the related list tables.
1426 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1427 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1428 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1429 Rename getList methods to getListView and add comments. Remove
1430 getDetailsLayout() as it's not used anymore. Add note to getDetailsData() about
1431 it being unused. Add methods: getDetailsLayoutAndData(),
1432 getSortedRelatedListData(), getRelatedListData(), getRelatedListRowCount()
1433 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1434 Create the layout and set the data for the fields in one async call
1435 instead of two. Create related lists where appropriate.
1436 * src/main/java/org/glom/web/client/activity/ListActivity.java: Changes
1437 for method name changes in OnlineGlomService.
1438 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1439 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1440 addLayoutGroup() to addGroup(). Add methods to get the DTOs for the
1442 * src/main/java/org/glom/web/client/ui/ListView.java:
1443 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Remove
1444 tableName from setCellTable(). Create a ListViewTable instead of
1446 * src/main/java/org/glom/web/client/ui/details/Field.java: New class to
1447 represent a data field in the details view.
1448 * src/main/java/org/glom/web/client/ui/details/Group.java: Move to code
1449 from addDetailsCell() to Field class. Keep track of the Fields and
1450 Portals in the details view.
1451 * src/main/java/org/glom/web/client/ui/details/Portal.java: Make portal
1452 a little bigger to match Glom. Keep track of the LayoutItemPortal DTO
1453 and add a method to get it. Add method to set the contents of the
1455 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1456 New class for related list tables. This class has the data provider
1457 for the related list table.
1458 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Change to
1459 abstract class which is the base class for the ListViewTable and the
1461 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1462 New class for list view tables. This class has the data provider for
1463 the list view table.
1464 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1465 methods for related list tables. Add more information to the
1466 LayoutItemField and LayoutItemPortal DTOs.
1467 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1468 Remove debugging print statement.
1469 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1470 Remove debugging print statements. Add primary key field to SQL count
1472 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1473 Remove unnecessary LayoutFieldVector parameter from
1474 getResultSizeOfSQLQuery() method.
1475 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1476 New class for related list table database access.
1477 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java: New
1478 class that is a wrapper DTO for details view layout and data.
1479 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1480 new 'fromField' string to this DTO.
1481 * src/main/webapp/style.css: Remove bottom margin and override top
1484 2011-09-15 Ben Konrath <ben@bagu.org>
1486 Breakup the OnlineGlomServiceImpl class to make it more manageable.
1488 This sets things up to make it easier to add the data retrieval for
1489 related lists (portals). No user noticeable changes were made with
1492 * src/main/java/org/glom/web/server/ConfiguredDocument.java: This
1493 class has the code to retrieve the layouts and access the
1494 database using the new database helper classes.
1495 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1496 Most of the functionality has been removed from this class. This
1497 class now represents the public interface for the client side
1498 code. It also deals with configuring the servlet and cleaning
1499 things up when the servlet is stopped.
1500 * src/main/java/org/glom/web/server/Utils.java: Extract a couple
1501 of static methods into this utility class.
1502 * src/main/java/org/glom/web/server/database/DBAccess.java:
1503 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1504 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1505 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1506 These classes have the database retrieval code. The class hierarchy
1507 has been setup to make it easy to reuse code for similar
1510 2011-09-06 Ben Konrath <ben@bagu.org>
1512 Create separate classes for list table code and the data provider.
1514 As part of this refactor, I also split up the code a bit to make it
1517 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move list
1518 table code to two new classes (below).
1519 * src/main/java/org/glom/web/client/ui/list/ListTable.java: New file
1520 with code from ListViewImpl.
1521 * src/main/java/org/glom/web/client/ui/list/ListTableDataProvider.java:
1522 New file with code from ListViewImpl.
1524 2011-09-06 Ben Konrath <ben@bagu.org>
1526 Change the LayoutItemPortal DTO to extend LayoutGroup instead of LayoutItem.
1528 This fixes the LayoutItemPortal DTO to match the libglom layout object
1531 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java:
1533 2011-09-01 Ben Konrath <ben@bagu.org>
1535 Set title of Portals in the Details View.
1537 * pom.xml: Bump required version of java-libglom to 1.17.1.
1538 * src/main/java/org/glom/web/client/ui/details/Group.java: Move Portal
1539 widget creation to its own class. Add comments to constructor.
1540 * src/main/java/org/glom/web/client/ui/details/Portal.java: New file.
1541 The code is mostly from the Group class with the title now set.
1542 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
1543 title of Portal. Update some comments. Fix some code formatting.
1545 2011-09-01 Ben Konrath <ben@bagu.org>
1547 Remove TODO comment for the flow table column width.
1549 The flow table column width is working correctly and doesn't need to be
1550 changed. See this mailing list post for more info:
1552 https://mail.gnome.org/archives/glom-devel-list/2011-August/msg00017.html
1554 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
1556 2011-08-27 Ben Konrath <ben@bagu.org>
1558 Add document title (database name) to top of the browser page.
1560 I added the document title to the TableSelecitonView but that will
1561 change if / when we add a view that doesn't require table selection.
1563 * mockups/details-contacts.html:
1564 * mockups/details-projects.html:
1565 * mockups/listview-contacts.html:
1566 * mockups/listview-projects.html:
1567 * mockups/style.css: Add document title to mockups to keep things
1569 * src/main/java/org/glom/web/client/OnlineGlom.java: Adjust LayoutPanel
1570 sizes to account for the document title.
1571 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1572 Set the document title when it has been retrieved from the server.
1573 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1574 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java: Add
1575 and implement setDocumentTitle(String) method.
1576 * src/main/webapp/style.css: Add ID for document title style.
1578 2011-08-25 Ben Konrath <ben@bagu.org>
1580 Add NavigationType enum to LayoutItemPortal DTO.
1582 This is the start of adding support for Portals to the Details View.
1584 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert
1585 LayoutItem_Portal.navigation_type enum from libglom to
1586 LayoutItemPortal.NavigationType enum.
1587 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1588 NavigationType enum, field for storing the NavigationType and getter
1591 2011-08-25 Ben Konrath <ben@bagu.org>
1593 Implement the flow table layout in the Details View.
1595 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
1596 FlowTable to Group to account for the renamed class.
1597 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: New
1598 File. This is a container widget that implements the Glom details view
1599 flow table behaviour.
1600 * src/main/java/org/glom/web/client/ui/details/Group.java: Moved from
1601 org/glom/web/client/ui/FlowTable.java.
1602 * src/main/webapp/style.css: Adjust bottom margin of the subgroup-title
1603 so that the size of the subgroups are a closer match to the size of
1604 the Glom subgroups. This makes the flowtable layout match the layout
1605 in Glom for the Music Collection example file.
1607 2011-08-16 Ben Konrath <ben@bagu.org>
1609 Create container element for LayoutItemPortal in Details View.
1611 This will help me develop the layout for the FlowTable.
1613 * src/main/java/org/glom/web/client/ui/FlowTable.java: Also rename
1614 fieldPanel variable to detailsCell.
1616 2011-08-15 Ben Konrath <ben@bagu.org>
1618 Set the height of the data element in the Details View.
1620 I changed the InlineLabels (text in a span element) to Labels (text in
1621 a div element) so that I could set the height of the details-data
1622 elements instead of the details-cell parent elements. This allows the
1623 the details-data element to display the correct height if style is
1624 applied that shows the height.
1626 This change has the added benefit of allowing the order of the labels
1627 and data elements to be changed for right-to-left languages.
1629 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
1630 InlineLabels to Labels.
1631 * src/main/java/org/glom/web/client/ui/FlowTable.java: Change
1632 InlineLabels to Labels. Set the height of the data element.
1633 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
1634 multiline text height in the Formatting DTO.
1635 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add field
1636 for multiline height along with getter and setter methods.
1637 * src/main/webapp/style.css: Adjust style to account for the change
1638 from span elements to div elements in the details cell.
1640 2011-08-15 Ben Konrath <ben@bagu.org>
1642 Make the List View appearance match the mockups.
1644 It doesn't match exactly but it's much better than it was.
1646 * mockups/listview-contacts.html: Remove unused css classes.
1647 * mockups/listview-projects.html: Remove unused css classes.
1648 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Display 15
1649 rows instead of 20. Rename vPanel to mainPanel. Use FlowPanel (div)
1650 for mainPanel instead of VerticalPanel (table). Set style name on
1651 CellTable. Set style name on Details column. Right-align Details
1653 * src/main/webapp/style.css: Adjust properties to match the mockups.
1655 2011-08-12 Ben Konrath <ben@bagu.org>
1657 Add better support for subgroups in the details view.
1659 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
1660 changed FlowTable constructor.
1661 * src/main/java/org/glom/web/client/ui/FlowTable.java: Add better
1662 support for subgroups and subgroup-titles.
1663 * src/main/webapp/style.css: Add CSS class for subgroups and
1666 2011-08-12 Ben Konrath <ben@bagu.org>
1668 Return the top level LayoutGroup title.
1670 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1672 2011-08-11 Ben Konrath <ben@bagu.org>
1674 Make the TableSelector header match the mockup.
1676 * src/main/java/org/glom/web/client/OnlineGlom.java: Add a margin to
1677 the layout panel. Properly lineup the table selection header with
1678 the list and details view.
1679 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Remove the
1680 margin around the details view.
1681 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1682 Rename listBox variable to tableSelector. Set id for the style sheet.
1683 Use a FlowPanel instead of a HorizontalPanel.
1684 * src/main/webapp/style.css: Add properties to make the TableSelector
1685 box match the mockups.
1687 2011-07-13 Ben Konrath <ben@bagu.org>
1689 Update install script for java-libglom version change.
1691 * utils/install-onlineglom-war.sh: Also exit if 'make check' in
1694 2011-07-13 Ben Konrath <ben@bagu.org>
1696 Add support sub-group in the details view.
1698 I also removed the code that special-cased the default details view
1701 http://mail.gnome.org/archives/glom-devel-list/2011-July/msg00005.html
1703 I still have to make a proper flowtable.
1705 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1706 Don't special-case default details view layout.
1707 * src/main/java/org/glom/web/client/ui/DetailsView.java: Remove
1708 addLayoutField() as I'm going to use it.
1709 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Extract
1710 GroupPanel to FlowTable class. Remove unimplemented addLayoutField()
1712 * src/main/java/org/glom/web/client/ui/FlowTable.java: New class
1713 extracted from DetailsViewImpl.GroupPanel. Add support for
1715 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
1716 column count when getting the details layout.
1718 2011-07-12 Ben Konrath <ben@bagu.org>
1720 Set browser title with database and table titles.
1722 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1723 Set the browser title when the table changes and when the activity
1725 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
1726 title when retrieving document info (the GlomDocument object).
1727 * src/main/java/org/glom/web/shared/GlomDocument.java: Add title field
1728 with getter and setter methods. Remove unused convenience constructor.
1729 Use default code formatting.
1731 2011-07-12 Ben Konrath <ben@bagu.org>
1733 Ignore LayoutItemPortals in the details view.
1735 I added a new DTO for the LayoutItemPortal so that I can ignore it in
1738 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Ignore
1739 LayoutItemPortal layout objects.
1740 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
1741 LayoutItemPortal objects when retrieving the details layout.
1742 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: New
1743 file. This is an empty class and just used to get type information for
1746 2011-07-12 Ben Konrath <ben@bagu.org>
1748 Use java-libglom 1.17.0.
1752 2011-07-11 Ben Konrath <ben@bagu.org>
1754 Remove "Table:" label from table selector.
1756 This matches a recent change in the Glom UI.
1758 * mockups/details-contacts.html:
1759 * mockups/details-projects.html:
1760 * mockups/listview-contacts.html:
1761 * mockups/listview-projects.html: Remove the "Table:" label from the
1763 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1765 2011-07-11 Ben Konrath <ben@bagu.org>
1767 Add main groups to the details view.
1769 This makes things look a little nicer in the details view. The next step
1770 is to implement the flowtable.
1772 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Inherit only the
1773 resources from the standard gwt css theme. Standard.css is now
1774 included in OnlineGlom.html so that the online glom css rules have
1775 precedence over the gwt theme.
1776 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
1777 the whole LayoutGroup to the DetailsView instead of just the titles.
1778 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1779 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Create the
1780 details layout with a helper class (GroupPanel). I might extract this
1781 class when I make the full flowtable.
1782 * src/main/java/org/glom/web/shared/layout/LayoutItem.java: Add empty
1783 string as default so I don't have to worry about NPEs when processing
1785 * src/main/webapp/OnlineGlom.html: Add the gwt standard css file (see
1786 note beside OnlineGlom.gwt.xml above).
1787 * src/main/webapp/style.css: Add default font-size to body to override
1788 the font-size set by the standard theme. Don't use h2 tags for
1789 group-title. Create new details-cell class.
1791 2011-07-08 Murray Cumming <murrayc@murrayc.com>
1793 ConfiguredDocument: Set the port number too.
1795 * src/main/java/org/glom/web/server/ConfiguredDocument.java
1796 (ConfiguredDocument.ConfiguredDocument): Get the port number from the
1797 Glom document. Presumably this worked sometimes so far because there is a
1798 default port number.
1800 2011-07-08 Murray Cumming <murrayc@murrayc.com>
1802 ConfiguredDocument: Warn that sqlite and self-hosting are not supported.
1804 * src/main/java/org/glom/web/server/ConfiguredDocument.java
1805 (ConfiguredDocument.ConfiguredDocument): Check that the hosting mode is
1806 correct, though we should throw an exception too.
1808 2011-07-08 Murray Cumming <murrayc@murrayc.com>
1810 Fix a addDocuemnt typo.
1812 * src/main/java/org/glom/web/shared/Documents.java
1813 (Documents.addDocuemnt): Rename to addDocument().
1814 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
1815 (OnlineGlomServiceImpl.getDocuments): Adapt.
1817 2011-07-08 Murray Cumming <murrayc@murrayc.com>
1819 Slightly improved log output when connection fails.
1821 * src/main/java/org/glom/web/server/ConfiguredDocument.java
1822 (ConfiguredDocument.setUsernameAndPassword):
1823 We don't know for sure if it' the username/password that's wrong, so
1824 rephrase the message.
1825 Also ouput the exception message, though it's generic in this case.
1827 2011-07-08 Ben Konrath <ben@bagu.org>
1831 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also
1832 added braces to a one line if statement because the Eclipse formatter
1833 was getting confused.
1835 2011-07-07 Ben Konrath <ben@bagu.org>
1837 Update project config files for Eclipse 3.7 and use GWT 2.3.0.
1839 These should really be two separate tasks but I counldn't get things to
1840 work with GWT 2.2.0 and Eclipse 3.7.
1844 * .settings/org.eclipse.jdt.core.prefs:
1845 * .settings/org.eclipse.jdt.ui.prefs:
1846 * .settings/org.eclipse.ltk.core.refactoring.prefs:
1847 * .settings/org.eclipse.m2e.core.prefs:
1848 Add new config files. Update current files. Remove references to the
1849 webtools plugins as we're not using any of the webtools features.
1850 * .gitignore: Add logs directory which is created when running with
1852 * pom.xml: Update to GWT 2.3.0. Eclipse configuration was automatically added.
1853 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Moved from
1854 src/main/resources/org/glom/web/OnlineGlom.gwt.xml as per this known
1856 http://mojo.codehaus.org/gwt-maven-plugin/eclipse/google_plugin.html#Limitations
1858 2011-07-07 Murray Cumming <murrayc@murrayc.com>
1860 onlineglom.properties: Add explanatory comments.
1862 * src/main/resources/onlineglom.properties: Also change the default user
1863 from ben to someuser, to avoid the risk of people thinking we just
1864 stupidly hard-coded a locale path, when they see that on stderr or in a log.
1866 2011-06-28 Ben Konrath <ben@bagu.org>
1868 Use filename in Log for incorrect passwords.
1870 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1871 getFileName(String) method to get the filename from the URI.
1873 2011-06-28 Ben Konrath <ben@bagu.org>
1875 Add the table name to the URL token for the ListPlace.
1877 This makes things consistent between the DetailsPlace and the
1878 ListPlace. It also allows the the ListPlace to be bookmarked.
1880 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1881 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1882 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1883 Remove getDefaultListLayout(). The default layout is now returned
1884 by the getListLayout() method when the table name is an empty string.
1885 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1886 Add table name field. Change to a new ListPlace when the table
1887 has been changed. Use getListLayout() for getting the default
1889 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1890 Add table name field. Set the correct table name in the list box
1891 when loading from bookmark. This corrects a problem for the
1893 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1894 Move table name to super-class (HasSelectableTable). Move document
1895 and table URL keys to super-class in HasSelectableTable.
1896 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
1897 Add table name field. Add Tokenizer class with URL key common to
1898 the subclasses (DetailsPlace and ListPlace).
1899 * src/main/java/org/glom/web/client/place/ListPlace.java:
1900 Add table name. Add code to parse the URL token.
1901 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1902 Update ListPlace construction with empty table name string.
1903 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1904 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1905 Change setTableSelectedIndex(int) to setSelectedTableName(String).
1906 Update ListPlace construction with table name string.
1907 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
1908 Change defaultTableName field to tableName to reflect how it's now
1909 used. Update the getter and setter methods.
1911 2011-06-28 Ben Konrath <ben@bagu.org>
1913 Enable the table selector in the DetailsView.
1915 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1916 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1917 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1918 Remove getDefaultDetailsLayout(). The default layout is now returned
1919 by the getDetailsLayout() method when the table name is an empty
1921 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1922 event handler for table change event. Change to using
1923 getDetailsLayout() for the default details layout.
1924 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add table
1926 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use table
1927 when navigating to the details place.
1929 2011-06-27 Ben Konrath <ben@bagu.org>
1931 Use filename based unique document ID in URL and for RPC.
1933 The document ID is the glom document name with spaces (' ') replaced
1934 with pluses ('+') and without the .glom extension.
1936 This change is mostly a string substitution of 'documentTitle' for
1937 'documentID'. The only code change is the addition of a Documents DTO to get the
1938 filename to document title mappings as indicated below.
1940 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1941 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1942 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1943 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1944 Use Documents DTO to create the document links in the document
1946 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1947 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1948 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1949 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
1950 * src/main/java/org/glom/web/client/place/ListPlace.java:
1951 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
1952 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1953 * src/main/java/org/glom/web/client/ui/ListView.java:
1954 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1955 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1956 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1957 * src/main/java/org/glom/web/server/Log.java:
1958 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
1959 getDocumentTitles() to getDocuments() and return the Documents DTO.
1960 * src/main/java/org/glom/web/shared/Documents.java: New DTO for
1961 transferring the filename to document title mappings.
1963 2011-06-25 Ben Konrath <ben@bagu.org>
1965 Make the authentication popup work again.
1967 This bug was introduced when I extracted ConfiguredDocument to its own class.
1969 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Return the
1970 correct success / fail status in setUsernameAndPassword().
1972 2011-06-25 Ben Konrath <ben@bagu.org>
1974 Use filename as unique key for configuring database usernames and passwords.
1976 This replaces the use of the Glom document title which could change
1977 depending on the locale. Thanks to Murray Cumming for pointing out this
1980 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1981 * src/main/resources/onlineglom.properties:
1983 2011-06-24 Ben Konrath <ben@bagu.org>
1985 Pass primary key value to DetailsView.
1987 This enables the DetailsView to load the correct data.
1989 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1990 primary key value field and set in constructor. Pass primary key
1991 value to getDetailsData().
1992 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add URL
1993 variables for document title and primary key value.
1994 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Pass primary
1995 key value to the DetailsPlace.
1997 2011-06-24 Ben Konrath <ben@bagu.org>
1999 Add primary key index to LayoutGroup DTO and add ProvidesKey to CellTable.
2001 This allows the primary key to be retrieved by the Details button. This
2002 functionality has not been implemented yet but it's in the works.
2004 * src/main/java/org/glom/web/client/activity/ListActivity.java: Pass
2005 the LayoutGroup result to ListView.setCellTable instead of all of its
2006 fields individually.
2007 * src/main/java/org/glom/web/client/ui/ListView.java:
2008 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use
2009 LayoutGroup as parameter for setCellTable. Add ProvidesKey to CellTable
2010 get the primary key for the table.
2011 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
2012 index of the primary key in the LayoutGroup accounting for hidden
2013 primary keys. Rename getJavaNumberFormat() to
2014 convertToJavaNumberFormat() for consistency. Cleanup / add some
2016 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add a
2017 field for primary key index and a field to indicate whether the
2018 primary key is hidden or not.
2020 2011-06-23 Ben Konrath <ben@bagu.org>
2022 Rename getTableData methods to getListData.
2024 This is a rename refactor for consistency with other methods.
2026 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2027 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2028 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2029 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2031 2011-06-23 Ben Konrath <ben@bagu.org>
2033 Extract the ConfiguredDocument innerclass into its own class.
2035 This makes the servlet code more object oriented.
2037 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Extracted
2038 from private ConfiguredDocument class in OnlineGlomServiceImpl.
2039 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use the
2040 new ConfiguredDocument class.
2042 2011-06-21 Ben Konrath <ben@bagu.org>
2044 Use the LayoutGroup group for the list layout instead of ColumnInfo and LayoutListTable.
2046 This makes things more inline with how libglom works and reduces code
2047 duplication. This refactor lays the groundwork for adding the primary key to
2048 the LayoutGroup object.
2050 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2051 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2052 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2053 Change method names to getListLayout and getDefaultListLayout for
2054 consistency. Use LayoutGroup as the DTO for the list layout instead of
2055 ColumnInfo and LayoutListTable.
2056 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use the
2057 new method names along with the LayoutGroup object for transferring the
2059 * src/main/java/org/glom/web/client/ui/ListView.java:
2060 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2061 Use ArrayList<LayoutItem> instead of ColumnInfo[] in setCellTable().
2062 * src/main/java/org/glom/web/shared/ColumnInfo.java: Deleted. Replaced
2064 * src/main/java/org/glom/web/shared/LayoutListTable.java: Deleted.
2065 Replaced with LayoutGroup.
2066 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add
2067 expectedResultSize and defaultTableName fields which are needed for
2069 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
2070 type field which is needed for the list layout but will also be
2071 useful for the details layout as things progress.
2072 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2073 Make class abstract. Remove the unnecessary
2074 getFormattingHorizontalAlignment method. Add setFormatting method.
2076 2011-06-16 Ben Konrath <ben@bagu.org>
2078 Add scripts for building and installing war.
2080 These will help when updating OnlineGlom but they're also good
2081 supplemental documentation of the build and deployment proceeding.
2083 * utils/build-onlineglom-war.sh: New file.
2084 * utils/install-onlineglom-war.sh: New file.
2086 2011-06-16 Ben Konrath <ben@bagu.org>
2088 Create wrapper class to create consistent log messages.
2090 I wrapped methods in the Log class of gwt-log to add the method names
2091 from the servlet and create consistent formatting of the document title
2092 and table names in the log messages.
2094 * src/main/java/org/glom/web/server/Log.java: New file with wrapped methods.
2095 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert all
2096 log methods to use methods from wrapped Log class.
2098 2011-06-16 Ben Konrath <ben@bagu.org>
2100 Remove superfluous conditional return.
2102 Thanks to Murray Cumming for pointing this out!
2104 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2106 2011-06-15 Ben Konrath <ben@bagu.org>
2108 Return an ArrayList of LayoutGroups for the Details layout.
2110 This corrects a problem with the details layout as it can have more
2111 than one top level LayoutGroup.
2113 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2114 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Change
2115 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return
2116 an ArrayList<LayoutGroup> in the get*DetailsLayout methods.
2117 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Deal
2118 with ArrayList of LayoutGroups for the details view layout.
2119 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2120 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return an
2121 ArrayList<LayoutGroup> in the get*DetailsLayout methods. Inline
2122 getTableFieldsToShowForSequence() into getFieldsToShowForSQLQuery() to simplify
2123 the code a bit. Rename getTableFieldsToShowForSequenceAddGroup() to
2124 getFieldsToShowForSQLQueryAddGroup() to try to keep things more consistent.
2126 2011-06-14 Ben Konrath <ben@bagu.org>
2128 Use cast_dynamic method to determine the libglom LayoutItem type.
2130 This is better than finding the LayoutItem type by using the string
2131 returned from the get_part_type_name() method.
2133 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2135 2011-06-14 Ben Konrath <ben@bagu.org>
2137 Add method names to log entries in the servlet.
2139 This helps when tracking down deployment problems.
2141 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2143 2011-06-14 Ben Konrath <ben@bagu.org>
2145 Add data to the DetailsView using a hard-coded primary key value.
2147 The layout and functionality of the DetailsView is not complete. This
2148 is just a checkpoint so the patch doesn't get too big.
2150 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2151 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2152 Add getDetailsData() servlet method.
2153 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2154 Add RPC to getDetailsData(). Change the way the LayoutGroups and
2155 LayoutFields are added to the DetailsView.
2156 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2157 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2158 Add setData() method. Change addLayoutGroup() and addLayoutField() to
2159 take the string for the title instead of the object.
2160 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2161 Add implementation getDetailsData() along with some private helper
2163 * src/main/webapp/style.css: Add padding to details-data class. Add a
2164 details-label class with the same padding as the details-data class.
2166 2011-06-03 Ben Konrath <ben@bagu.org>
2168 Use presenter.goTo() to change to the DetailsPlace.
2170 This will make things easier when we need to open the DetailsView with
2171 data specific to the row that was clicked.
2173 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2175 2011-06-02 Ben Konrath <ben@bagu.org>
2177 Add CSS file from mockups.
2179 I'm adding this now because it's going to be useful to have when
2180 developing the DetailsView. The TableSelectionView and ListView aren't
2183 * src/main/webapp/OnlineGlom.html:
2184 * src/main/webapp/style.css:
2186 2011-06-02 Ben Konrath <ben@bagu.org>
2188 Use String.isEmpty() to check for empty string.
2190 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2192 2011-06-02 Ben Konrath <ben@bagu.org>
2194 Display main layout group titles in the DetailsView.
2196 This is the start of the DetailsActivity/DetailsView implementation.
2198 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2199 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2200 Add getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup() methods.
2201 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2202 Get the layout information for the details view from the server and set
2203 the main layout group titles.
2204 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2205 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2206 Add addLayoutGroup() and addLayoutField() methods. This are just
2207 temporary methods for creating the the details view that will change
2209 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2210 Implement getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup()
2212 * src/main/java/org/glom/web/shared/layout/Formatting.java:
2213 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2214 * src/main/java/org/glom/web/shared/layout/LayoutItem.java:
2215 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java:
2216 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2217 Data Transfer Objects that mimic the libglom object structure. These are
2218 used for transferring the details layout but could also be used for
2219 transferring the list layout.
2221 2011-05-27 Ben Konrath <ben@bagu.org>
2223 Reset the AuthenticationPopup when clearing the ListView.
2225 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2227 2011-05-27 Ben Konrath <ben@bagu.org>
2229 Fix problem with onlineglom.properties file loading.
2231 The old way worked in Eclipse but not on the server. Loading the
2232 onlineglom.properties file now works in Eclipse and on the server.
2234 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2236 2011-05-24 Ben Konrath <ben@bagu.org>
2238 Update gwt-log from 3.1.0 to 3.1.2.
2240 Gwt-log 3.1.0 has been marked as depreciated.
2244 2011-05-24 Ben Konrath <ben@bagu.org>
2246 Add comment to ListActivity.goTo() method.
2248 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2250 2011-05-24 Ben Konrath <ben@bagu.org>
2252 Remove FIXME in convertGdkColorToHtmlColour()
2254 The Gdk::Color value returned by libglom is 16-bits per channel on both
2255 64 and 32-bit platforms.
2257 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2259 2011-05-19 Ben Konrath <ben@bagu.org>
2261 Improve performance of initial ListView load.
2263 I removed a round trip to the server for getting the default table name
2264 and then requesting information about that table. This also removes a potential
2265 problem with the table change handler not being setup in time to receive the
2266 table change event from the ListActivity.
2268 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2269 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2270 getDefaultLayoutListTable() method. Improve comments.
2271 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use
2272 getDefaultLayoutListTable() method instead of firing a table change
2273 event to get the table to load.
2274 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2275 implementation of getDefaultLayoutListTable() method.
2276 * src/main/java/org/glom/web/shared/LayoutListTable.java: Add field for
2279 2011-05-19 Ben Konrath <ben@bagu.org>
2281 Override toDebugString() in TableChangeEvent.
2283 This is useful to have for debugging.
2285 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2287 2011-05-19 Ben Konrath <ben@bagu.org>
2289 Add a "Back to List" link when at the DetailsPlace.
2291 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2292 Populate the CellTable based on the selected table of the ListBox if
2293 it's set otherwise use the default table. This allows the "Back to
2295 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2296 Remove Place from constructors. Add a setPlace() method. Add
2297 goToPlace() method. Set class as presenter for TableSelectionView.
2298 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2299 Use the same TableSelectionActivity when switching between the List and
2301 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2302 Subclass the new HasSelectableTablePlace. This removes some duplicate
2304 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2305 New class to represent Places that display the TableSelectionView.
2306 * src/main/java/org/glom/web/client/place/ListPlace.java:
2307 Subclass the new HasSelectableTablePlace. This removes some duplicate
2309 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2310 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2311 Add Presenter interface. Add setBackLinkVisible() method. Add
2312 setBackLink() method.
2314 2011-05-18 Ben Konrath <ben@bagu.org>
2316 Enable the "Details" buttons.
2318 Right now only an empty details view is displayed.
2320 * src/main/java/org/glom/web/client/ClientFactory.java:
2321 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2322 Add DetailsView to ClientFactory.
2323 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2324 A basic activity for the details view.
2325 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2326 Add a new constructor that takes a DetailsPlace. Rename shutdown() to
2328 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2329 Add DetailsPlace.Tokenizer to the list of tokens that are generated by
2331 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2332 Create a new DetailsActivity when a DetailsPlace is requested. Remove
2333 unnecessary super() in constructor.
2334 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2335 Create a new TableSelectionActivity when a DetailsPlace is requested. We
2336 really shouldn't create a new TableSelectionActivity for both the ListPlace
2337 and the DetailsPlace so this should be considered a temporary solution.
2338 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2339 New file. Represents a URL for the details view.
2340 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2341 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2342 A basic details view interface and implementation.
2343 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2344 Enable the "Details" buttons.
2346 2011-05-12 Ben Konrath <ben@bagu.org>
2348 Use a LayoutPanel with multiple display areas for main layout.
2350 This is mostly a refactor in that there are no changes from the user
2351 point of view. These changes are required so that we can swap out the list view
2352 with the details view when the user clicks the "Details" button.
2354 * src/main/java/org/glom/web/client/ClientFactory.java:
2355 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2356 OnlineGlomView. Add TableSelectionView, ListView and
2357 AuthenticationPopup.
2358 * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
2359 for main layout. Add display regions for main activities. Add
2360 activity manager for for main activities.
2361 * src/main/java/org/glom/web/client/activity/ListActivity.java: New
2362 file from parts of the deleted OnlineGlomActivity.
2363 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2364 New file from parts of the deleted OnlineGlomActivity.
2365 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2366 * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
2367 New files for app wide table change event.
2368 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2369 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
2370 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2371 Activity mappers for the main activities replace the deleted app-wide
2373 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
2374 Fix a spelling error in he comment.
2375 * src/main/java/org/glom/web/client/ui/ListView.java:
2376 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2377 Renamed from LayoutListView and modified for MVP. This still not a
2378 proper dumb view as prescribed by the MVP pattern but it works for now.
2379 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2380 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2381 New widget stripped out of the deleted OnlineGlomView.
2382 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2383 Remove hack that is fixed by this patch.
2385 2011-05-06 Ben Konrath <ben@bagu.org>
2387 Rename OnlineGlomPlace to ListPlace.
2389 The only change besides the rename is that url will now display #list
2390 instead of #Document.
2392 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2393 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
2394 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2395 * src/main/java/org/glom/web/client/place/ListPlace.java:
2396 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2398 2011-05-06 Ben Konrath <ben@bagu.org>
2400 Use Presenter for app navigation.
2402 This is the proper way to deal with Place (URL) changes with the MVP
2405 * src/main/java/org/glom/web/client/ClientFactory.java:
2406 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2407 PlaceHistoryMapper and PlaceHistoryHandler.
2408 * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
2409 PlaceHistoryMapper and PlaceHistoryHandler.
2410 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2411 Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
2412 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2413 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2414 Add Presenter interface and setPresenter methods. Rename addHyperLink
2415 to addDocumentLink taking only the document title as a parameter.
2417 2011-04-14 Ben Konrath <ben@bagu.org>
2419 Prompt for db username/password if they haven't been set.
2421 This is implemented with a popup widget that is contained within the
2422 OnlineGlomView and managed by the OnlineGlomActivity.
2424 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
2425 methods for checking and setting the database username and password.
2426 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
2427 new methods for checking and setting the database username and
2429 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2430 Display authentication popup if the JDBC connection to the database
2431 has not been authenticated.
2432 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
2434 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
2435 for dealing with the authentication popup.
2436 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
2437 Implement the methods for dealing with the authentication popup.
2438 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
2439 try to executed queries if the database connection hasn't been
2440 authenticated. Implement methods for checking and setting the
2441 database username and password.
2443 2011-04-12 Ben Konrath <ben@bagu.org>
2445 Make log messages a little clearer.
2447 Add a dash betweeen the document title and the table name.
2449 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2451 2011-04-12 Ben Konrath <ben@bagu.org>
2453 Protect against NPEs when cleaning up database resources.
2455 While this isn't strictly necessary because the exception is caught,
2456 not protecting against the NPEs makes it harder to find the real error
2459 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2461 2011-04-12 Ben Konrath <ben@bagu.org>
2463 Move configuration of the servlet to the constructor.
2465 The servlet will be initialized even if the database authentication
2466 information is not set or correct. I still need to add the UI for prompting
2467 the user for the authentication information when it's required.
2469 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
2470 javadocs for getDocumentTitles() method.
2471 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2472 Set error message when RPC fails.
2473 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
2474 glom files directory from the configuration file. Try to set the
2475 database authentication information for the specific document if it's
2476 set and works otherwise try to use the global authentication
2477 information set for the directory.
2478 * src/main/resources/onlineglom.properties: Moved from
2479 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
2480 Added detailed comments for the new keys.
2482 2011-04-11 Ben Konrath <ben@bagu.org>
2484 Remove unnecessary @Override in DocumentSelectionViewImpl.
2486 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2488 2011-04-11 Ben Konrath <ben@bagu.org>
2490 Remove center alignment in DocumentSelectionView.
2492 The title element is still centred but the document titles and bottom
2493 sentence are both left-aligned.
2495 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
2497 2011-04-11 Ben Konrath <ben@bagu.org>
2499 Change 'Demo' naming convention to 'Document'.
2501 This is just a rename refactor with no functional changes to the code.
2503 * src/main/java/org/glom/web/client/ClientFactory.java:
2504 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2505 * src/main/java/org/glom/web/client/OnlineGlom.java:
2506 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2507 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2508 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2509 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
2510 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2511 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
2512 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2513 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2514 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
2515 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2517 2011-04-08 Ben Konrath <ben@bagu.org>
2519 Remove FIXME from safeLongToInt() method.
2521 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
2524 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2526 2011-04-08 Ben Konrath <ben@bagu.org>
2528 Display an error if no glom documents are found in the specified directory.
2530 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2531 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
2532 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
2533 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2535 2011-04-08 Ben Konrath <ben@bagu.org>
2537 Add copyright header to one more file ... oops.
2539 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2541 2011-04-08 Ben Konrath <ben@bagu.org>
2543 Add copyright header to files without it.
2545 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2546 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
2547 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
2548 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
2549 * src/main/java/org/glom/web/shared/ColumnInfo.java:
2550 * src/main/java/org/glom/web/shared/GlomField.java:
2552 2011-04-08 Ben Konrath <ben@bagu.org>
2554 Add support for accessing multiple glom documents in the servlet.
2556 This completes the demo selection functionality.
2558 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
2559 document title to methods.
2560 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2561 document title to methods.
2562 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2563 Set browser window title when the activity starts. Correct name of
2564 document title variable.
2565 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2566 Set browser window title when the activity starts. Set the table
2567 selector change handler after table selector has been set. Clear the
2568 OnlineGlomView when the activity has been stopped.
2569 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
2570 document title as the place token. Use "#Document:" instead of
2571 "#OnlineGlomPlace:" in the URL.
2572 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
2573 Change heading to "Online Glom"
2574 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
2575 document title in RPC methods.
2576 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
2577 setDocumentTitle() method. Add clear() method.
2578 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
2579 setDocumentTitle() method. Implement clear() method which removes the
2580 change handler on the ListBox, clears the ListBox and clears the
2582 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2583 Implement methods with document title. Keep track for the configured
2584 glom documents and their corresponding JDBC configurations in a hash
2585 table. This information is retrieved using the document title as the
2586 key in the hash table.
2587 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
2588 document title field as it's no longer needed.
2590 2011-04-08 Ben Konrath <ben@bagu.org>
2592 Update the Eclipse JDT configuration.
2594 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
2595 methods. Automatically add the copyright header to new files.
2597 2011-04-05 Ben Konrath <ben@bagu.org>
2599 Add new page for demo selection.
2601 This patch adds all the components required to view and start an
2602 OnlineGlom demo by clicking on the desired hyperlink. The user is
2603 able to return to the demo selection page with the browser's back
2604 button. I still need to modify the servlet to work with multiple
2605 documents so all demo links will load the file defined in the
2606 OnlineGlom.properties.
2608 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
2609 This is only useful during development so we don't need to save it.
2610 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
2611 get a reference to the DemoSelectionView.
2612 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
2613 method to get a reference to the DemoSelectionView.
2614 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
2615 default view to DemoSelectionView.
2616 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
2617 to get glom document titles for glom files in a hard-coded directory.
2618 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2619 method to get glom document titles for glom files in a hard-coded
2621 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2622 Presenter for DemoSelectionView.
2623 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
2624 for DemoSelectionView.
2625 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2626 Update for DemoSelectionView.
2627 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
2628 Basic 'Place' implementation for the DemoSelectionView.
2629 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
2630 The interface for the DemoSelectionView.
2631 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
2632 The implementation of the DemoSelectionView.
2633 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
2634 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
2635 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2636 implementation of method to get glom document titles for glom files
2637 in a hard-coded directory.
2638 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
2639 on longer being used.
2640 * src/main/webapp/glom.png: Glom logo.
2642 2011-04-05 Ben Konrath <ben@bagu.org>
2644 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
2646 This is the forth and final commit of a refactor that will allow
2647 OnlineGlom to be used with multiple documents.
2649 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2650 Move RPC code from OnlineGlomViewImpl to this class.
2651 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
2653 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
2654 RPC code to the presenter class (the P in MVP).
2656 2011-04-04 Ben Konrath <ben@bagu.org>
2658 Start moving the existing OnlineGlom code to MVP.
2660 This work is based on the GWT MVP framework that is documented here:
2662 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
2664 This is the third commit of a refactor that will allow OnlineGlom to
2665 be used with multiple documents.
2667 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
2668 Interface for client factory which is used to get instances of various
2669 classes throughout the app.
2670 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
2671 Implementation of client factory.
2672 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
2673 initialize the MVP framework.
2674 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2675 New file. Activity manager for the main container widget. This is the
2677 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
2678 Maps place (URL) to its corresponding activity.
2679 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2680 New file. This is just a place holder for a generated file.
2681 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
2682 New file. Represents the URL for the main Online Glom app.
2683 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
2684 for changes in LayoutListViewImpl.
2685 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
2686 interface for View. Move code to OnlineGlomViewImpl class.
2687 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
2688 file. Implementation of OnlineGlomView.
2689 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
2690 Place resources. Use ClientFactoryImpl by default.
2692 2011-04-04 Ben Konrath <ben@bagu.org>
2694 Move View classes to their own package.
2696 This is the second commit of a refactor that will allow OnlineGlom to
2697 be used with multiple documents.
2699 * src/main/java/org/glom/web/client/OnlineGlom.java:
2700 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
2701 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
2703 2011-04-02 Ben Konrath <ben@bagu.org>
2705 Move UI code from the main module to its own class.
2707 This is the first commit of a refactor that will allow OnlineGlom to be
2708 used with multiple documents.
2710 * src/main/java/org/glom/web/client/LayoutListView.java: Update
2711 references to OnlineGlom to OnlineGlomView.
2712 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
2713 OnlineGlomView and instantiate it here.
2714 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
2715 represents the main OnlineGlomView with one document.
2717 2011-04-01 Ben Konrath <ben@bagu.org>
2719 Fix formatting of gwt.xml and add DTD.
2721 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
2723 2011-03-30 Ben Konrath <ben@bagu.org>
2725 Propperly convert gdkColor string to html colour string.
2727 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2729 2011-03-28 Ben Konrath <ben@bagu.org>
2731 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
2733 This implementation matches
2734 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
2735 readable and is not tied to Swig.
2737 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2739 2011-03-28 Ben Konrath <ben@bagu.org>
2741 Use read-only checkboxes for boolean field types.
2743 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
2744 in the CellTable based on the field type. It currently only
2745 distinguishes between boolean and text columns but I'll need to add
2746 support for more types.
2747 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
2748 column type in the ColumnInfo object. Add method to convert between the
2749 glom field type enum in ColumnInfo and the glom field type in libglom.
2750 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
2752 * src/main/java/org/glom/web/shared/GlomField.java: Add support for
2753 getting and setting booleans.
2755 2011-03-25 Ben Konrath <ben@bagu.org>
2757 Don't get the Date twice from the ResultSet.
2759 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2761 2011-03-25 Ben Konrath <ben@bagu.org>
2763 Cleanup code in the servlet.
2765 * TODO: Remove item about row count. Add item about testing row count
2766 query with large number of rows.
2767 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
2768 spelling mistakes, change method parameter to be consistent with
2771 2011-03-25 Ben Konrath <ben@bagu.org>
2773 Add server side logging with the gwt-log library.
2775 * .gitignore: Ignore the log file we're now producing.
2776 * TODO: Add a couple TODO item for logging.
2777 * pom.xml: Add gwt-log and log4j as a dependency.
2778 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2779 logging of errors, warnings and some important info.
2780 * src/main/resources/log4j.properties: New file to configure log4j.
2782 2011-03-24 Ben Konrath <ben@bagu.org>
2784 Add a disable button for the Details view.
2786 * src/main/java/org/glom/web/client/LayoutListView.java:
2788 2011-03-22 Ben Konrath <ben@bagu.org>
2790 Use a count query to get the number of rows for the list view pager.
2792 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2794 2011-03-22 Ben Konrath <ben@bagu.org>
2796 Add more TODO information about CellTable pager positioning.
2800 2011-03-19 Ben Konrath <ben@bagu.org>
2802 Add TODO item about CellTable pager positioning.
2806 2011-03-18 Ben Konrath <ben@bagu.org>
2808 Remove unneeded GlomFieldColumn class.
2810 This is just a small code cleanup.
2812 * src/main/java/org/glom/web/client/LayoutListView.java:
2814 2011-03-18 Ben Konrath <ben@bagu.org>
2816 Use cursor mode in the query that gets data for the list view.
2818 I still need to fix the potential memory problem when getting the row
2819 count for the list view.
2821 * TODO: Add note about testing memory usage with large data sets. Add
2822 item about fixing row counting with large data sets.
2823 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
2824 PostgreSQL JDBC driver into cursor mode when getting data for the
2827 2011-03-15 Ben Konrath <ben@bagu.org>
2829 Remove the GWT Container from the Eclipse build classpath.
2831 The GWT dependencies are set by Maven so this isn't needed.
2835 2011-03-15 Murray Cumming <murrayc@murrayc.com>
2837 Added some earlier mockups to git, but not to the tarball dist.
2839 * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
2840 Openismus. These hopefully show how we might structure the HTML so that
2841 it can be styled easily with CSS. However, we probably need to adapt them
2842 for the CSS structure that GWT dictates for common widgets.
2844 2011-03-14 Ben Konrath <ben@bagu.org>
2846 Locate OnlineGlom.properties using the ServletContext.
2848 This is required to be able to locate the file in the deployed servlet.
2850 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2851 Configure the database and glom document in in a helper method so
2852 that the ServletContext can be used to locate OnlineGlom.properties.
2853 * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
2854 src/main/webapp. This is the proper location for .properites files.
2856 2011-03-12 Ben Konrath <ben@bagu.org>
2858 Add note to README about why we're compiling down to obfuscated JavaScript.
2862 2011-03-11 Ben Konrath <ben@bagu.org>
2864 Use properties file to configure servlet.
2866 This allows people to change the glom file path, db username and db
2867 password without recompiling the code.
2869 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2870 * src/main/webapp/OnlineGlom.properties:
2872 2011-03-11 Ben Konrath <ben@bagu.org>
2874 Use table fields in layout list view if the layout list is not defined.
2876 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2877 Manually create a LayoutFieldVector for the query builder using the
2878 table fields when a layout list is not defined in the glom file.
2880 2011-03-11 Ben Konrath <ben@bagu.org>
2882 Only show FIXME string for images when there's an image.
2884 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
2885 in this change are some small code cleanups.
2887 2011-03-11 Ben Konrath <ben@bagu.org>
2889 Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
2891 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2893 2011-03-11 Ben Konrath <ben@bagu.org>
2895 Correctly set the index of the default table.
2897 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2898 Correctly set the index of the default table. Add commented out example
2901 2011-03-10 Ben Konrath <ben@bagu.org>
2903 Add comment to pom.xml about the previous change.
2905 * pom.xml: Add comment about the deployment issue so that it's obvious
2906 why java-libglom is set to the provided scope.
2908 2011-03-10 Ben Konrath <ben@bagu.org>
2910 Change java-libglom dependency from compile to provided in pom.xml.
2912 Since java-libglom uses jni it can only be loaded once and therefore
2913 must be placed in $CATALINA_HOME/lib and not included in each war.
2914 This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
2915 More information about this issue can be found in the Tomcat 6 release
2916 notes in the "JNI Based Applications" section:
2918 http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
2920 * README: Remove note about this issue. Deployment info should really
2921 be on the wiki anyway so I'll add it right now.
2922 * pom.xml: Change java-libglom dependency from compile to provided so
2923 that it's copied in to the packaged war.
2925 2011-03-09 Ben Konrath <ben@bagu.org>
2927 Change to using a neutral locale for currency, date and time formatting.
2929 This solves the problem of currency values being represented without a
2930 space between the currency code and the number (e.g. "EUR5.89" is now
2931 represented as "EUR 5.89"). More work is required when we implement
2932 a locale preference setting.
2934 * TODO: Add note about currency formatting issues with different
2936 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2937 to using the neutral ROOT locale.
2939 2011-03-09 Ben Konrath <ben@bagu.org>
2941 Add support for currency codes that are not ISO 4217 codes.
2943 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
2944 the currency code defined in the glom file when it's not 3 characters
2945 long or when Java doesn't recognize the string as an ISO 4217 code.
2947 2011-03-08 Ben Konrath <ben@bagu.org>
2949 Remove test classes, launch configurations and configuration.
2951 The test stuff was getting in the way when creating the war. To make
2952 the war file you can now do 'mvn clean package'. The packaged war file
2953 will be in the target directory.
2955 * .classpath: Remove unused classpathentry for tests and i18n.
2956 * pom.xml: Remove junit.jar dependency. Properly use gwt.version
2957 property. Don't run test or i18n goals when packaging the war.
2958 * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
2963 * OnlineGlomTest-dev.launch:
2964 * OnlineGlomTest-prod.launch:
2965 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
2966 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
2968 2011-03-07 Ben Konrath <ben@bagu.org>
2970 Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
2972 These fixes allow me to use 'mvn deploy' to create the war file.
2974 * .classpath: This generated config has been updated by Eclipse. This
2975 change was probably triggered by me updating from Eclipse 3.6.1 to
2977 * .gitignore: Add entry to ignore the directory
2978 src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
2979 * .project: The generated config has been updated by Eclipse. This
2980 change was probably triggered by me updating from Eclipse 3.6.1 to
2982 * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
2983 so that Eclipse doesn't complain
2984 * pom.xml: Update to gwt-maven-plugin 2.2.0.
2985 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
2986 'tests' directory to 'client' directory. This is the new
2987 gwt-maven-plugin convension.
2988 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
2989 refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
2991 2011-03-07 Ben Konrath <ben@bagu.org>
2993 Add support for horizontal alignment in the LayoutList columns.
2995 * TODO: Remove item about horizontal alignment. Add item about
2996 improvements to ColumnInfo.
2997 * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
2998 alignment on the columns. Use ColumnInfo RPC object get the column
2999 title and horizontal alignment.
3000 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
3001 LayoutListView creation with ColumnInfo RPC object.
3002 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
3003 a ColumnInfo object for every LayoutList columnn. Convert the
3004 FieldFormatting.HorizontalAlignment to the correct
3005 ColumnnInfo.HorizontatlAlignment with the new
3006 getColumnInfoHorizontalAlignment helper method.
3007 * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
3008 to encapsulate column information like alignment and title. This
3009 could be used to set the colour instead of on a per cell field basis.
3010 * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
3011 column title storage and retrieval with ColumnInfo.
3013 2011-03-04 Ben Konrath <ben@bagu.org>
3015 Add support for column sorting.
3017 * src/main/java/org/glom/web/client/LayoutListView.java: Change
3018 AsynDataProvider to be an anonymous inner class. Use new
3019 getSortedTableData RPC method when column sort is requested. Set all
3020 columns sortable and add an AsyncHandler to activate sorting in the
3022 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
3023 method getSortedTableData(). Cleanup other method signatures.
3024 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
3025 new method getSortedTableData(). Cleanup other method signatures.
3026 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3027 Implement getSortedTableData() and getTableData() methods by using a
3028 private helper method with the appropriate parameters filled in. Use
3029 user supplied sort clause when supplied, otherwise fall back to
3030 sorting by the primary key. Move destroy() method to be underneath
3031 constructor for readability. Cleanup comments.
3033 2011-03-03 Ben Konrath <ben@bagu.org>
3035 Add support for colour text and colour backgrounds to the layout list cells.
3037 Only the cell backgrounds are coloured which leaves a gap between the
3038 cells that isn't coloured. I need to figure out a way to set
3039 'style=background-colour:' on the whole column rather than just the
3042 * TODO: Add a note about colouring the background of the whole column.
3043 * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
3044 column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
3045 render the coloured text and backgrounds. Use GlomField[] for the row type.
3046 * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
3048 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
3049 GlomField[] for the row type.
3050 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
3051 GlomField[] for the row type. Set the text, text colour and background
3052 colour in the GlomField objects as specified in the glom document. Add
3053 method to convert from Gdk::Color to HTML colour string. Cleanup comments.
3054 * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
3055 the glom field text, foreground colour and background colour.
3057 2011-03-02 Ben Konrath <ben@bagu.org>
3059 Don't display hidden tables in the combo box.
3061 * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
3063 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
3064 code to ignore hidden tables using ArrayLists for the table names and
3066 * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
3067 tableNames to use ArrayLists instead of String[]. Update getter and setter
3070 2011-03-01 Ben Konrath <ben@bagu.org>
3072 Add support for Date and Time number types.
3074 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3075 Implement formatting for Date and Time values. Change the default glom
3076 file to small business example.
3078 2011-03-01 Ben Konrath <ben@bagu.org>
3080 Add support for formatting glom types as specified in the glom file.
3082 Formatting isn't finished yet - I still need to add support for Date
3085 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
3086 formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
3087 checks for null values in JDBC cleanup code and catch all exceptions
3088 instead of just SQLExceptions.
3089 * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
3092 2011-03-01 Ben Konrath <ben@bagu.org>
3094 Use GWT 2.2.0 instead of 2.1.1.
3096 * pom.xml: Change GWT version numbers.
3098 2011-03-01 Ben Konrath <ben@bagu.org>
3100 A few small code cleanups.
3102 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
3104 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
3105 unnecessary object creation in constructor.
3106 * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
3107 unnecessary object creation in constructor.
3109 2011-02-28 Ben Konrath <ben@bagu.org>
3111 Add file for TODO list.
3115 2011-02-18 Ben Konrath <ben@bagu.org>
3117 Enable the CellTable Pager when more than 20 rows need to be viewed.
3119 The Pager will automatically become active when the results are larger
3120 than the CellTable size which is currently set to 20 lines.
3122 * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
3123 name on debug statment in RPC call in LayoutListDataProvider, add
3124 numRows parameter to LayoutListView constructor, propperly set rowCount
3126 * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
3127 name on debug statment in RPC call, use LayoutListTable object in RPC
3128 calls, pass rowCount to LayoutListView.
3129 * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
3130 getLayoutListHeaders to getLayoutListTable and return LayoutListTable
3132 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
3133 interface for changes in OnlineGlomService.
3134 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
3135 getLayoutListHeaders() to getLayoutListTable() and return
3136 LayoutListTable. Using this object allows me to pass other information
3137 about the LayoutList like the expected number of rows in the result set.
3138 The Connection object from the connection pool is now propperly closed.
3139 Only the requested number of lines are returned to the client in
3141 * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
3142 GlomTable and add columnTitles and numRows.
3144 2011-02-18 Ben Konrath <ben@bagu.org>
3146 Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
3148 This is a small performance boost. I'll use GlomTable to get the required
3149 layoutlist information.
3151 * src/main/java/org/glom/web/client/OnlineGlom.java:
3152 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3153 * src/main/java/org/glom/web/shared/GlomDocument.java:
3155 2011-02-18 Ben Konrath <ben@bagu.org>
3157 Add option to turn off formatting in JDT formatter preferences.
3159 * .settings/org.eclipse.jdt.core.prefs:
3161 2011-02-18 Ben Konrath <ben@bagu.org>
3163 Rename LayoutList to LayoutListView.
3165 I'm working towards setting things up to easily use MVP when the time
3168 * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
3170 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
3173 2011-02-17 Ben Konrath <ben@bagu.org>
3175 Move LayoutListDataProvider class into LayoutList.java.
3177 * src/main/java/org/glom/web/client/LayoutList.java:
3179 2011-02-17 Ben Konrath <ben@bagu.org>
3181 Rename RPC service classes from LibGlomService* to OnlineGlomService*.
3183 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
3185 * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
3186 * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
3187 from LibGlomServer.java.
3188 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
3189 Rename from LibGlomServiceAsync.java.
3190 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3191 Rename from LibGlomServiceImpl.java.
3192 * src/main/webapp/WEB-INF/web.xml: Update configuration.
3194 2011-02-17 Ben Konrath <ben@bagu.org>
3196 Update JDT settings.
3198 * .settings/org.eclipse.jdt.core.prefs:
3200 2011-02-17 Ben Konrath <ben@bagu.org>
3202 Move GWT-RPC objects to shared package (where they should be).
3204 * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
3205 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
3206 * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
3207 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
3208 * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
3209 org.glom.web.shared package.
3210 * src/main/java/org/glom/web/shared/GlomTable.java: Move to
3211 org.glom.web.shared package.
3212 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
3213 directory in compilation to javascript.
3215 2011-02-16 Ben Konrath <ben@bagu.org>
3217 Add sort clause to the sql query that grabs table information.
3219 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
3220 if one of the columns is a primary key.
3222 2011-02-16 Ben Konrath <ben@bagu.org>
3224 Disable generateAsync feature of gwt-maven.
3226 The generated interface does not correctly match the methods in LibGlomService
3227 and the generated singleton Util inner-class doesn't respect the servlet
3230 * pom.xml: Turn off generateAsync feature.
3231 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
3232 with singleton Util inner-class.
3234 2011-02-14 Ben Konrath <ben@bagu.org>
3236 Add LGPL v3 licence notices.
3238 Followed directions listed here: