1 2012-01-17 Murray Cumming <murrayc@murrayc.com>
3 Documents: Remove final keyword to fix startup configuration.
5 * src/main/java/org/glom/web/shared/Documents.java: Remove the
6 final keywords on the private member variables because that breaks
7 the startup, apparently (there are warnings) because it stops them
8 from being serialized. I added these in the previous commit.
10 2012-01-13 Murray Cumming <murrayc@murrayc.com>
12 Documents: Add some final keywords.
14 * src/main/java/org/glom/web/shared/Documents.java: Eclipse suggested
17 2012-01-13 Murray Cumming <murrayc@murrayc.com>
19 OnlineGlomServiceImpl: Add to overview comments.
21 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
22 Note that this is where all the document are loaded. They are not
23 loaded freshly for each page.
25 2012-01-12 Murray Cumming <murrayc@murrayc.com>
29 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
30 Add a TextBox for the text of a quick find.
31 Add getQuickFindBox(), to get the widget, and getQuickFindText() to
33 setBackLink(): Add a String quickFind parameter.
34 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
35 (TableSelectionView): Add getQuickFindBox() and getQuickFindText()
36 to the base interface, because that is how TableSelectionViewImpl is used.
37 * src/main/webapp/style.css: Add style for the search box and its label.
39 * src/main/java/org/glom/web/client/event/QuickFindChangeEvent.java:
40 * src/main/java/org/glom/web/client/event/QuickFindChangeEventHandler.java:
41 Add these files, based on the existing TableChangeEvent and
42 TableChangeEventHandlers.
43 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
44 start(): Handle QuickFindChangeEvent, passing its quickFind text to
45 a ListPlace() that the user should be taken to.
46 * src/main/java/org/glom/web/client/activity/ListActivity.java
47 start(): Handle it here too and adapt the TableChangeEvent handler to
48 pass the extra "" quickFind parameter to ListPlace.
49 * src/main/java/org/glom/web/client/place/ListPlace.java:
50 Constructor: Take an extra String quickFind parameter and store it,
51 returning it from a new getQuickFind() method.
52 getToken(): Put the quickFind text in the URL token.
53 getPlace(): Parse the quickFind text from the URL token.
54 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
55 va: addDocumentLink(): Pass an extra "" quickFind parameter to the
56 ListPlace constructor.
57 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
58 .java: start(): Add a Change handler for the TableSelectionView's
59 TextBox (via its base HasChangeHandlers interface), firing the new
61 setPlace(): Adapt the call to TableSelectionView.setbackLink(), to
62 pass the extra "" quickFind parameter.
64 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
65 setCellTable(): Add a String quickFind parameter and pass it to
66 the ListViewTable() constructor.
67 * src/main/java/org/glom/web/client/ui/ListView.java: Change
68 setCellTable() in the base interface, because that is how ListViewImpl
71 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
72 Add a String quickFind member variable.
73 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
74 Constructor: Add a String quickFind parameter, storing it in the
75 base ListTable's member variable.
76 onRangeChanged(): Pass quickFind to the
77 OnlineGlomServiceAsync.getSortedListViewData() and
78 OnlineGlomServiceAsync.getListViewData() methods.
80 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
81 getListViewData(), getSortedListViewData(): Add a String quickFind
82 parameter, passing it to ConfiguredDocument.getListViewData().
83 * src/main/java/org/glom/web/client/OnlineGlomService.java:
84 Change getListViewData(), getSortedListViewData() in the base interface,
85 because that is how OnlineGlomServiceImpl is used, via this:
86 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
87 Change getListViewData(), getSortedListViewData() here too.
88 This class can apparently be used to asynchronously call methods on
89 OnlineGlomService, and GWT seems to implement that after recognizing
90 just the *Async name convention and the extra AsyncCallback parameters.
92 * src/main/java/org/glom/web/server/ConfiguredDocument.java
93 getListViewData(): Add a String quickFind parameter, and pass it to
94 ListViewDBAccess.getData().
95 * src/main/java/org/glom/web/server/database/ListDBAccess.java
96 getListData(): Add a String quickFind parameter and pass it to
98 getSelectQuery(): Add a String quickFind parameter.
99 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java
100 getSelectQuery(): Add a String quickFind parameter and use it with
101 Glom.get_find_where_clause_quick() to pass a where_clause to
102 Glom.build_sql_select_with_where_clause(), to actually filter the
104 getData(): Add a String quickFind parameter, passing it to getListData().
105 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.ja
106 va: getData(): Pass an empty string to getListData() for the
109 2012-01-12 Murray Cumming <murrayc@murrayc.com>
111 ListTable: Minor change.
113 * src/main/java/org/glom/web/client/ui/list/ListTable.java
114 createCellTable(): Make this protected instead of public.
116 2012-01-12 Murray Cumming <murrayc@murrayc.com>
118 Many files: Use final for the parameters and use the @override attribute.
120 2012-01-22 Ben Konrath <ben@bagu.org>
122 Add anchor links for single line text that starts with http, ftp and www.
126 2012-01-22 Ben Konrath <ben@bagu.org>
128 Add ellipsis to single line text in details view.
132 2012-01-04 Murray Cumming <murrayc@murrayc.com>
134 Remove all javadoc author tags.
136 Because they are awkward and meaningless when many people touch
138 See https://gitorious.org/online-glom/gwt-glom/commit/7628b732cb90cbc6d5635420a75568504e8b3655#comment_81164
140 2012-01-04 Murray Cumming <murrayc@murrayc.com>
142 Revert the COPYING.LESSER to COPYING rename.
144 Apparently both should be there if it is LGPL.
146 2012-01-03 Murray Cumming <murrayc@murrayc.com>
148 *View: Remove unused imports.
150 * src/main/java/org/glom/web/client/ui/DetailsView.java:
151 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java
152 * src/main/java/org/glom/web/client/ui/ListView.java:
153 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
154 Remove unused imports, as suggested by Eclipse.
156 2012-01-02 Murray Cumming <murrayc@murrayc.com>
158 Move the *View::Presenter types, and some API into one base View.
160 * src/main/java/org/glom/web/client/ui/DetailsView.java:
161 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
162 * src/main/java/org/glom/web/client/ui/ListView.java:
163 * src/main/java/org/glom/web/client/ui/TableSelectionView.java: Move
164 Presenter, setPresenter() and clear() into a shared base interface,
165 to avoid the unnecessary duplicate Presenter types and to more clearly
166 show how the *Views share the same structure, even if they are not
167 used polymorphically.
169 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
170 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
172 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
173 * src/main/java/org/glom/web/client/activity/ListActivity.java:
174 * src/main/java/org/glom/web/client/activity/DocumentSelectionActiv
176 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
179 Feel free to revert this if there is a good reason for the duplicate
182 2012-01-02 Murray Cumming <murrayc@murrayc.com>
184 OnlineGlom: Make clientFactory a (protected) member, and test it a bit.
186 * src/main/java/org/glom/web/client/OnlineGlom.java: Make clientFactory
187 a class member instead of a local variable in the method.
188 This lets us use it to get the view instances, for use in tests.
189 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
190 beforeOnlineGlom(): Test some more details of the initial view.
191 Again, this is not very useful.
193 To really test gwt-glom we will need to start a local postgresql
194 instance with local data, like the Glom tests in C++.
196 2012-01-02 Murray Cumming <murrayc@murrayc.com>
198 pom.xml: Mention the LGPL license.
200 * pom.xml: Add a licenses section.
201 * COPYING.LESSER: Move this to COPYING, which
202 previously contained the GPL. But gwt-glom is all LGPL.
204 2012-01-02 Murray Cumming <murrayc@murrayc.com>
206 Add project information to README and pom.xml.
208 * README: Add a brief description and mention some mvn
210 * pom.xml: This extra information shows up in mvn site
213 2011-01-02 Murray Cumming <murrayc@murrayc.com>
215 Use the latest java-libglom version.
217 * pom.xml: Use java-libglom 1.19.2 instead of 1.19.1.
219 2012-01-01 Murray Cumming <murrayc@murrayc.com>
221 GwtTestOnlineGlom: Test a little more.
223 * src/main/java/org/glom/web/client/OnlineGlom.java: Make the panels
224 protected rather than private, as suggested by the gwt-test-utils
226 http://stackoverflow.com/questions/7931724/gwt-testcase-simulating-clicking-a-button-on-my-page
227 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java
228 Test the initial visibility of the panels.
230 However, this is not a very useful test.
231 And I wonder how we should generally test using this idea for an
232 activity/places app like ours where the real changes happen implicitly
233 based on the history token/URL.
235 2012-01-01 Murray Cumming <murrayc@murrayc.com>
237 Slight modification to *Mapper comments.
239 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java
241 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMa
243 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMappe
245 Remove comments mentioning GIN because they are just copied from
246 the example code and are apparently not helpful:
247 http://groups.google.com/group/google-web-toolkit/msg/82f0098b20669a73
248 Also change the mention of a class that is only in the example code.
250 2012-01-01 Murray Cumming <murrayc@murrayc.com>
252 GwtTestOnlineGlom test: Minor changes.
254 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
255 Avoid the long qualified class name and modify the comment
256 because it is now obvious to me that the mocked class is the only
257 custom one created via GWT.create().
259 2012-01-01 Murray Cumming <murrayc@murrayc.com>
261 Tests: Added the beginnings of a test using gwt-test-utils.
263 * pom.xml: Add dependencies on gwt-test-utils and easymock.
264 * src/test/resources/META-INF/gwt-test-utils.properties: Add this file
265 which tells gwt-test-utils what class will be tested.
266 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
267 Add a simple (but empty) test case. One class, used by the OnlineGlom
268 class, is mocked so that it can be created. However, I am not sure
269 why only this class needs to be mocked.
271 Note that mockito seems more popular, and clearer, than easymock,
272 but I have not got that working yet. It might be a matter of the
275 This test is run during mvn integration-test.
277 2011-12-31 Murray Cumming <murrayc@murrayc.com>
279 Tests: Use junit4-style syntax instead of junit3-style.
281 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
282 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
283 * src/test/java/org/glom/web/shared/DataItemTest.java:
284 Use the @Test annotation rather than relying on the test*() prefix.
285 Also no longer implement TestCase, to avoid triggering support for
286 the junit3-way, which stops the annotations from working.
287 Change the imports from import junit.framework.* to
288 import org.junit.*, which is apparently the new way.
290 2011-12-31 Murray Cumming <murrayc@murrayc.com>
292 Added a test for ListPlace token parsing and creation.
294 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
295 This is much the same as DetailsPlaceTest.
297 I wonder how we could test the other parts of the *Place API.
299 2011-12-30 Murray Cumming <murrayc@murrayc.com>
301 DetailsPlace test: Also test getToken() and recreation via getPlace().
303 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
304 testGetPlaceParameters(): Get the tokens from the DetailsPlace and
305 recreate it, testing the recreated DetailsPlace for the same parameter
308 2011-12-30 Murray Cumming <murrayc@murrayc.com>
310 Use the surefire-report plugin.
312 * pom.xml: This generates a HTML report about the tests in
313 target/site/surefire-report.html
314 when you do mvn surefire-report:report. It seems to be popular/normal.
316 2011-12-30 Murray Cumming <murrayc@murrayc.com>
318 Added a test for DetailsPlace.
320 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
321 Test the getPlace() token parsing.
323 2011-12-30 Murray Cumming <murrayc@murrayc.com>
325 Added a first unit test.
327 * pom.xml: Add a test goal, and a dependency on junit in that scope.
328 * src/test/java/org/glom/web/shared/DataItemTest.java:
329 This is a silly test but it is just to get things started. Note that
330 maven/junit finds the test because it looks in src/test by default.
332 2011-12-22 Ben Konrath <ben@bagu.org>
334 Change charsetName to "UTF-8" when replacing line breaks.
336 JavaScript requires the charsetName to be "UTF-8". CharsetName values
337 that work in Java (such as "UTF8") will not work when compiled to
340 This fixes a problem with multi-line details view fields that have hard
341 line breaks. The "License Text" field on this page demonstrates the
344 http://onlineglom.openismus.com/OnlineGlom/#details:document=debian_repository_analyzer&table=licenses&value=197
346 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
348 2011-12-22 Ben Konrath <ben@bagu.org>
350 Fix another bug with related list navigation.
352 I've tested all the navigation buttons in all of the related lists
353 so things should be good now.
355 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
357 2011-12-22 Ben Konrath <ben@bagu.org>
359 Fix a crasher when refreshing the list view with the default table.
361 This crash will also happen when loading the list view with the default
362 table from a link or bookmark.
364 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Go
365 to the main document selection page when the document id hasn't been
367 * src/main/java/org/glom/web/client/activity/ListActivity.java: Go to
368 the main document selection page when the document id hasn't been
370 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Use empty
371 values for the details place when the document id hasn't been set.
372 * src/main/java/org/glom/web/client/place/ListPlace.java: Use empty
373 values for the list place when the document id hasn't been set.
375 2011-12-21 Ben Konrath <ben@bagu.org>
377 Protect against NPE when glom.document.locale is not in config.
379 This patch protects against an NPE when glom.document.locale is not in
380 the config file. This NPE will also happen if glom.document.locale is
383 The patch also updates the error message to display the class name when
384 the getMessage() returns null. This was happening when the NPE was
385 thrown and I had "Configuration Error: null". If an NPE is encountered
386 with this patch, "Configuration Error: NullPointerException " will be
389 This commit closes this bug:
391 https://bugzilla.gnome.org/show_bug.cgi?id=666669
393 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
395 2011-12-20 Murray Cumming <murrayc@murrayc.com>
397 Rename onlineglom.properties to onlineglom.properties.sample.
399 * src/main/resources/onlineglom.properties: Rename to:
400 * src/main/resources/onlineglom.properties.sample:
401 * src/main/resources/README: And add this file explaining that people
402 should rename it back when deploying.
404 2011-12-20 Murray Cumming <murrayc@murrayc.com>
406 Allow choosing the translation in the .properties file.
408 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
409 init(): Read a glom.document.locale value from the configuration file
410 and call Glom's TransatableItem::set_current_locale() method.
411 * src/main/resources/onlineglom.properties: Add a commented-out
412 example of this new setting.
414 It would be better to add &lang=de_DE to the URL, but the current
415 libglom API does not allow us to do this easily. I am working on that.
417 2011-12-19 Murray Cumming <murrayc@murrayc.com>
419 Avoid a crash in parsing of token parameters.
421 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.j
422 ava: getTokenParams(): Do not crash if a parameter has a key but no
423 value, and ignore parameters with neither.
425 2011-12-17 Murray Cumming <murrayc@murayc.com>
427 History token building/handling: Improve use of token parameters.
429 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
430 (HasSelectableTablePlace.Tokenizer): Add getTokenParams(String)
431 and buildParamsToken(HashMap), for use by derived classes.
432 Make the separator private because it is no longer be needed.
433 * src/main/java/org/glom/web/client/place/DetailsPlace.java
434 (DetailsPlace.Tokenizer.getToken): Use buildParamsToken()
435 instead of manual string concatenation.
436 (DetailsPlace.Tokenizer.getPlace): Use getTokenParams() instead
437 of hardcoded indices and awkward splitting code.
438 * src/main/java/org/glom/web/client/place/ListPlace.java
439 (ListPlace.Tokenizer.getToken): Use buildParamsToken()
440 instead of manual string concatenation.
441 (ListPlace.Tokenizer.getPlace): Use getTokenParams() instead
442 of hardcoded indices and awkward splitting code.
443 This should fix bug #666420
445 2011-12-16 Murray Cumming <murrayc@murrayc.com>
447 Fix a Navgiation->Navigation typo in the code.
449 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
450 Rename processNavgiation() to processNavigation().
452 2011-12-16 Murray Cumming <murrayc@murrayc.com>
454 Fix a seperator->separator typo in the code.
456 * src/main/java/org/glom/web/client/place/DetailsPlace.java
457 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
458 * src/main/java/org/glom/web/client/place/ListPlace.java: Just a
461 2011-12-15 Ben Konrath <ben@bagu.org>
463 Cleanup some comments.
465 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
467 2011-12-14 Ben Konrath <ben@bagu.org>
469 Replace \n with <br/> for multiline text in the details view.
471 Vertical scrollbars are added when needed as well.
473 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
475 2011-12-14 Ben Konrath <ben@bagu.org>
477 Specify the font for document selection links.
479 * src/main/webapp/style.css:
481 2011-12-14 Ben Konrath <ben@bagu.org>
483 Fix bouncy CellTable while paging.
485 This doesn't currently work with related list tables in unselected
488 * src/main/java/org/glom/web/client/ui/list/ListTable.java
490 2011-12-14 Ben Konrath <ben@bagu.org>
492 Revamp the appearance of the document selection page.
494 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
495 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
496 * src/main/webapp/style.css:
498 2011-12-13 Ben Konrath <ben@bagu.org>
500 Set navigation button column to the smallest size possible.
502 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
504 2011-12-13 Ben Konrath <ben@bagu.org>
506 Change OpenButton nomenclature to NavigationButton.
508 Using NavigtionButton makes things more generic. Classes, methods and
509 variables have been changed.
511 This is a rename-only refactor.
513 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
514 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
515 * src/main/java/org/glom/web/client/ui/cell/NavigationButtonCell.java:
516 Renamed from OpenButtonCell.
517 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
518 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
519 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
521 2011-12-12 Ben Konrath <ben@bagu.org>
523 Remove unnecessary String argument in RelatedListTable and ListViewTable.
525 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
526 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
527 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
528 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
530 2011-12-12 Ben Konrath <ben@bagu.org>
532 Update variable names and comments.
534 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
535 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
537 2011-12-12 Ben Konrath <ben@bagu.org>
539 Properly initialize numNonEmptyRows variable to zero.
541 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
542 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
544 2011-12-05 Ben Konrath <ben@bagu.org>
546 Add latest mockup with HTML tables.
548 Features of this mockup:
550 -> HTML table for flowtable
551 -> HTML table for flowtable column
552 -> Example of how related lists would look
553 -> Not using text entries for data items
555 The current version of Online Glom doesn't use HTML tables for the
558 This mockup has been sent to the glom-devel mailing list but it's good
559 to have it here as well.
561 * mockups/details-view-html-tables.html:
563 2011-12-05 Ben Konrath <ben@bagu.org>
565 Remove unnecessary getPrimaryKeyField() method.
567 getPrimaryKeyFieldForTable(String) has been renamed to
568 getPrimaryKeyField(String).
570 * src/main/java/org/glom/web/server/database/DBAccess.java:
571 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
572 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
574 2011-12-05 Ben Konrath <ben@bagu.org>
576 Add string representation of TypedDataItem value to conversion error message.
578 * src/main/java/org/glom/web/server/Utils.java: Logging the error
579 message was extracted into its own method to avoid duplication.
581 2011-12-05 Ben Konrath <ben@bagu.org>
583 Add type checking to navigation primary key value creation.
585 Create navigation primary key only if the expected type from the Glom
586 document matches the type returned by the SQL query.
588 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
590 2011-12-05 Ben Konrath <ben@bagu.org>
592 Rename a couple of variables in RelatedListNavigation.
594 This is a rename-only refactor.
596 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
598 2011-12-05 Ben Konrath <ben@bagu.org>
600 Move getListLayoutGroup() into getListViewLayoutGroup().
602 This removes getListLayoutGroup(). It was only being called by
603 getListViewLayoutGroup().
605 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
607 2011-12-05 Ben Konrath <ben@bagu.org>
609 Remove check for LayoutItem_Portal in list table method.
611 This check is no longer necessary because the method isn't being used
612 to create the LayoutItemPortal DTO.
614 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
616 2011-12-05 Ben Konrath <ben@bagu.org>
618 Properly support related list navigation.
620 Navigation from the "Repository Analyzer -> Package Scans ->
621 Dependencies" related table wasn't working because the primary key for
622 related tables wasn't being set properly. This commit fixes the
625 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't use
626 getListLayoutGroup() to create the LayoutItemPortal DTO. This method
627 doesn't set the primary key properly for related list tables.
628 * src/main/java/org/glom/web/server/database/DBAccess.java: Add table
629 name parameter to getPrimaryKeyLayoutItemField(). This makes the method
630 useful for getting the primary key for list view tables and for related
632 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
633 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
634 Move code to set the primary key for the table from the abstract
635 ListDBAccess class to ListViewDBAccess as it's only correct for list
637 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
638 Properly add primary key to related list tables.
640 2011-12-02 Ben Konrath <ben@bagu.org>
642 Properly set the horizontal alignment of fields.
644 This fix is for both the list tables and the details view.
646 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
647 LayoutItem_WithFormatting.get_formatting_used_horizontal_alignment(boolean)
648 to set the horizontal alignment of fields.
650 2011-12-02 Ben Konrath <ben@bagu.org>
652 Display currency codes in the details view.
654 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
656 2011-12-02 Ben Konrath <ben@bagu.org>
658 Avoid duplicate JNI call.
660 JNI is not as efficient as pure Java and this is an easy (and small)
663 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
664 Use previously retrieved value for whereClauseToTableName instead of
667 2011-12-02 Ben Konrath <ben@bagu.org>
669 Rename a couple of variables in RelatedListNavigation.
671 This is a rename-only refactor.
673 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
675 2011-12-02 Ben Konrath <ben@bagu.org>
677 Indicate clearly that a mismatched primary key type is a bug.
679 * src/main/java/org/glom/web/server/Utils.java: Change log level from
680 warning to error. Add 'This is a bug.' to message.
682 2011-12-02 Ben Konrath <ben@bagu.org>
684 Update / fix some comments.
686 * src/main/java/org/glom/web/client/OnlineGlomService.java: Remove old
688 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Fix
690 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
691 Fix comments. Add some TODOs.
693 2011-12-02 Ben Konrath <ben@bagu.org>
695 Enable navigation to details view with string primary key from related list.
697 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
698 Create a text primary key value when return type of result is
699 java.sql.Types.VARCHAR.
701 2011-12-02 Ben Konrath <ben@bagu.org>
703 Use checkboxes for booleans in the details view.
705 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
707 2011-12-01 Ben Konrath <ben@bagu.org>
709 Improve performance of related list height calculation.
711 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
712 Put code to calculate the expected height in a static initializer so
713 that that it's only called once.
715 2011-12-01 Ben Konrath <ben@bagu.org>
717 Show related list tables in notebooks (again).
719 Calculate the height of the related list tables so the Notebook can be
720 set the correct height. The height of the related list table is also needed by
721 FlowTable to be able decide how to create the layout.
723 * src/main/java/org/glom/web/client/ui/details/Portal.java: Calculate
724 and set the Portal height based on the height of the related list
725 table and the Portal container.
726 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
727 Add method to calculate the height of the related list tables.
728 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
729 * src/main/webapp/style.css: Add css class for Pager. This is needed to
730 calculate the height of the Pager widget.
732 2011-12-01 Ben Konrath <ben@bagu.org>
734 Use CellTable API for table property instead of setting style on Element.
736 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
738 2011-12-01 Ben Konrath <ben@bagu.org>
740 Make ListViewTable and RelatedListTable a consistent height.
742 The tables are now a consistent height regardless of the contents of
743 the table. A hidden button is added to empty rows to ensure that the
744 height of these rows will match the height of rows with data.
746 A navigation button column is now added to every table. The width of
747 the navigation column is set to 0px when a RelatedListTable shouldn't
748 have navigation buttons. This maintains the a consistent row height in
749 tables that don't show the navigation buttons.
751 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Hide
752 navigation column when not needed.
753 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move method
754 arguments for navigation button to constructor of ListViewTable.
755 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Render
756 hidden button for empty data rows.
757 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java: Add method
758 arguments for navigation button to constructor.
759 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Always
760 create navigation buttons. Add hideNavigationButtons() method.
761 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add method
762 arguments for navigation button to constructor.
764 2011-12-01 Ben Konrath <ben@bagu.org>
766 Use 'visibility: hidden' in Utils.getWidgetHeight().
768 This is better choice because hidden elements are invisible, don't
769 respond to events and are not part of the tab order. They will,
770 however, take up space which is required to be able to calculate the
771 height of the widget.
773 * src/main/java/org/glom/web/client/Utils.java:
775 2011-12-01 Ben Konrath <ben@bagu.org>
777 Use Utils.getWidgetHeight() in FlowTable.
779 * src/main/java/org/glom/web/client/Utils.java: Remove TODO item about
781 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
783 2011-12-01 Ben Konrath <ben@bagu.org>
785 Put the details css class name on the correct table column.
787 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
789 2011-11-30 Ben Konrath <ben@bagu.org>
791 Update for java-libglom API change.
793 The getters and setters on FieldFormatting and NumericFormat were
794 changed to remove the 'M'.
796 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
798 2011-11-29 Ben Konrath <ben@bagu.org>
800 Only allow RelatedListTables in Portals.
802 * src/main/java/org/glom/web/client/ui/details/Portal.java:
804 2011-11-29 Ben Konrath <ben@bagu.org>
806 Only create a contents panel for Portals when title is being set.
808 * src/main/java/org/glom/web/client/ui/details/Portal.java:
810 2011-11-29 Ben Konrath <ben@bagu.org>
812 Set TabLayoutPanel height based on calculated height its widgets.
814 This is a potential fix for this bug:
816 https://bugzilla.gnome.org/show_bug.cgi?id=665133
818 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
820 2011-11-29 Ben Konrath <ben@bagu.org>
822 Align details field labels and data with the Open buttons.
824 * src/main/webapp/style.css:
826 2011-11-29 Ben Konrath <ben@bagu.org>
828 Remove unnecessary <div> in the Notebook widget.
830 * src/main/java/org/glom/web/client/ui/details/Group.java: Remove
831 method to get container FlowPanel (<div>).
832 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Run the
833 initWidget() method directly on the TabLayoutPanel widget instead of
834 Group's container widget.
836 2011-11-29 Ben Konrath <ben@bagu.org>
838 Don't add group titles for Portals in Notebooks.
840 This reverts the previous patch and fixes a bug I introduced with
841 commit b1753fd27bd2c4ea189c4c353e0ece92dcc66c2c .
843 * src/main/java/org/glom/web/client/ui/details/Group.java:
844 * src/main/java/org/glom/web/client/ui/details/Portal.java:
846 2011-11-28 Ben Konrath <ben@bagu.org>
848 Remove unused boolean argument in Portal constructor.
852 * src/main/java/org/glom/web/client/ui/details/Group.java:
853 * src/main/java/org/glom/web/client/ui/details/Portal.java:
855 2011-11-28 Ben Konrath <ben@bagu.org>
857 Remove hack for glom 1.18 style glom files.
859 * src/main/java/org/glom/web/client/ui/details/Group.java:
860 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
861 * src/main/java/org/glom/web/client/ui/details/Portal.java:
863 2011-11-28 Ben Konrath <ben@bagu.org>
865 Use Gda Value version of primary key to log result too large error.
867 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
869 2011-11-28 Ben Konrath <ben@bagu.org>
871 Don't use TypedDataItem.getText() for Unknown types from the URL.
873 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
874 * src/main/java/org/glom/web/server/Utils.java: Use getUnknown()
875 instead of getText().
876 * src/main/java/org/glom/web/shared/TypedDataItem.java: Add unknown
877 String field and getUnknown() method.
879 2011-11-28 Ben Konrath <ben@bagu.org>
881 Log an error message when the java-libglom .so is not present.
883 The error message was being set in the exception but not logged.
885 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
887 2011-11-28 Ben Konrath <ben@bagu.org>
889 Ignore LayoutItem_CalendarPortals.
891 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't
892 create the LayoutItemPortal DTO for LayoutItem_CanendarPortals.
894 2011-11-28 Ben Konrath <ben@bagu.org>
896 Extract method for creating the LayoutItemPortal DTO.
898 Just breaking the code up into smaller chunks.
900 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
902 2011-11-28 Ben Konrath <ben@bagu.org>
906 This should have been added with the refactor. Oops!
908 * src/main/java/org/glom/web/shared/TypedDataItem.java:
910 2011-11-28 Ben Konrath <ben@bagu.org>
912 Create primary key value from URL string using type from Glom document.
914 See this bug, comments 19 - 25:
916 https://bugzilla.gnome.org/show_bug.cgi?id=662376#c19
918 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Don't
919 create a TypeDataItem for the primary key here when loading from a
920 URL. Show the same string for the primary key value as was received
921 from the URL string (when loading from a URL).
922 * src/main/java/org/glom/web/server/Utils.java: Update method for
923 creating the Gda Value from the TypeDataItem to properly deal with
924 creating a Gda Value based on the Glom document type for the primary
925 key value string when loading from a URL.
926 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
927 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
928 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
929 Update for changed method name.
931 2011-11-27 Ben Konrath <ben@bagu.org>
933 Rename PrimaryKeyItem to TypedDataItem.
935 The name PrimaryKeyItem suggests what the class should be used for.
936 TypedDataItem is a neutral name that describes the class better.
938 This is a rename-only refactor.
940 * src/main/java/org/glom/web/client/OnlineGlomService.java:
941 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
942 * src/main/java/org/glom/web/client/Utils.java:
943 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
944 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
945 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
946 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
947 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
948 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
949 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
950 * src/main/java/org/glom/web/server/Utils.java:
951 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
952 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
953 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
954 * src/main/java/org/glom/web/shared/NavigationRecord.java:
956 2011-11-25 Ben Konrath <ben@bagu.org>
958 Improve Gda Value conversion from PrimaryKeyItem.
960 The value from the PrimaryKeyItem is only used if its type match the
961 type from the glom document.
963 * src/main/java/org/glom/web/server/Utils.java:
965 2011-11-25 Ben Konrath <ben@bagu.org>
967 Manually check if the java-liblgom .so is visible to the JVM.
969 It seems that Tomcat has problems when a static initializer throws an
970 exception. This check is done before the first method call into
971 java-libglom so that execution doesn't continue if the .so is not
974 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
976 2011-11-25 Ben Konrath <ben@bagu.org>
978 Improve browser configuration error messages.
982 https://bugzilla.gnome.org/show_bug.cgi?id=662792
984 * src/main/java/org/glom/web/client/OnlineGlomService.java:
985 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
986 getConfigurationErrorMessage() method.
987 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
988 Get and display a specific configuration error message when no Glom
990 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
991 Implement getConfigurationErrorMessage() method. Surround configuration
992 code in the init() method with a try/catch block. This allows the
993 errors to be caught while keeping the servlet available to retrieve the
994 configuration error message.
996 2011-11-25 Ben Konrath <ben@bagu.org>
998 Don't use Strings to hold primary key values.
1000 The primary key values are now held in a new data object
1001 (PrimaryKeyItem) that holds type information and the primary key value
1002 using the correct type.
1004 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1005 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1006 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1007 PrimaryKeyItem instead of String to hold the primary key value.
1008 * src/main/java/org/glom/web/client/Utils.java: Remove
1009 getKeyValueStringForQuery(). Add getPrimaryKeyItem() which creates a
1010 PrimaryKeyItem based on the GlomFieldType and the DataItem.
1011 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Use
1012 PrimaryKeyItem instead of String to hold the primary key value. Load
1013 document selection page when the documentID has not been set correctly.
1014 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Re-work
1015 DetailsPlace -> URL and URL -> DetailsPlace conversion with
1017 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
1018 Return empty string for URL instead of "null".
1019 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1020 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1021 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1022 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
1023 PrimaryKeyItem instead of String to hold primary key values.
1024 * src/main/java/org/glom/web/server/Utils.java: New method to convert a
1025 PrimaryKeyValue to a Gda Value.
1026 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1027 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1028 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1029 Replace temporary database access code that uses the PrimaryKeyValue to
1030 Gda Value conversion.
1031 * src/main/java/org/glom/web/shared/DataItem.java: Add comment.
1032 * src/main/java/org/glom/web/shared/NavigationRecord.java: Use
1033 PrimaryKeyItem instead of String.
1034 * src/main/java/org/glom/web/shared/PrimaryKeyItem.java: New class to
1035 hold primary key values.
1037 2011-11-24 Ben Konrath <ben@bagu.org>
1039 Use newly added java-libglom API to create queries.
1041 This isn't finished. I still need to stop using Strings for primary key
1042 values in the client code.
1044 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Tell
1045 libglom to use fake connections so that retrieving the query string will
1047 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1048 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1049 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1050 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1051 Use the newly added libglom sql methods and classes to create the
1052 query. Add temporary hack to convert primary value strings to Gda
1055 2011-11-23 Ben Konrath <ben@bagu.org>
1057 Don't explicitly set the height of Portals.
1059 See comments 6 - 10 of this bug for details:
1061 https://bugzilla.gnome.org/show_bug.cgi?id=662930#c6
1063 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1065 2011-11-23 Ben Konrath <ben@bagu.org>
1067 Use an HTML table instead of CSS for the FlowTable layout.
1069 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Use
1070 GWT's FlexTable to implement the FlowTable.
1071 * src/main/webapp/style.css: Adjust CSS for the change to FlexTable.
1073 2011-11-18 Ben Konrath <ben@bagu.org>
1075 Add boolean example to HTML table mockup.
1077 * mockups/details-view-html-tables-text-entries.html:
1079 2011-11-17 Ben Konrath <ben@bagu.org>
1081 Ensure the pager buttons are always visible for related lists.
1083 To accomplish this, I've turned off text wrapping in the list view and
1084 related list tables for both the header and data text. The related list
1085 table now has a fixed layout so the it doesn't overflow its container.
1086 This is required to ensure that the cell text is clipped when it
1087 overflows the cell and an ellipsis is added to the right side of the
1088 cell when text is clipped.
1090 A fixed table layout for the related list table in the details view
1091 seems what we want for the details view anyway, so the side-effect is
1094 The ellipsis will only be displayed in Firefox >= 7.
1098 https://bugzilla.gnome.org/show_bug.cgi?id=662930
1100 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java:
1101 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: Add
1102 'overflow: hidden; text-overflow: ellipsis;' CSS properties to the table
1104 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1105 Set the 'table-layout: fixed' CSS property to the related list table.
1106 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Set the
1107 'white-space: nowrap;' CSS property on both the list view and the
1108 related list tables.
1110 2011-11-16 Ben Konrath <ben@bagu.org>
1112 Rework the fix for empty notebook tab labels.
1114 Setting the empty group titles with its name caused problems for the
1115 details layout. Instead of using libglom's
1116 LayoutItem.get_title_or_name(), the LayoutItem name is explicitly sent
1117 to the client when the title is empty. This allows the Notebook to use
1118 the name when the title is empty without affecting anything else.
1120 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1121 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1123 2011-11-16 Ben Konrath <ben@bagu.org>
1125 Set group titles with name when title is empty.
1127 This fixes a problem with an empty notebook tab label in the Lesson
1128 Planner document. The forth tab in the notebook should be "Internet":
1130 http://bagu.org:8080/OnlineGlom/#details:document=lesson-planner&table=teachers&value=0
1132 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
1133 libglom's LayoutItem.get_title_or_name() to fill in the LayoutGroup
1136 2011-11-16 Ben Konrath <ben@bagu.org>
1138 Remove whitespace from the configured username properties.
1140 This assumes that usernames won't have whitespace at the beginning
1141 or end. But I think this is a reasonable assumption.
1143 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1144 String.trim() to remove the whitespace from the username properties.
1146 2011-11-15 Ben Konrath <ben@bagu.org>
1148 Add details view mockup with HTML tables and text entries.
1150 This is from the attachment on this bug:
1152 https://bugzilla.gnome.org/show_bug.cgi?id=663109
1154 * mockups/details-view-html-tables-text-entries.html:
1156 2011-11-15 Ben Konrath <ben@bagu.org>
1158 Add space between the columns of the flow table.
1162 https://bugzilla.gnome.org/show_bug.cgi?id=662918
1164 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Add a 1%
1165 space between columns in the flow table.
1167 2011-11-15 Ben Konrath <ben@bagu.org>
1169 Add backup files to the .gitignore.
1171 * .gitignore: Ignore files that end with ~.
1173 2011-11-09 Ben Konrath <ben@bagu.org>
1175 Use latest release of gwt-log.
1177 Gwt-log releases are now being submitted to the maven central
1178 repository so manual installation of the jar is no longer required.
1180 * pom.xml: Update version and groupId of gwt-log dependency.
1182 2011-10-31 Ben Konrath <ben@bagu.org>
1184 Don't use GWT numeric formatting to override the glom currency formatting.
1186 Currencies are now displayed like they are in Glom. See this bug:
1188 https://bugzilla.gnome.org/show_bug.cgi?id=646216
1190 * src/main/java/org/glom/web/client/Utils.java: Remove GWT currency
1192 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: Add
1193 currency code to constructor and set it when the cell is rendered.
1194 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
1195 currency code to the constructor of the NumericCell.
1197 2011-10-27 Ben Konrath <ben@bagu.org>
1199 Require the latest release of java-libglom (1.17.4).
1203 2011-10-26 Ben Konrath <ben@bagu.org>
1205 Add style to Notebook that matches current theme.
1207 It's not the best style in the world but it's better than the default.
1209 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Add some
1210 padding at the bottom of the child widgets.
1211 * src/main/webapp/style.css: Add style for the Notebook.
1213 2011-10-26 Ben Konrath <ben@bagu.org>
1215 Move servlet initialization code to overridden init method.
1217 This is half of the solution to getting proper error messages
1218 displayed when configuration errors occur. Here's the relevant bug:
1220 https://bugzilla.gnome.org/show_bug.cgi?id=662792
1222 The rest of the solution involves surrounding the init method with a
1223 try/catch block and setting a global variable with the error /
1224 exception. A new async method should be created to retrieve and display
1225 the error message / exception.
1227 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Move
1228 code from constructor to init method adding exceptions as needed.
1230 2011-10-26 Ben Konrath <ben@bagu.org>
1232 Add script to monitor and restart tomcat if required.
1234 * utils/check-and-recover-tomcat.py: New file.
1236 2011-10-26 Ben Konrath <ben@bagu.org>
1238 Display the correct number of data items in the pager.
1242 https://bugzilla.gnome.org/show_bug.cgi?id=661441
1244 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1245 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1246 The implementation is the same for both tables: Keep track of the
1247 number of non-empty rows and fire and RowCountChangeEvent after the data has
1249 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add a
1250 custom Pager class that subclasses SimplePager to handle displaying
1251 the correct number when empty rows have been added.
1253 2011-10-26 Ben Konrath <ben@bagu.org>
1255 Correct error in previous commit.
1257 * src/main/java/org/glom/web/client/activity/ListActivity.java: Remove
1258 eventBus parameter from listView.setCellTable().
1260 2011-10-26 Ben Konrath <ben@bagu.org>
1262 Fix error in TODO comment.
1264 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1266 2011-10-24 Ben Konrath <ben@bagu.org>
1268 Create Notebook widgets to the details view.
1270 This isn't finished just yet - I still need to create a reasonable
1271 style to match the current theme.
1273 * src/main/java/org/glom/web/client/Utils.java: Add method for
1274 calculating the height of a widget. This is used in the Notebook class.
1275 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
1276 new constructor method in Group.
1277 * src/main/java/org/glom/web/client/ui/details/Group.java: Add new
1278 method for creating child widget that can be used by subclasses
1279 like Notebook. New constructor that allows disabling the group
1280 titles - Notebooks don't set a group title for their child groups.
1281 * src/main/java/org/glom/web/client/ui/details/Notebook.java: New class
1282 to make Notebooks using GWT's TabLayoutPanel.
1283 * src/main/java/org/glom/web/client/ui/details/Portal.java: New
1284 constructor that allows disabling the group titles.
1285 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Create the
1286 LayoutItemNotebook DTO.
1287 * src/main/java/org/glom/web/shared/layout/LayoutItemNotebook.java: New
1288 DTO for Notebooks. It's just an empty class for now but we might need
1289 it to transfer some specific information in the future.
1291 2011-10-21 Ben Konrath <ben@bagu.org>
1293 Add navigation buttons to related list tables.
1295 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1296 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1297 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add new
1298 method getSuitableRecordToViewDetails() for getting the table name
1299 and primary key value for related list navigation buttons.
1300 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1301 private cell renderer class to get the navigation information for
1302 related list tables from the server. Extract the navigation
1303 processing code from the details cell navigation and use it for the
1304 related list navigation as well.
1305 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Add private
1306 cell renderer class for the details open buttons. This was needed
1307 because the related list navigation buttons and the list view
1308 navigation buttons need to react differently when clicked.
1309 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Remove
1310 the onEnterKeyDown() method because it's now overriden in the
1311 subclasses that are specific to the related list tables and the list
1313 * src/main/java/org/glom/web/client/ui/details/Portal.java: Increase
1314 the vertical size a little because the buttons add a bit of vertical
1315 space to table. This is not a perfect solution because the vertical
1316 size of with table fewer than 5 rows will be a little smaller.
1317 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Update for
1318 changes in how navigation buttons are handled.
1319 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Implement
1320 getSuitableRecordToViewDetails() using the new RelatedListNavigation
1321 database access object.
1322 * src/main/java/org/glom/web/server/database/DBAccess.java: Move code
1323 to find the portal for a given relationship name from
1324 RelatedListDBAccess. Add method to find a primary key field for a
1326 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1327 Move code to find the portal for a given relationship name to
1329 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1330 New file: database access object for getting the related list
1331 navigation information (the table name and the primary key value).
1332 * src/main/java/org/glom/web/shared/NavigationRecord.java: New file:
1333 DTO for transferring a table name to navigate to and a primary key
1335 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1336 boolean and getter/setter to specifies if the related list should add
1339 2011-10-24 Murray Cumming <murrayc@murrayc.com>
1341 Use the master branch of java-libglom
1343 * pom.xml: Depend on java-libglom 1.19 instead.
1345 This is the master branch. See also the libglom-1-18 branch.
1347 2011-10-11 Ben Konrath <ben@bagu.org>
1349 Enable the open navigation button when the data has been set.
1351 This avoids having active buttons that don't do anything when the data
1354 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1356 2011-10-11 Ben Konrath <ben@bagu.org>
1358 Use IsWidget interface for FlowTableItem.
1360 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Change
1361 FlowTableItem.getWidget() to asWidget() from the IsWidget interface.
1363 2011-10-11 Ben Konrath <ben@bagu.org>
1365 Remove GWT styling from open button in details view.
1367 There are still some issues with how the details cell is arranged but
1368 this should be made to match Glom 1.20. I'm going to leave fixing this
1369 until I have Glom 1.20 up and running.
1371 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Set
1372 style name on open button.
1373 * src/main/webapp/style.css: Move and edit details-navigation class.
1374 Re-arrange some classes to make them appear in the same order as the
1377 2011-10-07 Ben Konrath <ben@bagu.org>
1379 Update to GWT 2.4.0.
1381 * .gitignore: Ignore new cache directory.
1382 * .settings/com.google.gwt.eclipse.core.prefs: Update Eclipse settting.
1383 * pom.xml: Change GWT and maven plugin to 2.4.0.
1384 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Update doctype for
1386 * src/main/java/org/glom/web/client/ClientFactory.java:
1387 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
1388 * src/main/java/org/glom/web/client/OnlineGlom.java:
1389 Update source for API changes.
1390 * utils/build-onlineglom-war.sh: Remove cache directory before the
1393 2011-10-07 Ben Konrath <ben@bagu.org>
1395 Add navigation buttons in the details view.
1397 This isn't finished but I thought I'd commit what I have as it's a
1398 pretty good start. I still need to:
1400 1. Change the style so that it fits better into the current theme
1401 2. Adjust the details cell to expand as much as possible.
1403 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1404 click handlers to navigation buttons in the DetailsCells. Create a
1405 refreshData() method to get just the data from the server without the
1407 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1408 Update the tableSelector and browser title when the table name
1409 changes without using the tableSelector.
1410 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1411 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1412 getDetailsCells() to getCells(). Update variable names.
1413 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Add
1414 method to set click handler on navigation button. Rename a few
1415 variables. Add navigation buttons where needed.
1416 * src/main/java/org/glom/web/client/ui/details/Group.java: Rename a few
1417 variables and methods.
1418 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Set the
1419 navigation boolean and navigation table as required in the
1420 LayoutItemField DTO.
1421 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
1422 variables for navigation along with getter/setter methods.
1424 2011-10-07 Ben Konrath <ben@bagu.org>
1426 Rename Field to DetailsCell.
1428 This is a refactor-only commit. No functionality has been added or
1431 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1432 Update variable and method names.
1433 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1434 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update
1435 variable and method names.
1436 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1438 * src/main/java/org/glom/web/client/ui/details/Group.java: Update
1439 variable and method names.
1441 2011-10-07 Ben Konrath <ben@bagu.org>
1443 Create separate methods for layout and data the details view.
1445 This is a refactor-only commit. No functionality has been added or
1448 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: New
1449 private methods: setData(), createLayout().
1451 2011-10-07 Ben Konrath <ben@bagu.org>
1453 Don't use TableSelectorImpl implementation details in TableSelectorActivity.
1455 This is part of a change to get navigation buttons in the details view
1456 but it should have been done this way from the start.
1458 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1459 for method name change in TableSelectionView.
1460 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1461 Create TableChangeEvent and set the browser title using the
1462 TableSelectionView API.
1463 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1464 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1465 Change getSelectedTable() to getSelectedTableName(). Add
1466 getSelectedTableTitle().
1468 2011-10-07 Ben Konrath <ben@bagu.org>
1470 Use primaryKeyValue naming convention in constructor of DetailsPlace.
1472 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1474 2011-10-07 Ben Konrath <ben@bagu.org>
1476 Update TableChangeEvent to use newTableName naming convention.
1478 This makes the class more consistent with GWT naming conventions.
1480 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1481 Update for method name change in TableChangeEvent.
1482 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1483 for method name change in TableChangeEvent.
1484 * src/main/java/org/glom/web/client/event/TableChangeEvent.java: Update
1485 newTableName variable and getter method. Make toDebugString()
1488 2011-09-30 Ben Konrath <ben@bagu.org>
1490 Disable the pager in the list tables when the data row count is less than the minimum.
1492 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1493 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1495 2011-09-30 Ben Konrath <ben@bagu.org>
1497 Add empty rows to the end of related list and list view tables.
1499 I also extracted the cell rendering classes from the ListTable because
1500 the code was becoming a little crazy with all the anonymous inner
1501 classes. My plan is to use these cell rendering classes in the details
1502 view as well so this refactor will be needed for that change.
1504 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Only
1505 set the row count in related list tables if the data has more rows
1506 than the minimum number of rows visible.
1507 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Only set the
1508 row count in list view tables if the data has more rows than the
1509 minimum number of rows visible.
1510 * src/main/java/org/glom/web/client/ui/cell/BooleanCell.java: New class
1511 for rendering TYPE_BOOLEAN cells. The code was extracted from the
1513 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: New class
1514 for rendering TYPE_NUMERIC cells. The code was extracted from the
1516 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: New
1517 class for rendering cells with buttons in list views. The code was
1518 extracted from the ListTable class.
1519 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: New class
1520 for rendering TYPE_TEXT cells. The code was extracted from the
1522 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1523 Add empty rows to the end of the data if required. Implement
1524 ListTable.getMinNumVisibleRows().
1525 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Extract
1526 cell renderer code to public classes. Return null in
1527 Column.getValue() for empty rows. Add new abstract method:
1528 getMinNumVisibleRows(). Move code to set the row count of the list view
1529 table to ListViewImpl.
1530 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add
1531 empty rows to the end of the data if required. Implement
1532 ListTable.getMinNumVisibleRows().
1535 2011-09-27 Ben Konrath <ben@bagu.org>
1537 Use GWT.log for client-side debugging statements.
1539 These are optimized out when deployed so I should have used this method
1540 in the first place. These statements will eventually be replaced with some sort
1541 of notification in the browser.
1543 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1544 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1545 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1546 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1547 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1549 2011-09-27 Ben Konrath <ben@bagu.org>
1551 Put tableselector on the right, back to list link on right.
1553 The idea is that the table selector is acting like a label for the
1554 currently displayed table so it should be placed below the document title. This
1555 puts the table title in a similar position to where it is in Glom.
1557 * mockups/details-contacts.html:
1558 * mockups/details-projects.html:
1559 * mockups/listview-contacts.html:
1560 * mockups/listview-projects.html:
1561 * mockups/style.css:
1562 Update mockups to match how the interfaces currently look.
1563 * src/main/webapp/style.css: Swap positions of backlink with the table
1564 selector. Add some space on the left side of the table selector to
1565 line things up with the document title.
1567 2011-09-27 Ben Konrath <ben@bagu.org>
1569 Add field colouring to details view.
1571 This change re-works how field colouring works. The colour formatting
1572 information is now set to the client with the layout information instead of
1573 with the data. This eliminates the need to send the same colour strings for
1574 data in list view column when colour information is set.
1576 In order to set an alternate colour for negative numeric values, the
1577 number is now sent to client and formatted with the GWT NumberFormat class.
1579 This change also fixes:
1581 https://bugzilla.gnome.org/show_bug.cgi?id=659752
1583 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add the GWT
1584 internationalization framework which is needed for client side numeric
1586 * src/main/java/org/glom/web/client/Utils.java: New file for some
1587 client static utility methods.
1588 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
1589 the DataItem object to the Field class. Use a utility method to
1590 create the foreignKeyValue string.
1591 * src/main/java/org/glom/web/client/ui/details/Field.java: Set
1592 alignment and text colours in the constructor. Add setData(DataItem)
1593 method. Remove setText(String) method.
1594 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
1595 colour information to GlomTextCell. Create and use GlomNumberCell for
1596 rendering numbers. Use utility method to get the string for the
1597 primary key of the key provider. Re-work how the horizontal alignment
1599 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1600 formatting to layout information. Methods for converting the libglom
1601 formatting information were moved from DBAccess.
1602 * src/main/java/org/glom/web/server/database/DBAccess.java: Remove
1603 numeric formatting (it's now done on the client side). Don't set text
1604 colours in DataItem. Move libglom formatting conversion methods to
1606 * src/main/java/org/glom/web/shared/DataItem.java: Remove fields and
1607 getters/setters for text colour information.
1608 * src/main/java/org/glom/web/shared/GlomNumericFormat.java: New file
1609 for transferring the libglom NumericFormat information to the client.
1610 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add fields
1611 and getters/setters for: GlomNumericFormat, background colour and
1612 foreground colour strings.
1614 2011-09-26 Ben Konrath <ben@bagu.org>
1616 Simplify code that iterates through the LayoutGroup.
1618 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1620 2011-09-26 Ben Konrath <ben@bagu.org>
1622 Accept Eclipse formatting for OnlineGlomServiceAsync.
1624 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1626 2011-09-26 Ben Konrath <ben@bagu.org>
1628 Don't use the ListDBAccess classes to get the primary key layout information.
1630 This was causing a bug where the wrong index for the hidden primary key
1631 was being sent to the client.
1633 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Find the
1634 primary key while creating the LayoutGroup DTO. Create a
1635 LayoutItemField DTO for hidden primary keys. Don't use the
1636 RelatedListDBAccess because it was only used for getting the primary
1638 * src/main/java/org/glom/web/server/database/DBAccess.java: Change the
1639 access modifier from public to protected for getPrimaryKeyField() and
1640 getPrimaryKeyLayoutItemField().
1641 * src/main/java/org/glom/web/server/database/ListDBAccess.java: Remove
1642 abstract method getExpectedResultSize() because RelatedListDBAccess
1643 doesn't have enough info to implement it.
1644 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1645 Remove @Override for getExpectedResultSize().
1646 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1647 Remove method getExpectedResultSize().
1649 2011-09-23 Ben Konrath <ben@bagu.org>
1651 Log which layout (list or details) the ignored item is from.
1653 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1655 2011-09-23 Ben Konrath <ben@bagu.org>
1657 Remove annotations that turn off code formatting in DataItem.
1659 * src/main/java/org/glom/web/shared/DataItem.java:
1661 2011-09-23 Ben Konrath <ben@bagu.org>
1663 Rename GlomField to DataItem and update associated methods.
1665 This is a rename-only refactor. No functionality has been added or
1668 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1669 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1670 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1671 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1672 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1673 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1674 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1675 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1676 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1677 * src/main/java/org/glom/web/server/database/DBAccess.java:
1678 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1679 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1680 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1681 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1682 * src/main/java/org/glom/web/shared/DataItem.java:
1683 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java:
1684 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
1686 2011-09-23 Ben Konrath <ben@bagu.org>
1688 Rename GlomDocument to DocumentInfo and update associated methods.
1690 This is a rename-only refactor. No functionality has been added or
1693 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1694 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1695 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1696 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1697 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1698 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1699 * src/main/java/org/glom/web/shared/DocumentInfo.java:
1701 2011-09-20 Ben Konrath <ben@bagu.org>
1703 Require java-libglom 1.17.3.
1705 This picks up the fix for the seg fault problem with the Scenes table
1706 in the Openismus Film Manager example.
1710 2011-09-20 Ben Konrath <ben@bagu.org>
1712 Change the way sort clause is added for primary key when no sort clause is requested.
1714 The primary key is now added to the LayoutFieldVector (fieldsToGet)
1715 before the sort clause is created. When a sort clause is not requested, the
1716 sort clause is created by finding the primary key in the LayoutFieldVector
1719 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1721 2011-09-20 Ben Konrath <ben@bagu.org>
1723 Log error message if no documents are found in the configured directory.
1725 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also:
1726 Extract the glom file extension string to a private static final class
1727 variable (mostly as syntactic sugar). Accept a minor formatting change.
1728 * src/main/resources/onlineglom.properties: Add '/glomfile' to end of
1729 the example glom.document.directory configuration property to make it
1730 more clear that it can any directory, not just the home directory.
1732 2011-09-18 Ben Konrath <ben@bagu.org>
1734 Add related lists to details view.
1736 The related list table has support for paging and sorting just like the
1737 table in the list view.
1739 * pom.xml: Require java-libglom 1.17.2 for the new methods to build the
1740 SQL queries for the related list tables.
1741 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1742 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1743 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1744 Rename getList methods to getListView and add comments. Remove
1745 getDetailsLayout() as it's not used anymore. Add note to getDetailsData() about
1746 it being unused. Add methods: getDetailsLayoutAndData(),
1747 getSortedRelatedListData(), getRelatedListData(), getRelatedListRowCount()
1748 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1749 Create the layout and set the data for the fields in one async call
1750 instead of two. Create related lists where appropriate.
1751 * src/main/java/org/glom/web/client/activity/ListActivity.java: Changes
1752 for method name changes in OnlineGlomService.
1753 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1754 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1755 addLayoutGroup() to addGroup(). Add methods to get the DTOs for the
1757 * src/main/java/org/glom/web/client/ui/ListView.java:
1758 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Remove
1759 tableName from setCellTable(). Create a ListViewTable instead of
1761 * src/main/java/org/glom/web/client/ui/details/Field.java: New class to
1762 represent a data field in the details view.
1763 * src/main/java/org/glom/web/client/ui/details/Group.java: Move to code
1764 from addDetailsCell() to Field class. Keep track of the Fields and
1765 Portals in the details view.
1766 * src/main/java/org/glom/web/client/ui/details/Portal.java: Make portal
1767 a little bigger to match Glom. Keep track of the LayoutItemPortal DTO
1768 and add a method to get it. Add method to set the contents of the
1770 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1771 New class for related list tables. This class has the data provider
1772 for the related list table.
1773 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Change to
1774 abstract class which is the base class for the ListViewTable and the
1776 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1777 New class for list view tables. This class has the data provider for
1778 the list view table.
1779 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1780 methods for related list tables. Add more information to the
1781 LayoutItemField and LayoutItemPortal DTOs.
1782 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1783 Remove debugging print statement.
1784 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1785 Remove debugging print statements. Add primary key field to SQL count
1787 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1788 Remove unnecessary LayoutFieldVector parameter from
1789 getResultSizeOfSQLQuery() method.
1790 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1791 New class for related list table database access.
1792 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java: New
1793 class that is a wrapper DTO for details view layout and data.
1794 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1795 new 'fromField' string to this DTO.
1796 * src/main/webapp/style.css: Remove bottom margin and override top
1799 2011-09-15 Ben Konrath <ben@bagu.org>
1801 Breakup the OnlineGlomServiceImpl class to make it more manageable.
1803 This sets things up to make it easier to add the data retrieval for
1804 related lists (portals). No user noticeable changes were made with
1807 * src/main/java/org/glom/web/server/ConfiguredDocument.java: This
1808 class has the code to retrieve the layouts and access the
1809 database using the new database helper classes.
1810 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1811 Most of the functionality has been removed from this class. This
1812 class now represents the public interface for the client side
1813 code. It also deals with configuring the servlet and cleaning
1814 things up when the servlet is stopped.
1815 * src/main/java/org/glom/web/server/Utils.java: Extract a couple
1816 of static methods into this utility class.
1817 * src/main/java/org/glom/web/server/database/DBAccess.java:
1818 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1819 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1820 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1821 These classes have the database retrieval code. The class hierarchy
1822 has been setup to make it easy to reuse code for similar
1825 2011-09-06 Ben Konrath <ben@bagu.org>
1827 Create separate classes for list table code and the data provider.
1829 As part of this refactor, I also split up the code a bit to make it
1832 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move list
1833 table code to two new classes (below).
1834 * src/main/java/org/glom/web/client/ui/list/ListTable.java: New file
1835 with code from ListViewImpl.
1836 * src/main/java/org/glom/web/client/ui/list/ListTableDataProvider.java:
1837 New file with code from ListViewImpl.
1839 2011-09-06 Ben Konrath <ben@bagu.org>
1841 Change the LayoutItemPortal DTO to extend LayoutGroup instead of LayoutItem.
1843 This fixes the LayoutItemPortal DTO to match the libglom layout object
1846 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java:
1848 2011-09-01 Ben Konrath <ben@bagu.org>
1850 Set title of Portals in the Details View.
1852 * pom.xml: Bump required version of java-libglom to 1.17.1.
1853 * src/main/java/org/glom/web/client/ui/details/Group.java: Move Portal
1854 widget creation to its own class. Add comments to constructor.
1855 * src/main/java/org/glom/web/client/ui/details/Portal.java: New file.
1856 The code is mostly from the Group class with the title now set.
1857 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
1858 title of Portal. Update some comments. Fix some code formatting.
1860 2011-09-01 Ben Konrath <ben@bagu.org>
1862 Remove TODO comment for the flow table column width.
1864 The flow table column width is working correctly and doesn't need to be
1865 changed. See this mailing list post for more info:
1867 https://mail.gnome.org/archives/glom-devel-list/2011-August/msg00017.html
1869 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
1871 2011-08-27 Ben Konrath <ben@bagu.org>
1873 Add document title (database name) to top of the browser page.
1875 I added the document title to the TableSelecitonView but that will
1876 change if / when we add a view that doesn't require table selection.
1878 * mockups/details-contacts.html:
1879 * mockups/details-projects.html:
1880 * mockups/listview-contacts.html:
1881 * mockups/listview-projects.html:
1882 * mockups/style.css: Add document title to mockups to keep things
1884 * src/main/java/org/glom/web/client/OnlineGlom.java: Adjust LayoutPanel
1885 sizes to account for the document title.
1886 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1887 Set the document title when it has been retrieved from the server.
1888 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1889 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java: Add
1890 and implement setDocumentTitle(String) method.
1891 * src/main/webapp/style.css: Add ID for document title style.
1893 2011-08-25 Ben Konrath <ben@bagu.org>
1895 Add NavigationType enum to LayoutItemPortal DTO.
1897 This is the start of adding support for Portals to the Details View.
1899 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert
1900 LayoutItem_Portal.navigation_type enum from libglom to
1901 LayoutItemPortal.NavigationType enum.
1902 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1903 NavigationType enum, field for storing the NavigationType and getter
1906 2011-08-25 Ben Konrath <ben@bagu.org>
1908 Implement the flow table layout in the Details View.
1910 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
1911 FlowTable to Group to account for the renamed class.
1912 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: New
1913 File. This is a container widget that implements the Glom details view
1914 flow table behaviour.
1915 * src/main/java/org/glom/web/client/ui/details/Group.java: Moved from
1916 org/glom/web/client/ui/FlowTable.java.
1917 * src/main/webapp/style.css: Adjust bottom margin of the subgroup-title
1918 so that the size of the subgroups are a closer match to the size of
1919 the Glom subgroups. This makes the flowtable layout match the layout
1920 in Glom for the Music Collection example file.
1922 2011-08-16 Ben Konrath <ben@bagu.org>
1924 Create container element for LayoutItemPortal in Details View.
1926 This will help me develop the layout for the FlowTable.
1928 * src/main/java/org/glom/web/client/ui/FlowTable.java: Also rename
1929 fieldPanel variable to detailsCell.
1931 2011-08-15 Ben Konrath <ben@bagu.org>
1933 Set the height of the data element in the Details View.
1935 I changed the InlineLabels (text in a span element) to Labels (text in
1936 a div element) so that I could set the height of the details-data
1937 elements instead of the details-cell parent elements. This allows the
1938 the details-data element to display the correct height if style is
1939 applied that shows the height.
1941 This change has the added benefit of allowing the order of the labels
1942 and data elements to be changed for right-to-left languages.
1944 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
1945 InlineLabels to Labels.
1946 * src/main/java/org/glom/web/client/ui/FlowTable.java: Change
1947 InlineLabels to Labels. Set the height of the data element.
1948 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
1949 multiline text height in the Formatting DTO.
1950 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add field
1951 for multiline height along with getter and setter methods.
1952 * src/main/webapp/style.css: Adjust style to account for the change
1953 from span elements to div elements in the details cell.
1955 2011-08-15 Ben Konrath <ben@bagu.org>
1957 Make the List View appearance match the mockups.
1959 It doesn't match exactly but it's much better than it was.
1961 * mockups/listview-contacts.html: Remove unused css classes.
1962 * mockups/listview-projects.html: Remove unused css classes.
1963 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Display 15
1964 rows instead of 20. Rename vPanel to mainPanel. Use FlowPanel (div)
1965 for mainPanel instead of VerticalPanel (table). Set style name on
1966 CellTable. Set style name on Details column. Right-align Details
1968 * src/main/webapp/style.css: Adjust properties to match the mockups.
1970 2011-08-12 Ben Konrath <ben@bagu.org>
1972 Add better support for subgroups in the details view.
1974 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
1975 changed FlowTable constructor.
1976 * src/main/java/org/glom/web/client/ui/FlowTable.java: Add better
1977 support for subgroups and subgroup-titles.
1978 * src/main/webapp/style.css: Add CSS class for subgroups and
1981 2011-08-12 Ben Konrath <ben@bagu.org>
1983 Return the top level LayoutGroup title.
1985 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1987 2011-08-11 Ben Konrath <ben@bagu.org>
1989 Make the TableSelector header match the mockup.
1991 * src/main/java/org/glom/web/client/OnlineGlom.java: Add a margin to
1992 the layout panel. Properly lineup the table selection header with
1993 the list and details view.
1994 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Remove the
1995 margin around the details view.
1996 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1997 Rename listBox variable to tableSelector. Set id for the style sheet.
1998 Use a FlowPanel instead of a HorizontalPanel.
1999 * src/main/webapp/style.css: Add properties to make the TableSelector
2000 box match the mockups.
2002 2011-07-13 Ben Konrath <ben@bagu.org>
2004 Update install script for java-libglom version change.
2006 * utils/install-onlineglom-war.sh: Also exit if 'make check' in
2009 2011-07-13 Ben Konrath <ben@bagu.org>
2011 Add support sub-group in the details view.
2013 I also removed the code that special-cased the default details view
2016 http://mail.gnome.org/archives/glom-devel-list/2011-July/msg00005.html
2018 I still have to make a proper flowtable.
2020 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2021 Don't special-case default details view layout.
2022 * src/main/java/org/glom/web/client/ui/DetailsView.java: Remove
2023 addLayoutField() as I'm going to use it.
2024 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Extract
2025 GroupPanel to FlowTable class. Remove unimplemented addLayoutField()
2027 * src/main/java/org/glom/web/client/ui/FlowTable.java: New class
2028 extracted from DetailsViewImpl.GroupPanel. Add support for
2030 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2031 column count when getting the details layout.
2033 2011-07-12 Ben Konrath <ben@bagu.org>
2035 Set browser title with database and table titles.
2037 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2038 Set the browser title when the table changes and when the activity
2040 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2041 title when retrieving document info (the GlomDocument object).
2042 * src/main/java/org/glom/web/shared/GlomDocument.java: Add title field
2043 with getter and setter methods. Remove unused convenience constructor.
2044 Use default code formatting.
2046 2011-07-12 Ben Konrath <ben@bagu.org>
2048 Ignore LayoutItemPortals in the details view.
2050 I added a new DTO for the LayoutItemPortal so that I can ignore it in
2053 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Ignore
2054 LayoutItemPortal layout objects.
2055 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
2056 LayoutItemPortal objects when retrieving the details layout.
2057 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: New
2058 file. This is an empty class and just used to get type information for
2061 2011-07-12 Ben Konrath <ben@bagu.org>
2063 Use java-libglom 1.17.0.
2067 2011-07-11 Ben Konrath <ben@bagu.org>
2069 Remove "Table:" label from table selector.
2071 This matches a recent change in the Glom UI.
2073 * mockups/details-contacts.html:
2074 * mockups/details-projects.html:
2075 * mockups/listview-contacts.html:
2076 * mockups/listview-projects.html: Remove the "Table:" label from the
2078 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2080 2011-07-11 Ben Konrath <ben@bagu.org>
2082 Add main groups to the details view.
2084 This makes things look a little nicer in the details view. The next step
2085 is to implement the flowtable.
2087 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Inherit only the
2088 resources from the standard gwt css theme. Standard.css is now
2089 included in OnlineGlom.html so that the online glom css rules have
2090 precedence over the gwt theme.
2091 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
2092 the whole LayoutGroup to the DetailsView instead of just the titles.
2093 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2094 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Create the
2095 details layout with a helper class (GroupPanel). I might extract this
2096 class when I make the full flowtable.
2097 * src/main/java/org/glom/web/shared/layout/LayoutItem.java: Add empty
2098 string as default so I don't have to worry about NPEs when processing
2100 * src/main/webapp/OnlineGlom.html: Add the gwt standard css file (see
2101 note beside OnlineGlom.gwt.xml above).
2102 * src/main/webapp/style.css: Add default font-size to body to override
2103 the font-size set by the standard theme. Don't use h2 tags for
2104 group-title. Create new details-cell class.
2106 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2108 ConfiguredDocument: Set the port number too.
2110 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2111 (ConfiguredDocument.ConfiguredDocument): Get the port number from the
2112 Glom document. Presumably this worked sometimes so far because there is a
2113 default port number.
2115 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2117 ConfiguredDocument: Warn that sqlite and self-hosting are not supported.
2119 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2120 (ConfiguredDocument.ConfiguredDocument): Check that the hosting mode is
2121 correct, though we should throw an exception too.
2123 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2125 Fix a addDocuemnt typo.
2127 * src/main/java/org/glom/web/shared/Documents.java
2128 (Documents.addDocuemnt): Rename to addDocument().
2129 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
2130 (OnlineGlomServiceImpl.getDocuments): Adapt.
2132 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2134 Slightly improved log output when connection fails.
2136 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2137 (ConfiguredDocument.setUsernameAndPassword):
2138 We don't know for sure if it' the username/password that's wrong, so
2139 rephrase the message.
2140 Also ouput the exception message, though it's generic in this case.
2142 2011-07-08 Ben Konrath <ben@bagu.org>
2146 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also
2147 added braces to a one line if statement because the Eclipse formatter
2148 was getting confused.
2150 2011-07-07 Ben Konrath <ben@bagu.org>
2152 Update project config files for Eclipse 3.7 and use GWT 2.3.0.
2154 These should really be two separate tasks but I counldn't get things to
2155 work with GWT 2.2.0 and Eclipse 3.7.
2159 * .settings/org.eclipse.jdt.core.prefs:
2160 * .settings/org.eclipse.jdt.ui.prefs:
2161 * .settings/org.eclipse.ltk.core.refactoring.prefs:
2162 * .settings/org.eclipse.m2e.core.prefs:
2163 Add new config files. Update current files. Remove references to the
2164 webtools plugins as we're not using any of the webtools features.
2165 * .gitignore: Add logs directory which is created when running with
2167 * pom.xml: Update to GWT 2.3.0. Eclipse configuration was automatically added.
2168 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Moved from
2169 src/main/resources/org/glom/web/OnlineGlom.gwt.xml as per this known
2171 http://mojo.codehaus.org/gwt-maven-plugin/eclipse/google_plugin.html#Limitations
2173 2011-07-07 Murray Cumming <murrayc@murrayc.com>
2175 onlineglom.properties: Add explanatory comments.
2177 * src/main/resources/onlineglom.properties: Also change the default user
2178 from ben to someuser, to avoid the risk of people thinking we just
2179 stupidly hard-coded a locale path, when they see that on stderr or in a log.
2181 2011-06-28 Ben Konrath <ben@bagu.org>
2183 Use filename in Log for incorrect passwords.
2185 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
2186 getFileName(String) method to get the filename from the URI.
2188 2011-06-28 Ben Konrath <ben@bagu.org>
2190 Add the table name to the URL token for the ListPlace.
2192 This makes things consistent between the DetailsPlace and the
2193 ListPlace. It also allows the the ListPlace to be bookmarked.
2195 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2196 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2197 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2198 Remove getDefaultListLayout(). The default layout is now returned
2199 by the getListLayout() method when the table name is an empty string.
2200 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2201 Add table name field. Change to a new ListPlace when the table
2202 has been changed. Use getListLayout() for getting the default
2204 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2205 Add table name field. Set the correct table name in the list box
2206 when loading from bookmark. This corrects a problem for the
2208 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2209 Move table name to super-class (HasSelectableTable). Move document
2210 and table URL keys to super-class in HasSelectableTable.
2211 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2212 Add table name field. Add Tokenizer class with URL key common to
2213 the subclasses (DetailsPlace and ListPlace).
2214 * src/main/java/org/glom/web/client/place/ListPlace.java:
2215 Add table name. Add code to parse the URL token.
2216 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2217 Update ListPlace construction with empty table name string.
2218 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2219 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2220 Change setTableSelectedIndex(int) to setSelectedTableName(String).
2221 Update ListPlace construction with table name string.
2222 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2223 Change defaultTableName field to tableName to reflect how it's now
2224 used. Update the getter and setter methods.
2226 2011-06-28 Ben Konrath <ben@bagu.org>
2228 Enable the table selector in the DetailsView.
2230 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2231 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2232 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2233 Remove getDefaultDetailsLayout(). The default layout is now returned
2234 by the getDetailsLayout() method when the table name is an empty
2236 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2237 event handler for table change event. Change to using
2238 getDetailsLayout() for the default details layout.
2239 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add table
2241 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use table
2242 when navigating to the details place.
2244 2011-06-27 Ben Konrath <ben@bagu.org>
2246 Use filename based unique document ID in URL and for RPC.
2248 The document ID is the glom document name with spaces (' ') replaced
2249 with pluses ('+') and without the .glom extension.
2251 This change is mostly a string substitution of 'documentTitle' for
2252 'documentID'. The only code change is the addition of a Documents DTO to get the
2253 filename to document title mappings as indicated below.
2255 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2256 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2257 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2258 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2259 Use Documents DTO to create the document links in the document
2261 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2262 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2263 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2264 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2265 * src/main/java/org/glom/web/client/place/ListPlace.java:
2266 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2267 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2268 * src/main/java/org/glom/web/client/ui/ListView.java:
2269 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2270 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2271 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2272 * src/main/java/org/glom/web/server/Log.java:
2273 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2274 getDocumentTitles() to getDocuments() and return the Documents DTO.
2275 * src/main/java/org/glom/web/shared/Documents.java: New DTO for
2276 transferring the filename to document title mappings.
2278 2011-06-25 Ben Konrath <ben@bagu.org>
2280 Make the authentication popup work again.
2282 This bug was introduced when I extracted ConfiguredDocument to its own class.
2284 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Return the
2285 correct success / fail status in setUsernameAndPassword().
2287 2011-06-25 Ben Konrath <ben@bagu.org>
2289 Use filename as unique key for configuring database usernames and passwords.
2291 This replaces the use of the Glom document title which could change
2292 depending on the locale. Thanks to Murray Cumming for pointing out this
2295 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2296 * src/main/resources/onlineglom.properties:
2298 2011-06-24 Ben Konrath <ben@bagu.org>
2300 Pass primary key value to DetailsView.
2302 This enables the DetailsView to load the correct data.
2304 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2305 primary key value field and set in constructor. Pass primary key
2306 value to getDetailsData().
2307 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add URL
2308 variables for document title and primary key value.
2309 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Pass primary
2310 key value to the DetailsPlace.
2312 2011-06-24 Ben Konrath <ben@bagu.org>
2314 Add primary key index to LayoutGroup DTO and add ProvidesKey to CellTable.
2316 This allows the primary key to be retrieved by the Details button. This
2317 functionality has not been implemented yet but it's in the works.
2319 * src/main/java/org/glom/web/client/activity/ListActivity.java: Pass
2320 the LayoutGroup result to ListView.setCellTable instead of all of its
2321 fields individually.
2322 * src/main/java/org/glom/web/client/ui/ListView.java:
2323 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use
2324 LayoutGroup as parameter for setCellTable. Add ProvidesKey to CellTable
2325 get the primary key for the table.
2326 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
2327 index of the primary key in the LayoutGroup accounting for hidden
2328 primary keys. Rename getJavaNumberFormat() to
2329 convertToJavaNumberFormat() for consistency. Cleanup / add some
2331 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add a
2332 field for primary key index and a field to indicate whether the
2333 primary key is hidden or not.
2335 2011-06-23 Ben Konrath <ben@bagu.org>
2337 Rename getTableData methods to getListData.
2339 This is a rename refactor for consistency with other methods.
2341 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2342 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2343 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2344 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2346 2011-06-23 Ben Konrath <ben@bagu.org>
2348 Extract the ConfiguredDocument innerclass into its own class.
2350 This makes the servlet code more object oriented.
2352 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Extracted
2353 from private ConfiguredDocument class in OnlineGlomServiceImpl.
2354 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use the
2355 new ConfiguredDocument class.
2357 2011-06-21 Ben Konrath <ben@bagu.org>
2359 Use the LayoutGroup group for the list layout instead of ColumnInfo and LayoutListTable.
2361 This makes things more inline with how libglom works and reduces code
2362 duplication. This refactor lays the groundwork for adding the primary key to
2363 the LayoutGroup object.
2365 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2366 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2367 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2368 Change method names to getListLayout and getDefaultListLayout for
2369 consistency. Use LayoutGroup as the DTO for the list layout instead of
2370 ColumnInfo and LayoutListTable.
2371 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use the
2372 new method names along with the LayoutGroup object for transferring the
2374 * src/main/java/org/glom/web/client/ui/ListView.java:
2375 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2376 Use ArrayList<LayoutItem> instead of ColumnInfo[] in setCellTable().
2377 * src/main/java/org/glom/web/shared/ColumnInfo.java: Deleted. Replaced
2379 * src/main/java/org/glom/web/shared/LayoutListTable.java: Deleted.
2380 Replaced with LayoutGroup.
2381 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add
2382 expectedResultSize and defaultTableName fields which are needed for
2384 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
2385 type field which is needed for the list layout but will also be
2386 useful for the details layout as things progress.
2387 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2388 Make class abstract. Remove the unnecessary
2389 getFormattingHorizontalAlignment method. Add setFormatting method.
2391 2011-06-16 Ben Konrath <ben@bagu.org>
2393 Add scripts for building and installing war.
2395 These will help when updating OnlineGlom but they're also good
2396 supplemental documentation of the build and deployment proceeding.
2398 * utils/build-onlineglom-war.sh: New file.
2399 * utils/install-onlineglom-war.sh: New file.
2401 2011-06-16 Ben Konrath <ben@bagu.org>
2403 Create wrapper class to create consistent log messages.
2405 I wrapped methods in the Log class of gwt-log to add the method names
2406 from the servlet and create consistent formatting of the document title
2407 and table names in the log messages.
2409 * src/main/java/org/glom/web/server/Log.java: New file with wrapped methods.
2410 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert all
2411 log methods to use methods from wrapped Log class.
2413 2011-06-16 Ben Konrath <ben@bagu.org>
2415 Remove superfluous conditional return.
2417 Thanks to Murray Cumming for pointing this out!
2419 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2421 2011-06-15 Ben Konrath <ben@bagu.org>
2423 Return an ArrayList of LayoutGroups for the Details layout.
2425 This corrects a problem with the details layout as it can have more
2426 than one top level LayoutGroup.
2428 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2429 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Change
2430 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return
2431 an ArrayList<LayoutGroup> in the get*DetailsLayout methods.
2432 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Deal
2433 with ArrayList of LayoutGroups for the details view layout.
2434 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2435 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return an
2436 ArrayList<LayoutGroup> in the get*DetailsLayout methods. Inline
2437 getTableFieldsToShowForSequence() into getFieldsToShowForSQLQuery() to simplify
2438 the code a bit. Rename getTableFieldsToShowForSequenceAddGroup() to
2439 getFieldsToShowForSQLQueryAddGroup() to try to keep things more consistent.
2441 2011-06-14 Ben Konrath <ben@bagu.org>
2443 Use cast_dynamic method to determine the libglom LayoutItem type.
2445 This is better than finding the LayoutItem type by using the string
2446 returned from the get_part_type_name() method.
2448 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2450 2011-06-14 Ben Konrath <ben@bagu.org>
2452 Add method names to log entries in the servlet.
2454 This helps when tracking down deployment problems.
2456 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2458 2011-06-14 Ben Konrath <ben@bagu.org>
2460 Add data to the DetailsView using a hard-coded primary key value.
2462 The layout and functionality of the DetailsView is not complete. This
2463 is just a checkpoint so the patch doesn't get too big.
2465 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2466 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2467 Add getDetailsData() servlet method.
2468 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2469 Add RPC to getDetailsData(). Change the way the LayoutGroups and
2470 LayoutFields are added to the DetailsView.
2471 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2472 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2473 Add setData() method. Change addLayoutGroup() and addLayoutField() to
2474 take the string for the title instead of the object.
2475 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2476 Add implementation getDetailsData() along with some private helper
2478 * src/main/webapp/style.css: Add padding to details-data class. Add a
2479 details-label class with the same padding as the details-data class.
2481 2011-06-03 Ben Konrath <ben@bagu.org>
2483 Use presenter.goTo() to change to the DetailsPlace.
2485 This will make things easier when we need to open the DetailsView with
2486 data specific to the row that was clicked.
2488 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2490 2011-06-02 Ben Konrath <ben@bagu.org>
2492 Add CSS file from mockups.
2494 I'm adding this now because it's going to be useful to have when
2495 developing the DetailsView. The TableSelectionView and ListView aren't
2498 * src/main/webapp/OnlineGlom.html:
2499 * src/main/webapp/style.css:
2501 2011-06-02 Ben Konrath <ben@bagu.org>
2503 Use String.isEmpty() to check for empty string.
2505 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2507 2011-06-02 Ben Konrath <ben@bagu.org>
2509 Display main layout group titles in the DetailsView.
2511 This is the start of the DetailsActivity/DetailsView implementation.
2513 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2514 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2515 Add getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup() methods.
2516 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2517 Get the layout information for the details view from the server and set
2518 the main layout group titles.
2519 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2520 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2521 Add addLayoutGroup() and addLayoutField() methods. This are just
2522 temporary methods for creating the the details view that will change
2524 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2525 Implement getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup()
2527 * src/main/java/org/glom/web/shared/layout/Formatting.java:
2528 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2529 * src/main/java/org/glom/web/shared/layout/LayoutItem.java:
2530 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java:
2531 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2532 Data Transfer Objects that mimic the libglom object structure. These are
2533 used for transferring the details layout but could also be used for
2534 transferring the list layout.
2536 2011-05-27 Ben Konrath <ben@bagu.org>
2538 Reset the AuthenticationPopup when clearing the ListView.
2540 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2542 2011-05-27 Ben Konrath <ben@bagu.org>
2544 Fix problem with onlineglom.properties file loading.
2546 The old way worked in Eclipse but not on the server. Loading the
2547 onlineglom.properties file now works in Eclipse and on the server.
2549 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2551 2011-05-24 Ben Konrath <ben@bagu.org>
2553 Update gwt-log from 3.1.0 to 3.1.2.
2555 Gwt-log 3.1.0 has been marked as depreciated.
2559 2011-05-24 Ben Konrath <ben@bagu.org>
2561 Add comment to ListActivity.goTo() method.
2563 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2565 2011-05-24 Ben Konrath <ben@bagu.org>
2567 Remove FIXME in convertGdkColorToHtmlColour()
2569 The Gdk::Color value returned by libglom is 16-bits per channel on both
2570 64 and 32-bit platforms.
2572 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2574 2011-05-19 Ben Konrath <ben@bagu.org>
2576 Improve performance of initial ListView load.
2578 I removed a round trip to the server for getting the default table name
2579 and then requesting information about that table. This also removes a potential
2580 problem with the table change handler not being setup in time to receive the
2581 table change event from the ListActivity.
2583 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2584 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2585 getDefaultLayoutListTable() method. Improve comments.
2586 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use
2587 getDefaultLayoutListTable() method instead of firing a table change
2588 event to get the table to load.
2589 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2590 implementation of getDefaultLayoutListTable() method.
2591 * src/main/java/org/glom/web/shared/LayoutListTable.java: Add field for
2594 2011-05-19 Ben Konrath <ben@bagu.org>
2596 Override toDebugString() in TableChangeEvent.
2598 This is useful to have for debugging.
2600 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2602 2011-05-19 Ben Konrath <ben@bagu.org>
2604 Add a "Back to List" link when at the DetailsPlace.
2606 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2607 Populate the CellTable based on the selected table of the ListBox if
2608 it's set otherwise use the default table. This allows the "Back to
2610 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2611 Remove Place from constructors. Add a setPlace() method. Add
2612 goToPlace() method. Set class as presenter for TableSelectionView.
2613 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2614 Use the same TableSelectionActivity when switching between the List and
2616 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2617 Subclass the new HasSelectableTablePlace. This removes some duplicate
2619 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2620 New class to represent Places that display the TableSelectionView.
2621 * src/main/java/org/glom/web/client/place/ListPlace.java:
2622 Subclass the new HasSelectableTablePlace. This removes some duplicate
2624 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2625 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2626 Add Presenter interface. Add setBackLinkVisible() method. Add
2627 setBackLink() method.
2629 2011-05-18 Ben Konrath <ben@bagu.org>
2631 Enable the "Details" buttons.
2633 Right now only an empty details view is displayed.
2635 * src/main/java/org/glom/web/client/ClientFactory.java:
2636 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2637 Add DetailsView to ClientFactory.
2638 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2639 A basic activity for the details view.
2640 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2641 Add a new constructor that takes a DetailsPlace. Rename shutdown() to
2643 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2644 Add DetailsPlace.Tokenizer to the list of tokens that are generated by
2646 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2647 Create a new DetailsActivity when a DetailsPlace is requested. Remove
2648 unnecessary super() in constructor.
2649 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2650 Create a new TableSelectionActivity when a DetailsPlace is requested. We
2651 really shouldn't create a new TableSelectionActivity for both the ListPlace
2652 and the DetailsPlace so this should be considered a temporary solution.
2653 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2654 New file. Represents a URL for the details view.
2655 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2656 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2657 A basic details view interface and implementation.
2658 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2659 Enable the "Details" buttons.
2661 2011-05-12 Ben Konrath <ben@bagu.org>
2663 Use a LayoutPanel with multiple display areas for main layout.
2665 This is mostly a refactor in that there are no changes from the user
2666 point of view. These changes are required so that we can swap out the list view
2667 with the details view when the user clicks the "Details" button.
2669 * src/main/java/org/glom/web/client/ClientFactory.java:
2670 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2671 OnlineGlomView. Add TableSelectionView, ListView and
2672 AuthenticationPopup.
2673 * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
2674 for main layout. Add display regions for main activities. Add
2675 activity manager for for main activities.
2676 * src/main/java/org/glom/web/client/activity/ListActivity.java: New
2677 file from parts of the deleted OnlineGlomActivity.
2678 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2679 New file from parts of the deleted OnlineGlomActivity.
2680 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2681 * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
2682 New files for app wide table change event.
2683 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2684 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
2685 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2686 Activity mappers for the main activities replace the deleted app-wide
2688 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
2689 Fix a spelling error in he comment.
2690 * src/main/java/org/glom/web/client/ui/ListView.java:
2691 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2692 Renamed from LayoutListView and modified for MVP. This still not a
2693 proper dumb view as prescribed by the MVP pattern but it works for now.
2694 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2695 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2696 New widget stripped out of the deleted OnlineGlomView.
2697 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2698 Remove hack that is fixed by this patch.
2700 2011-05-06 Ben Konrath <ben@bagu.org>
2702 Rename OnlineGlomPlace to ListPlace.
2704 The only change besides the rename is that url will now display #list
2705 instead of #Document.
2707 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2708 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
2709 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2710 * src/main/java/org/glom/web/client/place/ListPlace.java:
2711 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2713 2011-05-06 Ben Konrath <ben@bagu.org>
2715 Use Presenter for app navigation.
2717 This is the proper way to deal with Place (URL) changes with the MVP
2720 * src/main/java/org/glom/web/client/ClientFactory.java:
2721 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2722 PlaceHistoryMapper and PlaceHistoryHandler.
2723 * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
2724 PlaceHistoryMapper and PlaceHistoryHandler.
2725 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2726 Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
2727 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2728 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2729 Add Presenter interface and setPresenter methods. Rename addHyperLink
2730 to addDocumentLink taking only the document title as a parameter.
2732 2011-04-14 Ben Konrath <ben@bagu.org>
2734 Prompt for db username/password if they haven't been set.
2736 This is implemented with a popup widget that is contained within the
2737 OnlineGlomView and managed by the OnlineGlomActivity.
2739 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
2740 methods for checking and setting the database username and password.
2741 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
2742 new methods for checking and setting the database username and
2744 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2745 Display authentication popup if the JDBC connection to the database
2746 has not been authenticated.
2747 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
2749 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
2750 for dealing with the authentication popup.
2751 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
2752 Implement the methods for dealing with the authentication popup.
2753 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
2754 try to executed queries if the database connection hasn't been
2755 authenticated. Implement methods for checking and setting the
2756 database username and password.
2758 2011-04-12 Ben Konrath <ben@bagu.org>
2760 Make log messages a little clearer.
2762 Add a dash betweeen the document title and the table name.
2764 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2766 2011-04-12 Ben Konrath <ben@bagu.org>
2768 Protect against NPEs when cleaning up database resources.
2770 While this isn't strictly necessary because the exception is caught,
2771 not protecting against the NPEs makes it harder to find the real error
2774 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2776 2011-04-12 Ben Konrath <ben@bagu.org>
2778 Move configuration of the servlet to the constructor.
2780 The servlet will be initialized even if the database authentication
2781 information is not set or correct. I still need to add the UI for prompting
2782 the user for the authentication information when it's required.
2784 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
2785 javadocs for getDocumentTitles() method.
2786 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2787 Set error message when RPC fails.
2788 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
2789 glom files directory from the configuration file. Try to set the
2790 database authentication information for the specific document if it's
2791 set and works otherwise try to use the global authentication
2792 information set for the directory.
2793 * src/main/resources/onlineglom.properties: Moved from
2794 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
2795 Added detailed comments for the new keys.
2797 2011-04-11 Ben Konrath <ben@bagu.org>
2799 Remove unnecessary @Override in DocumentSelectionViewImpl.
2801 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2803 2011-04-11 Ben Konrath <ben@bagu.org>
2805 Remove center alignment in DocumentSelectionView.
2807 The title element is still centred but the document titles and bottom
2808 sentence are both left-aligned.
2810 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
2812 2011-04-11 Ben Konrath <ben@bagu.org>
2814 Change 'Demo' naming convention to 'Document'.
2816 This is just a rename refactor with no functional changes to the code.
2818 * src/main/java/org/glom/web/client/ClientFactory.java:
2819 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2820 * src/main/java/org/glom/web/client/OnlineGlom.java:
2821 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2822 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2823 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2824 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
2825 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2826 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
2827 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2828 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2829 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
2830 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2832 2011-04-08 Ben Konrath <ben@bagu.org>
2834 Remove FIXME from safeLongToInt() method.
2836 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
2839 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2841 2011-04-08 Ben Konrath <ben@bagu.org>
2843 Display an error if no glom documents are found in the specified directory.
2845 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2846 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
2847 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
2848 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2850 2011-04-08 Ben Konrath <ben@bagu.org>
2852 Add copyright header to one more file ... oops.
2854 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2856 2011-04-08 Ben Konrath <ben@bagu.org>
2858 Add copyright header to files without it.
2860 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2861 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
2862 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
2863 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
2864 * src/main/java/org/glom/web/shared/ColumnInfo.java:
2865 * src/main/java/org/glom/web/shared/GlomField.java:
2867 2011-04-08 Ben Konrath <ben@bagu.org>
2869 Add support for accessing multiple glom documents in the servlet.
2871 This completes the demo selection functionality.
2873 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
2874 document title to methods.
2875 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2876 document title to methods.
2877 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2878 Set browser window title when the activity starts. Correct name of
2879 document title variable.
2880 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2881 Set browser window title when the activity starts. Set the table
2882 selector change handler after table selector has been set. Clear the
2883 OnlineGlomView when the activity has been stopped.
2884 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
2885 document title as the place token. Use "#Document:" instead of
2886 "#OnlineGlomPlace:" in the URL.
2887 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
2888 Change heading to "Online Glom"
2889 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
2890 document title in RPC methods.
2891 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
2892 setDocumentTitle() method. Add clear() method.
2893 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
2894 setDocumentTitle() method. Implement clear() method which removes the
2895 change handler on the ListBox, clears the ListBox and clears the
2897 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2898 Implement methods with document title. Keep track for the configured
2899 glom documents and their corresponding JDBC configurations in a hash
2900 table. This information is retrieved using the document title as the
2901 key in the hash table.
2902 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
2903 document title field as it's no longer needed.
2905 2011-04-08 Ben Konrath <ben@bagu.org>
2907 Update the Eclipse JDT configuration.
2909 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
2910 methods. Automatically add the copyright header to new files.
2912 2011-04-05 Ben Konrath <ben@bagu.org>
2914 Add new page for demo selection.
2916 This patch adds all the components required to view and start an
2917 OnlineGlom demo by clicking on the desired hyperlink. The user is
2918 able to return to the demo selection page with the browser's back
2919 button. I still need to modify the servlet to work with multiple
2920 documents so all demo links will load the file defined in the
2921 OnlineGlom.properties.
2923 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
2924 This is only useful during development so we don't need to save it.
2925 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
2926 get a reference to the DemoSelectionView.
2927 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
2928 method to get a reference to the DemoSelectionView.
2929 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
2930 default view to DemoSelectionView.
2931 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
2932 to get glom document titles for glom files in a hard-coded directory.
2933 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2934 method to get glom document titles for glom files in a hard-coded
2936 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
2937 Presenter for DemoSelectionView.
2938 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
2939 for DemoSelectionView.
2940 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2941 Update for DemoSelectionView.
2942 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
2943 Basic 'Place' implementation for the DemoSelectionView.
2944 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
2945 The interface for the DemoSelectionView.
2946 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
2947 The implementation of the DemoSelectionView.
2948 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
2949 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
2950 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2951 implementation of method to get glom document titles for glom files
2952 in a hard-coded directory.
2953 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
2954 on longer being used.
2955 * src/main/webapp/glom.png: Glom logo.
2957 2011-04-05 Ben Konrath <ben@bagu.org>
2959 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
2961 This is the forth and final commit of a refactor that will allow
2962 OnlineGlom to be used with multiple documents.
2964 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2965 Move RPC code from OnlineGlomViewImpl to this class.
2966 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
2968 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
2969 RPC code to the presenter class (the P in MVP).
2971 2011-04-04 Ben Konrath <ben@bagu.org>
2973 Start moving the existing OnlineGlom code to MVP.
2975 This work is based on the GWT MVP framework that is documented here:
2977 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
2979 This is the third commit of a refactor that will allow OnlineGlom to
2980 be used with multiple documents.
2982 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
2983 Interface for client factory which is used to get instances of various
2984 classes throughout the app.
2985 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
2986 Implementation of client factory.
2987 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
2988 initialize the MVP framework.
2989 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2990 New file. Activity manager for the main container widget. This is the
2992 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
2993 Maps place (URL) to its corresponding activity.
2994 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2995 New file. This is just a place holder for a generated file.
2996 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
2997 New file. Represents the URL for the main Online Glom app.
2998 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
2999 for changes in LayoutListViewImpl.
3000 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
3001 interface for View. Move code to OnlineGlomViewImpl class.
3002 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
3003 file. Implementation of OnlineGlomView.
3004 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
3005 Place resources. Use ClientFactoryImpl by default.
3007 2011-04-04 Ben Konrath <ben@bagu.org>
3009 Move View classes to their own package.
3011 This is the second commit of a refactor that will allow OnlineGlom to
3012 be used with multiple documents.
3014 * src/main/java/org/glom/web/client/OnlineGlom.java:
3015 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
3016 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
3018 2011-04-02 Ben Konrath <ben@bagu.org>
3020 Move UI code from the main module to its own class.
3022 This is the first commit of a refactor that will allow OnlineGlom to be
3023 used with multiple documents.
3025 * src/main/java/org/glom/web/client/LayoutListView.java: Update
3026 references to OnlineGlom to OnlineGlomView.
3027 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
3028 OnlineGlomView and instantiate it here.
3029 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
3030 represents the main OnlineGlomView with one document.
3032 2011-04-01 Ben Konrath <ben@bagu.org>
3034 Fix formatting of gwt.xml and add DTD.
3036 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
3038 2011-03-30 Ben Konrath <ben@bagu.org>
3040 Propperly convert gdkColor string to html colour string.
3042 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3044 2011-03-28 Ben Konrath <ben@bagu.org>
3046 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
3048 This implementation matches
3049 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
3050 readable and is not tied to Swig.
3052 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3054 2011-03-28 Ben Konrath <ben@bagu.org>
3056 Use read-only checkboxes for boolean field types.
3058 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
3059 in the CellTable based on the field type. It currently only
3060 distinguishes between boolean and text columns but I'll need to add
3061 support for more types.
3062 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
3063 column type in the ColumnInfo object. Add method to convert between the
3064 glom field type enum in ColumnInfo and the glom field type in libglom.
3065 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
3067 * src/main/java/org/glom/web/shared/GlomField.java: Add support for
3068 getting and setting booleans.
3070 2011-03-25 Ben Konrath <ben@bagu.org>
3072 Don't get the Date twice from the ResultSet.
3074 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3076 2011-03-25 Ben Konrath <ben@bagu.org>
3078 Cleanup code in the servlet.
3080 * TODO: Remove item about row count. Add item about testing row count
3081 query with large number of rows.
3082 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
3083 spelling mistakes, change method parameter to be consistent with
3086 2011-03-25 Ben Konrath <ben@bagu.org>
3088 Add server side logging with the gwt-log library.
3090 * .gitignore: Ignore the log file we're now producing.
3091 * TODO: Add a couple TODO item for logging.
3092 * pom.xml: Add gwt-log and log4j as a dependency.
3093 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
3094 logging of errors, warnings and some important info.
3095 * src/main/resources/log4j.properties: New file to configure log4j.
3097 2011-03-24 Ben Konrath <ben@bagu.org>
3099 Add a disable button for the Details view.
3101 * src/main/java/org/glom/web/client/LayoutListView.java:
3103 2011-03-22 Ben Konrath <ben@bagu.org>
3105 Use a count query to get the number of rows for the list view pager.
3107 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3109 2011-03-22 Ben Konrath <ben@bagu.org>
3111 Add more TODO information about CellTable pager positioning.
3115 2011-03-19 Ben Konrath <ben@bagu.org>
3117 Add TODO item about CellTable pager positioning.
3121 2011-03-18 Ben Konrath <ben@bagu.org>
3123 Remove unneeded GlomFieldColumn class.
3125 This is just a small code cleanup.
3127 * src/main/java/org/glom/web/client/LayoutListView.java:
3129 2011-03-18 Ben Konrath <ben@bagu.org>
3131 Use cursor mode in the query that gets data for the list view.
3133 I still need to fix the potential memory problem when getting the row
3134 count for the list view.
3136 * TODO: Add note about testing memory usage with large data sets. Add
3137 item about fixing row counting with large data sets.
3138 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
3139 PostgreSQL JDBC driver into cursor mode when getting data for the
3142 2011-03-15 Ben Konrath <ben@bagu.org>
3144 Remove the GWT Container from the Eclipse build classpath.
3146 The GWT dependencies are set by Maven so this isn't needed.
3150 2011-03-15 Murray Cumming <murrayc@murrayc.com>
3152 Added some earlier mockups to git, but not to the tarball dist.
3154 * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
3155 Openismus. These hopefully show how we might structure the HTML so that
3156 it can be styled easily with CSS. However, we probably need to adapt them
3157 for the CSS structure that GWT dictates for common widgets.
3159 2011-03-14 Ben Konrath <ben@bagu.org>
3161 Locate OnlineGlom.properties using the ServletContext.
3163 This is required to be able to locate the file in the deployed servlet.
3165 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3166 Configure the database and glom document in in a helper method so
3167 that the ServletContext can be used to locate OnlineGlom.properties.
3168 * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
3169 src/main/webapp. This is the proper location for .properites files.
3171 2011-03-12 Ben Konrath <ben@bagu.org>
3173 Add note to README about why we're compiling down to obfuscated JavaScript.
3177 2011-03-11 Ben Konrath <ben@bagu.org>
3179 Use properties file to configure servlet.
3181 This allows people to change the glom file path, db username and db
3182 password without recompiling the code.
3184 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3185 * src/main/webapp/OnlineGlom.properties:
3187 2011-03-11 Ben Konrath <ben@bagu.org>
3189 Use table fields in layout list view if the layout list is not defined.
3191 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3192 Manually create a LayoutFieldVector for the query builder using the
3193 table fields when a layout list is not defined in the glom file.
3195 2011-03-11 Ben Konrath <ben@bagu.org>
3197 Only show FIXME string for images when there's an image.
3199 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
3200 in this change are some small code cleanups.
3202 2011-03-11 Ben Konrath <ben@bagu.org>
3204 Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
3206 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3208 2011-03-11 Ben Konrath <ben@bagu.org>
3210 Correctly set the index of the default table.
3212 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3213 Correctly set the index of the default table. Add commented out example
3216 2011-03-10 Ben Konrath <ben@bagu.org>
3218 Add comment to pom.xml about the previous change.
3220 * pom.xml: Add comment about the deployment issue so that it's obvious
3221 why java-libglom is set to the provided scope.
3223 2011-03-10 Ben Konrath <ben@bagu.org>
3225 Change java-libglom dependency from compile to provided in pom.xml.
3227 Since java-libglom uses jni it can only be loaded once and therefore
3228 must be placed in $CATALINA_HOME/lib and not included in each war.
3229 This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
3230 More information about this issue can be found in the Tomcat 6 release
3231 notes in the "JNI Based Applications" section:
3233 http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
3235 * README: Remove note about this issue. Deployment info should really
3236 be on the wiki anyway so I'll add it right now.
3237 * pom.xml: Change java-libglom dependency from compile to provided so
3238 that it's copied in to the packaged war.