1 2012-01-19 Murray Cumming <murrayc@murrayc.com>
3 OnlineGlomServiceImpl: Get .glom files recursively.
5 * pom.xml: Depend on commons-io from org.apache.commons.
6 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
7 init(): Use org.apache.commons.io.FileUtils.listFiles() to get the
8 files recursively, and with the easier filter for the extension.
9 Use org.apache.commons.io.FilenameUtils.removeExtension() to
10 simplify that code too.
12 2012-01-19 Murray Cumming <murrayc@murrayc.com>
14 README: Mention that you must install java-libglom packages separately.
16 But then it works, because java-libglom is now in the central maven
19 2012-01-18 Murray Cumming <murrayc@murrayc.com>
21 locales drop-down: Show the correct selected locale when the URL changes.
23 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
24 .java: setPlace(): Move some code into fillView().
26 2012-01-18 Murray Cumming <murrayc@murrayc.com>
28 locales drop-down: Do not lose the primary key.
30 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
31 start(): onLocaleChange(): Pass the current primary key value,
32 instead of an empty value.
34 2012-01-18 Murray Cumming <murrayc@murrayc.com>
36 locales drop-down: Do not lose the drop-down selection.
38 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
39 .java (TableSelectionActivity.fillView): Set the selected locale
40 after changing the drop-down items (though we do not really need
41 to change them just because the locale changes.)
43 2012-01-18 Murray Cumming <murrayc@murrayc.com>
45 locales drop-down: Change the tables list when this changes.
47 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
48 .java: TableSelectionActivity.start(): Move the async table titles
49 retrieval into a private fillView() method and also call this when
50 the chosen locale changes.
51 Note that the document title is not actually translatable yet, but
52 that is a problem that I should fix soon in libglom.
54 2012-01-18 Murray Cumming <murrayc@murrayc.com>
56 Improve the placement of the locales drop-down.
58 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
59 Put the title and locales drop-down in a div (gwt.FlowTable).
60 * src/main/webapp/style.css: Add magic css properties to make this work.
61 Also remove the left margin from the title so that it lines up with the
64 2012-01-18 Murray Cumming <murrayc@murrayc.com>
66 locales selector: Show human-readable locale titles.
68 * src/main/java/org/glom/web/server/ConfiguredDocument.java
69 getDocumentInfo(): Use java.util.Locale to show a real title of
70 each locale, in the locale's own language.
72 2012-01-17 Murray Cumming <murrayc@murrayc.com>
74 Add a language/locale selector drop-down.
76 * src/main/java/org/glom/web/shared/DocumentInfo.java:
77 Add getLocaleIDs(), setLocaleIDs(), getLocaleTitles(), setLocaleTitles().
78 * /src/main/java/org/glom/web/server/ConfiguredDocument.java:
79 getDocumentInfo(): Store the available Locales in the DocumentInfo.
80 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
81 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
82 Add a ListBox to show the available locales. Add getLocaleSelector(),
83 setLocaleList(), getSelectedLocale(), setSelectedLocale().
84 * src/main/java/org/glom/web/client/event/LocaleChangeEvent.java
85 * src/main/java/org/glom/web/client/event/LocaleChangeEventHandler.
86 java: Add these classes.
87 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
88 start(): Fill the locales ListBox. Handle its change event, firing a
90 setPlace(): Show the selected locale as specified by the URL token.
91 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
92 * src/main/java/org/glom/web/client/activity/ListActivity.java:
93 Handle LocaleChangeEvent, going to a new *Place with that locale.
95 The placement of the ListBox is not pretty, and it currently uses the ID
96 as a title, instead of "English", "Deutsch", "Espanola", etc, but it
100 2012-01-17 Murray Cumming <murrayc@murrayc.com>
102 Search box: Show the search text from the URL token.
104 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
105 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
106 Add setQuickFindText().
107 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
108 .java: setPlace(): Store the queryText if the place is a ListPlace,
109 and call TableSelectionView.setQuickFindText().
111 2012-01-17 Murray Cumming <murrayc@murrayc.com>
113 Allow use of translations via, for instance, &lang=de in the URL.
115 * pom.xml: Use the unstable java-libglom 1.21 version.
117 * src/main/java/org/glom/web/client/OnlineGlomService.java:
118 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java
119 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
120 init(): Instead of calling TranslatableItem.set_current_locale()
121 (now removed), call ConfiguredDocument.setDefaultLocaleID().
122 However, this is only for default locales, which are not needed to
123 change the locale in the URL.
124 getDocumentInfo(), getListViewLayout(), getSortedListViewData(),
125 getDetailsData(), getDetailsLayoutAndData(), getRelatedListData(),
126 getSortedRelatedListData(): Add a localeID parameter, so we can get the
127 layout for a particular locale.
128 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
129 Add get/setDefaultLocaleID().
130 getDocumentInfo(), getListViewData(), getRelatedListData(),
131 getDetailsLayoutGroup(), getListViewLayoutGroup(),
132 createLayoutItemPortalDTO(), convertToGWTGlomLayoutItemField(): Add a
133 localeID parameter, so we can get the layout for a particular locale.
135 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
136 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
137 * src/main/java/org/glom/web/client/place/ListPlace.java:
138 Parse and construct a lang parameter too.
140 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
141 start(): Pass the defaultLocaleID to addDocumentLink(). It is then
142 passed to subsequent methods and constructors.
143 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
144 * src/main/java/org/glom/web/client/activity/ListActivity.java:
145 Store the localeID from the *Place and pass it to other constructors
146 and methods, such as OnlineGlomServiceAsync.getDetailsLayoutAndData().
148 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
149 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
150 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
151 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
152 * src/main/java/org/glom/web/client/ui/ListView.java:
153 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
154 Take localeID parameters and pass them to subsequent constructors and
155 methods, so that the layout is always retrieved for that locale.
157 This is rather repetitive.
159 Note that "" means the original (default) locale of the Glom document,
160 which is usually English.
162 2012-01-17 Murray Cumming <murrayc@murrayc.com>
164 Documents: Remove final keyword to fix startup configuration.
166 * src/main/java/org/glom/web/shared/Documents.java: Remove the
167 final keywords on the private member variables because that breaks
168 the startup, apparently (there are warnings) because it stops them
169 from being serialized. I added these in the previous commit.
171 2012-01-13 Murray Cumming <murrayc@murrayc.com>
173 Documents: Add some final keywords.
175 * src/main/java/org/glom/web/shared/Documents.java: Eclipse suggested
178 2012-01-13 Murray Cumming <murrayc@murrayc.com>
180 OnlineGlomServiceImpl: Add to overview comments.
182 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
183 Note that this is where all the document are loaded. They are not
184 loaded freshly for each page.
186 2012-01-12 Murray Cumming <murrayc@murrayc.com>
190 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
191 Add a TextBox for the text of a quick find.
192 Add getQuickFindBox(), to get the widget, and getQuickFindText() to
194 setBackLink(): Add a String quickFind parameter.
195 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
196 (TableSelectionView): Add getQuickFindBox() and getQuickFindText()
197 to the base interface, because that is how TableSelectionViewImpl is used.
198 * src/main/webapp/style.css: Add style for the search box and its label.
200 * src/main/java/org/glom/web/client/event/QuickFindChangeEvent.java:
201 * src/main/java/org/glom/web/client/event/QuickFindChangeEventHandler.java:
202 Add these files, based on the existing TableChangeEvent and
203 TableChangeEventHandlers.
204 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
205 start(): Handle QuickFindChangeEvent, passing its quickFind text to
206 a ListPlace() that the user should be taken to.
207 * src/main/java/org/glom/web/client/activity/ListActivity.java
208 start(): Handle it here too and adapt the TableChangeEvent handler to
209 pass the extra "" quickFind parameter to ListPlace.
210 * src/main/java/org/glom/web/client/place/ListPlace.java:
211 Constructor: Take an extra String quickFind parameter and store it,
212 returning it from a new getQuickFind() method.
213 getToken(): Put the quickFind text in the URL token.
214 getPlace(): Parse the quickFind text from the URL token.
215 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
216 va: addDocumentLink(): Pass an extra "" quickFind parameter to the
217 ListPlace constructor.
218 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
219 .java: start(): Add a Change handler for the TableSelectionView's
220 TextBox (via its base HasChangeHandlers interface), firing the new
221 QuickFindChangeEvent.
222 setPlace(): Adapt the call to TableSelectionView.setbackLink(), to
223 pass the extra "" quickFind parameter.
225 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
226 setCellTable(): Add a String quickFind parameter and pass it to
227 the ListViewTable() constructor.
228 * src/main/java/org/glom/web/client/ui/ListView.java: Change
229 setCellTable() in the base interface, because that is how ListViewImpl
232 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
233 Add a String quickFind member variable.
234 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
235 Constructor: Add a String quickFind parameter, storing it in the
236 base ListTable's member variable.
237 onRangeChanged(): Pass quickFind to the
238 OnlineGlomServiceAsync.getSortedListViewData() and
239 OnlineGlomServiceAsync.getListViewData() methods.
241 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
242 getListViewData(), getSortedListViewData(): Add a String quickFind
243 parameter, passing it to ConfiguredDocument.getListViewData().
244 * src/main/java/org/glom/web/client/OnlineGlomService.java:
245 Change getListViewData(), getSortedListViewData() in the base interface,
246 because that is how OnlineGlomServiceImpl is used, via this:
247 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
248 Change getListViewData(), getSortedListViewData() here too.
249 This class can apparently be used to asynchronously call methods on
250 OnlineGlomService, and GWT seems to implement that after recognizing
251 just the *Async name convention and the extra AsyncCallback parameters.
253 * src/main/java/org/glom/web/server/ConfiguredDocument.java
254 getListViewData(): Add a String quickFind parameter, and pass it to
255 ListViewDBAccess.getData().
256 * src/main/java/org/glom/web/server/database/ListDBAccess.java
257 getListData(): Add a String quickFind parameter and pass it to
259 getSelectQuery(): Add a String quickFind parameter.
260 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java
261 getSelectQuery(): Add a String quickFind parameter and use it with
262 Glom.get_find_where_clause_quick() to pass a where_clause to
263 Glom.build_sql_select_with_where_clause(), to actually filter the
265 getData(): Add a String quickFind parameter, passing it to getListData().
266 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.ja
267 va: getData(): Pass an empty string to getListData() for the
270 2012-01-12 Murray Cumming <murrayc@murrayc.com>
272 ListTable: Minor change.
274 * src/main/java/org/glom/web/client/ui/list/ListTable.java
275 createCellTable(): Make this protected instead of public.
277 2012-01-12 Murray Cumming <murrayc@murrayc.com>
279 Many files: Use final for the parameters and use the @override attribute.
281 2012-01-22 Ben Konrath <ben@bagu.org>
283 Add anchor links for single line text that starts with http, ftp and www.
287 2012-01-22 Ben Konrath <ben@bagu.org>
289 Add ellipsis to single line text in details view.
293 2012-01-04 Murray Cumming <murrayc@murrayc.com>
295 Remove all javadoc author tags.
297 Because they are awkward and meaningless when many people touch
299 See https://gitorious.org/online-glom/gwt-glom/commit/7628b732cb90cbc6d5635420a75568504e8b3655#comment_81164
301 2012-01-04 Murray Cumming <murrayc@murrayc.com>
303 Revert the COPYING.LESSER to COPYING rename.
305 Apparently both should be there if it is LGPL.
307 2012-01-03 Murray Cumming <murrayc@murrayc.com>
309 *View: Remove unused imports.
311 * src/main/java/org/glom/web/client/ui/DetailsView.java:
312 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java
313 * src/main/java/org/glom/web/client/ui/ListView.java:
314 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
315 Remove unused imports, as suggested by Eclipse.
317 2012-01-02 Murray Cumming <murrayc@murrayc.com>
319 Move the *View::Presenter types, and some API into one base View.
321 * src/main/java/org/glom/web/client/ui/DetailsView.java:
322 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
323 * src/main/java/org/glom/web/client/ui/ListView.java:
324 * src/main/java/org/glom/web/client/ui/TableSelectionView.java: Move
325 Presenter, setPresenter() and clear() into a shared base interface,
326 to avoid the unnecessary duplicate Presenter types and to more clearly
327 show how the *Views share the same structure, even if they are not
328 used polymorphically.
330 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
331 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
333 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
334 * src/main/java/org/glom/web/client/activity/ListActivity.java:
335 * src/main/java/org/glom/web/client/activity/DocumentSelectionActiv
337 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
340 Feel free to revert this if there is a good reason for the duplicate
343 2012-01-02 Murray Cumming <murrayc@murrayc.com>
345 OnlineGlom: Make clientFactory a (protected) member, and test it a bit.
347 * src/main/java/org/glom/web/client/OnlineGlom.java: Make clientFactory
348 a class member instead of a local variable in the method.
349 This lets us use it to get the view instances, for use in tests.
350 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
351 beforeOnlineGlom(): Test some more details of the initial view.
352 Again, this is not very useful.
354 To really test gwt-glom we will need to start a local postgresql
355 instance with local data, like the Glom tests in C++.
357 2012-01-02 Murray Cumming <murrayc@murrayc.com>
359 pom.xml: Mention the LGPL license.
361 * pom.xml: Add a licenses section.
362 * COPYING.LESSER: Move this to COPYING, which
363 previously contained the GPL. But gwt-glom is all LGPL.
365 2012-01-02 Murray Cumming <murrayc@murrayc.com>
367 Add project information to README and pom.xml.
369 * README: Add a brief description and mention some mvn
371 * pom.xml: This extra information shows up in mvn site
374 2011-01-02 Murray Cumming <murrayc@murrayc.com>
376 Use the latest java-libglom version.
378 * pom.xml: Use java-libglom 1.19.2 instead of 1.19.1.
380 2012-01-01 Murray Cumming <murrayc@murrayc.com>
382 GwtTestOnlineGlom: Test a little more.
384 * src/main/java/org/glom/web/client/OnlineGlom.java: Make the panels
385 protected rather than private, as suggested by the gwt-test-utils
387 http://stackoverflow.com/questions/7931724/gwt-testcase-simulating-clicking-a-button-on-my-page
388 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java
389 Test the initial visibility of the panels.
391 However, this is not a very useful test.
392 And I wonder how we should generally test using this idea for an
393 activity/places app like ours where the real changes happen implicitly
394 based on the history token/URL.
396 2012-01-01 Murray Cumming <murrayc@murrayc.com>
398 Slight modification to *Mapper comments.
400 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java
402 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMa
404 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMappe
406 Remove comments mentioning GIN because they are just copied from
407 the example code and are apparently not helpful:
408 http://groups.google.com/group/google-web-toolkit/msg/82f0098b20669a73
409 Also change the mention of a class that is only in the example code.
411 2012-01-01 Murray Cumming <murrayc@murrayc.com>
413 GwtTestOnlineGlom test: Minor changes.
415 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
416 Avoid the long qualified class name and modify the comment
417 because it is now obvious to me that the mocked class is the only
418 custom one created via GWT.create().
420 2012-01-01 Murray Cumming <murrayc@murrayc.com>
422 Tests: Added the beginnings of a test using gwt-test-utils.
424 * pom.xml: Add dependencies on gwt-test-utils and easymock.
425 * src/test/resources/META-INF/gwt-test-utils.properties: Add this file
426 which tells gwt-test-utils what class will be tested.
427 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
428 Add a simple (but empty) test case. One class, used by the OnlineGlom
429 class, is mocked so that it can be created. However, I am not sure
430 why only this class needs to be mocked.
432 Note that mockito seems more popular, and clearer, than easymock,
433 but I have not got that working yet. It might be a matter of the
436 This test is run during mvn integration-test.
438 2011-12-31 Murray Cumming <murrayc@murrayc.com>
440 Tests: Use junit4-style syntax instead of junit3-style.
442 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
443 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
444 * src/test/java/org/glom/web/shared/DataItemTest.java:
445 Use the @Test annotation rather than relying on the test*() prefix.
446 Also no longer implement TestCase, to avoid triggering support for
447 the junit3-way, which stops the annotations from working.
448 Change the imports from import junit.framework.* to
449 import org.junit.*, which is apparently the new way.
451 2011-12-31 Murray Cumming <murrayc@murrayc.com>
453 Added a test for ListPlace token parsing and creation.
455 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
456 This is much the same as DetailsPlaceTest.
458 I wonder how we could test the other parts of the *Place API.
460 2011-12-30 Murray Cumming <murrayc@murrayc.com>
462 DetailsPlace test: Also test getToken() and recreation via getPlace().
464 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
465 testGetPlaceParameters(): Get the tokens from the DetailsPlace and
466 recreate it, testing the recreated DetailsPlace for the same parameter
469 2011-12-30 Murray Cumming <murrayc@murrayc.com>
471 Use the surefire-report plugin.
473 * pom.xml: This generates a HTML report about the tests in
474 target/site/surefire-report.html
475 when you do mvn surefire-report:report. It seems to be popular/normal.
477 2011-12-30 Murray Cumming <murrayc@murrayc.com>
479 Added a test for DetailsPlace.
481 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
482 Test the getPlace() token parsing.
484 2011-12-30 Murray Cumming <murrayc@murrayc.com>
486 Added a first unit test.
488 * pom.xml: Add a test goal, and a dependency on junit in that scope.
489 * src/test/java/org/glom/web/shared/DataItemTest.java:
490 This is a silly test but it is just to get things started. Note that
491 maven/junit finds the test because it looks in src/test by default.
493 2011-12-22 Ben Konrath <ben@bagu.org>
495 Change charsetName to "UTF-8" when replacing line breaks.
497 JavaScript requires the charsetName to be "UTF-8". CharsetName values
498 that work in Java (such as "UTF8") will not work when compiled to
501 This fixes a problem with multi-line details view fields that have hard
502 line breaks. The "License Text" field on this page demonstrates the
505 http://onlineglom.openismus.com/OnlineGlom/#details:document=debian_repository_analyzer&table=licenses&value=197
507 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
509 2011-12-22 Ben Konrath <ben@bagu.org>
511 Fix another bug with related list navigation.
513 I've tested all the navigation buttons in all of the related lists
514 so things should be good now.
516 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
518 2011-12-22 Ben Konrath <ben@bagu.org>
520 Fix a crasher when refreshing the list view with the default table.
522 This crash will also happen when loading the list view with the default
523 table from a link or bookmark.
525 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Go
526 to the main document selection page when the document id hasn't been
528 * src/main/java/org/glom/web/client/activity/ListActivity.java: Go to
529 the main document selection page when the document id hasn't been
531 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Use empty
532 values for the details place when the document id hasn't been set.
533 * src/main/java/org/glom/web/client/place/ListPlace.java: Use empty
534 values for the list place when the document id hasn't been set.
536 2011-12-21 Ben Konrath <ben@bagu.org>
538 Protect against NPE when glom.document.locale is not in config.
540 This patch protects against an NPE when glom.document.locale is not in
541 the config file. This NPE will also happen if glom.document.locale is
544 The patch also updates the error message to display the class name when
545 the getMessage() returns null. This was happening when the NPE was
546 thrown and I had "Configuration Error: null". If an NPE is encountered
547 with this patch, "Configuration Error: NullPointerException " will be
550 This commit closes this bug:
552 https://bugzilla.gnome.org/show_bug.cgi?id=666669
554 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
556 2011-12-20 Murray Cumming <murrayc@murrayc.com>
558 Rename onlineglom.properties to onlineglom.properties.sample.
560 * src/main/resources/onlineglom.properties: Rename to:
561 * src/main/resources/onlineglom.properties.sample:
562 * src/main/resources/README: And add this file explaining that people
563 should rename it back when deploying.
565 2011-12-20 Murray Cumming <murrayc@murrayc.com>
567 Allow choosing the translation in the .properties file.
569 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
570 init(): Read a glom.document.locale value from the configuration file
571 and call Glom's TransatableItem::set_current_locale() method.
572 * src/main/resources/onlineglom.properties: Add a commented-out
573 example of this new setting.
575 It would be better to add &lang=de_DE to the URL, but the current
576 libglom API does not allow us to do this easily. I am working on that.
578 2011-12-19 Murray Cumming <murrayc@murrayc.com>
580 Avoid a crash in parsing of token parameters.
582 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.j
583 ava: getTokenParams(): Do not crash if a parameter has a key but no
584 value, and ignore parameters with neither.
586 2011-12-17 Murray Cumming <murrayc@murayc.com>
588 History token building/handling: Improve use of token parameters.
590 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
591 (HasSelectableTablePlace.Tokenizer): Add getTokenParams(String)
592 and buildParamsToken(HashMap), for use by derived classes.
593 Make the separator private because it is no longer be needed.
594 * src/main/java/org/glom/web/client/place/DetailsPlace.java
595 (DetailsPlace.Tokenizer.getToken): Use buildParamsToken()
596 instead of manual string concatenation.
597 (DetailsPlace.Tokenizer.getPlace): Use getTokenParams() instead
598 of hardcoded indices and awkward splitting code.
599 * src/main/java/org/glom/web/client/place/ListPlace.java
600 (ListPlace.Tokenizer.getToken): Use buildParamsToken()
601 instead of manual string concatenation.
602 (ListPlace.Tokenizer.getPlace): Use getTokenParams() instead
603 of hardcoded indices and awkward splitting code.
604 This should fix bug #666420
606 2011-12-16 Murray Cumming <murrayc@murrayc.com>
608 Fix a Navgiation->Navigation typo in the code.
610 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
611 Rename processNavgiation() to processNavigation().
613 2011-12-16 Murray Cumming <murrayc@murrayc.com>
615 Fix a seperator->separator typo in the code.
617 * src/main/java/org/glom/web/client/place/DetailsPlace.java
618 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
619 * src/main/java/org/glom/web/client/place/ListPlace.java: Just a
622 2011-12-15 Ben Konrath <ben@bagu.org>
624 Cleanup some comments.
626 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
628 2011-12-14 Ben Konrath <ben@bagu.org>
630 Replace \n with <br/> for multiline text in the details view.
632 Vertical scrollbars are added when needed as well.
634 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
636 2011-12-14 Ben Konrath <ben@bagu.org>
638 Specify the font for document selection links.
640 * src/main/webapp/style.css:
642 2011-12-14 Ben Konrath <ben@bagu.org>
644 Fix bouncy CellTable while paging.
646 This doesn't currently work with related list tables in unselected
649 * src/main/java/org/glom/web/client/ui/list/ListTable.java
651 2011-12-14 Ben Konrath <ben@bagu.org>
653 Revamp the appearance of the document selection page.
655 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
656 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
657 * src/main/webapp/style.css:
659 2011-12-13 Ben Konrath <ben@bagu.org>
661 Set navigation button column to the smallest size possible.
663 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
665 2011-12-13 Ben Konrath <ben@bagu.org>
667 Change OpenButton nomenclature to NavigationButton.
669 Using NavigtionButton makes things more generic. Classes, methods and
670 variables have been changed.
672 This is a rename-only refactor.
674 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
675 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
676 * src/main/java/org/glom/web/client/ui/cell/NavigationButtonCell.java:
677 Renamed from OpenButtonCell.
678 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
679 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
680 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
682 2011-12-12 Ben Konrath <ben@bagu.org>
684 Remove unnecessary String argument in RelatedListTable and ListViewTable.
686 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
687 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
688 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
689 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
691 2011-12-12 Ben Konrath <ben@bagu.org>
693 Update variable names and comments.
695 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
696 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
698 2011-12-12 Ben Konrath <ben@bagu.org>
700 Properly initialize numNonEmptyRows variable to zero.
702 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
703 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
705 2011-12-05 Ben Konrath <ben@bagu.org>
707 Add latest mockup with HTML tables.
709 Features of this mockup:
711 -> HTML table for flowtable
712 -> HTML table for flowtable column
713 -> Example of how related lists would look
714 -> Not using text entries for data items
716 The current version of Online Glom doesn't use HTML tables for the
719 This mockup has been sent to the glom-devel mailing list but it's good
720 to have it here as well.
722 * mockups/details-view-html-tables.html:
724 2011-12-05 Ben Konrath <ben@bagu.org>
726 Remove unnecessary getPrimaryKeyField() method.
728 getPrimaryKeyFieldForTable(String) has been renamed to
729 getPrimaryKeyField(String).
731 * src/main/java/org/glom/web/server/database/DBAccess.java:
732 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
733 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
735 2011-12-05 Ben Konrath <ben@bagu.org>
737 Add string representation of TypedDataItem value to conversion error message.
739 * src/main/java/org/glom/web/server/Utils.java: Logging the error
740 message was extracted into its own method to avoid duplication.
742 2011-12-05 Ben Konrath <ben@bagu.org>
744 Add type checking to navigation primary key value creation.
746 Create navigation primary key only if the expected type from the Glom
747 document matches the type returned by the SQL query.
749 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
751 2011-12-05 Ben Konrath <ben@bagu.org>
753 Rename a couple of variables in RelatedListNavigation.
755 This is a rename-only refactor.
757 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
759 2011-12-05 Ben Konrath <ben@bagu.org>
761 Move getListLayoutGroup() into getListViewLayoutGroup().
763 This removes getListLayoutGroup(). It was only being called by
764 getListViewLayoutGroup().
766 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
768 2011-12-05 Ben Konrath <ben@bagu.org>
770 Remove check for LayoutItem_Portal in list table method.
772 This check is no longer necessary because the method isn't being used
773 to create the LayoutItemPortal DTO.
775 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
777 2011-12-05 Ben Konrath <ben@bagu.org>
779 Properly support related list navigation.
781 Navigation from the "Repository Analyzer -> Package Scans ->
782 Dependencies" related table wasn't working because the primary key for
783 related tables wasn't being set properly. This commit fixes the
786 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't use
787 getListLayoutGroup() to create the LayoutItemPortal DTO. This method
788 doesn't set the primary key properly for related list tables.
789 * src/main/java/org/glom/web/server/database/DBAccess.java: Add table
790 name parameter to getPrimaryKeyLayoutItemField(). This makes the method
791 useful for getting the primary key for list view tables and for related
793 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
794 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
795 Move code to set the primary key for the table from the abstract
796 ListDBAccess class to ListViewDBAccess as it's only correct for list
798 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
799 Properly add primary key to related list tables.
801 2011-12-02 Ben Konrath <ben@bagu.org>
803 Properly set the horizontal alignment of fields.
805 This fix is for both the list tables and the details view.
807 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
808 LayoutItem_WithFormatting.get_formatting_used_horizontal_alignment(boolean)
809 to set the horizontal alignment of fields.
811 2011-12-02 Ben Konrath <ben@bagu.org>
813 Display currency codes in the details view.
815 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
817 2011-12-02 Ben Konrath <ben@bagu.org>
819 Avoid duplicate JNI call.
821 JNI is not as efficient as pure Java and this is an easy (and small)
824 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
825 Use previously retrieved value for whereClauseToTableName instead of
828 2011-12-02 Ben Konrath <ben@bagu.org>
830 Rename a couple of variables in RelatedListNavigation.
832 This is a rename-only refactor.
834 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
836 2011-12-02 Ben Konrath <ben@bagu.org>
838 Indicate clearly that a mismatched primary key type is a bug.
840 * src/main/java/org/glom/web/server/Utils.java: Change log level from
841 warning to error. Add 'This is a bug.' to message.
843 2011-12-02 Ben Konrath <ben@bagu.org>
845 Update / fix some comments.
847 * src/main/java/org/glom/web/client/OnlineGlomService.java: Remove old
849 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Fix
851 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
852 Fix comments. Add some TODOs.
854 2011-12-02 Ben Konrath <ben@bagu.org>
856 Enable navigation to details view with string primary key from related list.
858 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
859 Create a text primary key value when return type of result is
860 java.sql.Types.VARCHAR.
862 2011-12-02 Ben Konrath <ben@bagu.org>
864 Use checkboxes for booleans in the details view.
866 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
868 2011-12-01 Ben Konrath <ben@bagu.org>
870 Improve performance of related list height calculation.
872 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
873 Put code to calculate the expected height in a static initializer so
874 that that it's only called once.
876 2011-12-01 Ben Konrath <ben@bagu.org>
878 Show related list tables in notebooks (again).
880 Calculate the height of the related list tables so the Notebook can be
881 set the correct height. The height of the related list table is also needed by
882 FlowTable to be able decide how to create the layout.
884 * src/main/java/org/glom/web/client/ui/details/Portal.java: Calculate
885 and set the Portal height based on the height of the related list
886 table and the Portal container.
887 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
888 Add method to calculate the height of the related list tables.
889 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
890 * src/main/webapp/style.css: Add css class for Pager. This is needed to
891 calculate the height of the Pager widget.
893 2011-12-01 Ben Konrath <ben@bagu.org>
895 Use CellTable API for table property instead of setting style on Element.
897 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
899 2011-12-01 Ben Konrath <ben@bagu.org>
901 Make ListViewTable and RelatedListTable a consistent height.
903 The tables are now a consistent height regardless of the contents of
904 the table. A hidden button is added to empty rows to ensure that the
905 height of these rows will match the height of rows with data.
907 A navigation button column is now added to every table. The width of
908 the navigation column is set to 0px when a RelatedListTable shouldn't
909 have navigation buttons. This maintains the a consistent row height in
910 tables that don't show the navigation buttons.
912 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Hide
913 navigation column when not needed.
914 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move method
915 arguments for navigation button to constructor of ListViewTable.
916 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Render
917 hidden button for empty data rows.
918 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java: Add method
919 arguments for navigation button to constructor.
920 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Always
921 create navigation buttons. Add hideNavigationButtons() method.
922 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add method
923 arguments for navigation button to constructor.
925 2011-12-01 Ben Konrath <ben@bagu.org>
927 Use 'visibility: hidden' in Utils.getWidgetHeight().
929 This is better choice because hidden elements are invisible, don't
930 respond to events and are not part of the tab order. They will,
931 however, take up space which is required to be able to calculate the
932 height of the widget.
934 * src/main/java/org/glom/web/client/Utils.java:
936 2011-12-01 Ben Konrath <ben@bagu.org>
938 Use Utils.getWidgetHeight() in FlowTable.
940 * src/main/java/org/glom/web/client/Utils.java: Remove TODO item about
942 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
944 2011-12-01 Ben Konrath <ben@bagu.org>
946 Put the details css class name on the correct table column.
948 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
950 2011-11-30 Ben Konrath <ben@bagu.org>
952 Update for java-libglom API change.
954 The getters and setters on FieldFormatting and NumericFormat were
955 changed to remove the 'M'.
957 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
959 2011-11-29 Ben Konrath <ben@bagu.org>
961 Only allow RelatedListTables in Portals.
963 * src/main/java/org/glom/web/client/ui/details/Portal.java:
965 2011-11-29 Ben Konrath <ben@bagu.org>
967 Only create a contents panel for Portals when title is being set.
969 * src/main/java/org/glom/web/client/ui/details/Portal.java:
971 2011-11-29 Ben Konrath <ben@bagu.org>
973 Set TabLayoutPanel height based on calculated height its widgets.
975 This is a potential fix for this bug:
977 https://bugzilla.gnome.org/show_bug.cgi?id=665133
979 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
981 2011-11-29 Ben Konrath <ben@bagu.org>
983 Align details field labels and data with the Open buttons.
985 * src/main/webapp/style.css:
987 2011-11-29 Ben Konrath <ben@bagu.org>
989 Remove unnecessary <div> in the Notebook widget.
991 * src/main/java/org/glom/web/client/ui/details/Group.java: Remove
992 method to get container FlowPanel (<div>).
993 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Run the
994 initWidget() method directly on the TabLayoutPanel widget instead of
995 Group's container widget.
997 2011-11-29 Ben Konrath <ben@bagu.org>
999 Don't add group titles for Portals in Notebooks.
1001 This reverts the previous patch and fixes a bug I introduced with
1002 commit b1753fd27bd2c4ea189c4c353e0ece92dcc66c2c .
1004 * src/main/java/org/glom/web/client/ui/details/Group.java:
1005 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1007 2011-11-28 Ben Konrath <ben@bagu.org>
1009 Remove unused boolean argument in Portal constructor.
1011 Just a code cleanup.
1013 * src/main/java/org/glom/web/client/ui/details/Group.java:
1014 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1016 2011-11-28 Ben Konrath <ben@bagu.org>
1018 Remove hack for glom 1.18 style glom files.
1020 * src/main/java/org/glom/web/client/ui/details/Group.java:
1021 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1022 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1024 2011-11-28 Ben Konrath <ben@bagu.org>
1026 Use Gda Value version of primary key to log result too large error.
1028 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1030 2011-11-28 Ben Konrath <ben@bagu.org>
1032 Don't use TypedDataItem.getText() for Unknown types from the URL.
1034 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1035 * src/main/java/org/glom/web/server/Utils.java: Use getUnknown()
1036 instead of getText().
1037 * src/main/java/org/glom/web/shared/TypedDataItem.java: Add unknown
1038 String field and getUnknown() method.
1040 2011-11-28 Ben Konrath <ben@bagu.org>
1042 Log an error message when the java-libglom .so is not present.
1044 The error message was being set in the exception but not logged.
1046 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1048 2011-11-28 Ben Konrath <ben@bagu.org>
1050 Ignore LayoutItem_CalendarPortals.
1052 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't
1053 create the LayoutItemPortal DTO for LayoutItem_CanendarPortals.
1055 2011-11-28 Ben Konrath <ben@bagu.org>
1057 Extract method for creating the LayoutItemPortal DTO.
1059 Just breaking the code up into smaller chunks.
1061 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1063 2011-11-28 Ben Konrath <ben@bagu.org>
1067 This should have been added with the refactor. Oops!
1069 * src/main/java/org/glom/web/shared/TypedDataItem.java:
1071 2011-11-28 Ben Konrath <ben@bagu.org>
1073 Create primary key value from URL string using type from Glom document.
1075 See this bug, comments 19 - 25:
1077 https://bugzilla.gnome.org/show_bug.cgi?id=662376#c19
1079 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Don't
1080 create a TypeDataItem for the primary key here when loading from a
1081 URL. Show the same string for the primary key value as was received
1082 from the URL string (when loading from a URL).
1083 * src/main/java/org/glom/web/server/Utils.java: Update method for
1084 creating the Gda Value from the TypeDataItem to properly deal with
1085 creating a Gda Value based on the Glom document type for the primary
1086 key value string when loading from a URL.
1087 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1088 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1089 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1090 Update for changed method name.
1092 2011-11-27 Ben Konrath <ben@bagu.org>
1094 Rename PrimaryKeyItem to TypedDataItem.
1096 The name PrimaryKeyItem suggests what the class should be used for.
1097 TypedDataItem is a neutral name that describes the class better.
1099 This is a rename-only refactor.
1101 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1102 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1103 * src/main/java/org/glom/web/client/Utils.java:
1104 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1105 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1106 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1107 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1108 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1109 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1110 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1111 * src/main/java/org/glom/web/server/Utils.java:
1112 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1113 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1114 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1115 * src/main/java/org/glom/web/shared/NavigationRecord.java:
1117 2011-11-25 Ben Konrath <ben@bagu.org>
1119 Improve Gda Value conversion from PrimaryKeyItem.
1121 The value from the PrimaryKeyItem is only used if its type match the
1122 type from the glom document.
1124 * src/main/java/org/glom/web/server/Utils.java:
1126 2011-11-25 Ben Konrath <ben@bagu.org>
1128 Manually check if the java-liblgom .so is visible to the JVM.
1130 It seems that Tomcat has problems when a static initializer throws an
1131 exception. This check is done before the first method call into
1132 java-libglom so that execution doesn't continue if the .so is not
1135 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1137 2011-11-25 Ben Konrath <ben@bagu.org>
1139 Improve browser configuration error messages.
1143 https://bugzilla.gnome.org/show_bug.cgi?id=662792
1145 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1146 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1147 getConfigurationErrorMessage() method.
1148 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1149 Get and display a specific configuration error message when no Glom
1150 documents are found.
1151 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1152 Implement getConfigurationErrorMessage() method. Surround configuration
1153 code in the init() method with a try/catch block. This allows the
1154 errors to be caught while keeping the servlet available to retrieve the
1155 configuration error message.
1157 2011-11-25 Ben Konrath <ben@bagu.org>
1159 Don't use Strings to hold primary key values.
1161 The primary key values are now held in a new data object
1162 (PrimaryKeyItem) that holds type information and the primary key value
1163 using the correct type.
1165 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1166 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1167 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1168 PrimaryKeyItem instead of String to hold the primary key value.
1169 * src/main/java/org/glom/web/client/Utils.java: Remove
1170 getKeyValueStringForQuery(). Add getPrimaryKeyItem() which creates a
1171 PrimaryKeyItem based on the GlomFieldType and the DataItem.
1172 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Use
1173 PrimaryKeyItem instead of String to hold the primary key value. Load
1174 document selection page when the documentID has not been set correctly.
1175 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Re-work
1176 DetailsPlace -> URL and URL -> DetailsPlace conversion with
1178 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
1179 Return empty string for URL instead of "null".
1180 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1181 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1182 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1183 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
1184 PrimaryKeyItem instead of String to hold primary key values.
1185 * src/main/java/org/glom/web/server/Utils.java: New method to convert a
1186 PrimaryKeyValue to a Gda Value.
1187 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1188 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1189 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1190 Replace temporary database access code that uses the PrimaryKeyValue to
1191 Gda Value conversion.
1192 * src/main/java/org/glom/web/shared/DataItem.java: Add comment.
1193 * src/main/java/org/glom/web/shared/NavigationRecord.java: Use
1194 PrimaryKeyItem instead of String.
1195 * src/main/java/org/glom/web/shared/PrimaryKeyItem.java: New class to
1196 hold primary key values.
1198 2011-11-24 Ben Konrath <ben@bagu.org>
1200 Use newly added java-libglom API to create queries.
1202 This isn't finished. I still need to stop using Strings for primary key
1203 values in the client code.
1205 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Tell
1206 libglom to use fake connections so that retrieving the query string will
1208 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1209 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1210 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1211 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1212 Use the newly added libglom sql methods and classes to create the
1213 query. Add temporary hack to convert primary value strings to Gda
1216 2011-11-23 Ben Konrath <ben@bagu.org>
1218 Don't explicitly set the height of Portals.
1220 See comments 6 - 10 of this bug for details:
1222 https://bugzilla.gnome.org/show_bug.cgi?id=662930#c6
1224 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1226 2011-11-23 Ben Konrath <ben@bagu.org>
1228 Use an HTML table instead of CSS for the FlowTable layout.
1230 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Use
1231 GWT's FlexTable to implement the FlowTable.
1232 * src/main/webapp/style.css: Adjust CSS for the change to FlexTable.
1234 2011-11-18 Ben Konrath <ben@bagu.org>
1236 Add boolean example to HTML table mockup.
1238 * mockups/details-view-html-tables-text-entries.html:
1240 2011-11-17 Ben Konrath <ben@bagu.org>
1242 Ensure the pager buttons are always visible for related lists.
1244 To accomplish this, I've turned off text wrapping in the list view and
1245 related list tables for both the header and data text. The related list
1246 table now has a fixed layout so the it doesn't overflow its container.
1247 This is required to ensure that the cell text is clipped when it
1248 overflows the cell and an ellipsis is added to the right side of the
1249 cell when text is clipped.
1251 A fixed table layout for the related list table in the details view
1252 seems what we want for the details view anyway, so the side-effect is
1255 The ellipsis will only be displayed in Firefox >= 7.
1259 https://bugzilla.gnome.org/show_bug.cgi?id=662930
1261 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java:
1262 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: Add
1263 'overflow: hidden; text-overflow: ellipsis;' CSS properties to the table
1265 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1266 Set the 'table-layout: fixed' CSS property to the related list table.
1267 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Set the
1268 'white-space: nowrap;' CSS property on both the list view and the
1269 related list tables.
1271 2011-11-16 Ben Konrath <ben@bagu.org>
1273 Rework the fix for empty notebook tab labels.
1275 Setting the empty group titles with its name caused problems for the
1276 details layout. Instead of using libglom's
1277 LayoutItem.get_title_or_name(), the LayoutItem name is explicitly sent
1278 to the client when the title is empty. This allows the Notebook to use
1279 the name when the title is empty without affecting anything else.
1281 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1282 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1284 2011-11-16 Ben Konrath <ben@bagu.org>
1286 Set group titles with name when title is empty.
1288 This fixes a problem with an empty notebook tab label in the Lesson
1289 Planner document. The forth tab in the notebook should be "Internet":
1291 http://bagu.org:8080/OnlineGlom/#details:document=lesson-planner&table=teachers&value=0
1293 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
1294 libglom's LayoutItem.get_title_or_name() to fill in the LayoutGroup
1297 2011-11-16 Ben Konrath <ben@bagu.org>
1299 Remove whitespace from the configured username properties.
1301 This assumes that usernames won't have whitespace at the beginning
1302 or end. But I think this is a reasonable assumption.
1304 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1305 String.trim() to remove the whitespace from the username properties.
1307 2011-11-15 Ben Konrath <ben@bagu.org>
1309 Add details view mockup with HTML tables and text entries.
1311 This is from the attachment on this bug:
1313 https://bugzilla.gnome.org/show_bug.cgi?id=663109
1315 * mockups/details-view-html-tables-text-entries.html:
1317 2011-11-15 Ben Konrath <ben@bagu.org>
1319 Add space between the columns of the flow table.
1323 https://bugzilla.gnome.org/show_bug.cgi?id=662918
1325 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Add a 1%
1326 space between columns in the flow table.
1328 2011-11-15 Ben Konrath <ben@bagu.org>
1330 Add backup files to the .gitignore.
1332 * .gitignore: Ignore files that end with ~.
1334 2011-11-09 Ben Konrath <ben@bagu.org>
1336 Use latest release of gwt-log.
1338 Gwt-log releases are now being submitted to the maven central
1339 repository so manual installation of the jar is no longer required.
1341 * pom.xml: Update version and groupId of gwt-log dependency.
1343 2011-10-31 Ben Konrath <ben@bagu.org>
1345 Don't use GWT numeric formatting to override the glom currency formatting.
1347 Currencies are now displayed like they are in Glom. See this bug:
1349 https://bugzilla.gnome.org/show_bug.cgi?id=646216
1351 * src/main/java/org/glom/web/client/Utils.java: Remove GWT currency
1353 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: Add
1354 currency code to constructor and set it when the cell is rendered.
1355 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
1356 currency code to the constructor of the NumericCell.
1358 2011-10-27 Ben Konrath <ben@bagu.org>
1360 Require the latest release of java-libglom (1.17.4).
1364 2011-10-26 Ben Konrath <ben@bagu.org>
1366 Add style to Notebook that matches current theme.
1368 It's not the best style in the world but it's better than the default.
1370 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Add some
1371 padding at the bottom of the child widgets.
1372 * src/main/webapp/style.css: Add style for the Notebook.
1374 2011-10-26 Ben Konrath <ben@bagu.org>
1376 Move servlet initialization code to overridden init method.
1378 This is half of the solution to getting proper error messages
1379 displayed when configuration errors occur. Here's the relevant bug:
1381 https://bugzilla.gnome.org/show_bug.cgi?id=662792
1383 The rest of the solution involves surrounding the init method with a
1384 try/catch block and setting a global variable with the error /
1385 exception. A new async method should be created to retrieve and display
1386 the error message / exception.
1388 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Move
1389 code from constructor to init method adding exceptions as needed.
1391 2011-10-26 Ben Konrath <ben@bagu.org>
1393 Add script to monitor and restart tomcat if required.
1395 * utils/check-and-recover-tomcat.py: New file.
1397 2011-10-26 Ben Konrath <ben@bagu.org>
1399 Display the correct number of data items in the pager.
1403 https://bugzilla.gnome.org/show_bug.cgi?id=661441
1405 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1406 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1407 The implementation is the same for both tables: Keep track of the
1408 number of non-empty rows and fire and RowCountChangeEvent after the data has
1410 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add a
1411 custom Pager class that subclasses SimplePager to handle displaying
1412 the correct number when empty rows have been added.
1414 2011-10-26 Ben Konrath <ben@bagu.org>
1416 Correct error in previous commit.
1418 * src/main/java/org/glom/web/client/activity/ListActivity.java: Remove
1419 eventBus parameter from listView.setCellTable().
1421 2011-10-26 Ben Konrath <ben@bagu.org>
1423 Fix error in TODO comment.
1425 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1427 2011-10-24 Ben Konrath <ben@bagu.org>
1429 Create Notebook widgets to the details view.
1431 This isn't finished just yet - I still need to create a reasonable
1432 style to match the current theme.
1434 * src/main/java/org/glom/web/client/Utils.java: Add method for
1435 calculating the height of a widget. This is used in the Notebook class.
1436 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
1437 new constructor method in Group.
1438 * src/main/java/org/glom/web/client/ui/details/Group.java: Add new
1439 method for creating child widget that can be used by subclasses
1440 like Notebook. New constructor that allows disabling the group
1441 titles - Notebooks don't set a group title for their child groups.
1442 * src/main/java/org/glom/web/client/ui/details/Notebook.java: New class
1443 to make Notebooks using GWT's TabLayoutPanel.
1444 * src/main/java/org/glom/web/client/ui/details/Portal.java: New
1445 constructor that allows disabling the group titles.
1446 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Create the
1447 LayoutItemNotebook DTO.
1448 * src/main/java/org/glom/web/shared/layout/LayoutItemNotebook.java: New
1449 DTO for Notebooks. It's just an empty class for now but we might need
1450 it to transfer some specific information in the future.
1452 2011-10-21 Ben Konrath <ben@bagu.org>
1454 Add navigation buttons to related list tables.
1456 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1457 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1458 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add new
1459 method getSuitableRecordToViewDetails() for getting the table name
1460 and primary key value for related list navigation buttons.
1461 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1462 private cell renderer class to get the navigation information for
1463 related list tables from the server. Extract the navigation
1464 processing code from the details cell navigation and use it for the
1465 related list navigation as well.
1466 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Add private
1467 cell renderer class for the details open buttons. This was needed
1468 because the related list navigation buttons and the list view
1469 navigation buttons need to react differently when clicked.
1470 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Remove
1471 the onEnterKeyDown() method because it's now overriden in the
1472 subclasses that are specific to the related list tables and the list
1474 * src/main/java/org/glom/web/client/ui/details/Portal.java: Increase
1475 the vertical size a little because the buttons add a bit of vertical
1476 space to table. This is not a perfect solution because the vertical
1477 size of with table fewer than 5 rows will be a little smaller.
1478 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Update for
1479 changes in how navigation buttons are handled.
1480 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Implement
1481 getSuitableRecordToViewDetails() using the new RelatedListNavigation
1482 database access object.
1483 * src/main/java/org/glom/web/server/database/DBAccess.java: Move code
1484 to find the portal for a given relationship name from
1485 RelatedListDBAccess. Add method to find a primary key field for a
1487 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1488 Move code to find the portal for a given relationship name to
1490 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1491 New file: database access object for getting the related list
1492 navigation information (the table name and the primary key value).
1493 * src/main/java/org/glom/web/shared/NavigationRecord.java: New file:
1494 DTO for transferring a table name to navigate to and a primary key
1496 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1497 boolean and getter/setter to specifies if the related list should add
1500 2011-10-24 Murray Cumming <murrayc@murrayc.com>
1502 Use the master branch of java-libglom
1504 * pom.xml: Depend on java-libglom 1.19 instead.
1506 This is the master branch. See also the libglom-1-18 branch.
1508 2011-10-11 Ben Konrath <ben@bagu.org>
1510 Enable the open navigation button when the data has been set.
1512 This avoids having active buttons that don't do anything when the data
1515 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1517 2011-10-11 Ben Konrath <ben@bagu.org>
1519 Use IsWidget interface for FlowTableItem.
1521 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Change
1522 FlowTableItem.getWidget() to asWidget() from the IsWidget interface.
1524 2011-10-11 Ben Konrath <ben@bagu.org>
1526 Remove GWT styling from open button in details view.
1528 There are still some issues with how the details cell is arranged but
1529 this should be made to match Glom 1.20. I'm going to leave fixing this
1530 until I have Glom 1.20 up and running.
1532 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Set
1533 style name on open button.
1534 * src/main/webapp/style.css: Move and edit details-navigation class.
1535 Re-arrange some classes to make them appear in the same order as the
1538 2011-10-07 Ben Konrath <ben@bagu.org>
1540 Update to GWT 2.4.0.
1542 * .gitignore: Ignore new cache directory.
1543 * .settings/com.google.gwt.eclipse.core.prefs: Update Eclipse settting.
1544 * pom.xml: Change GWT and maven plugin to 2.4.0.
1545 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Update doctype for
1547 * src/main/java/org/glom/web/client/ClientFactory.java:
1548 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
1549 * src/main/java/org/glom/web/client/OnlineGlom.java:
1550 Update source for API changes.
1551 * utils/build-onlineglom-war.sh: Remove cache directory before the
1554 2011-10-07 Ben Konrath <ben@bagu.org>
1556 Add navigation buttons in the details view.
1558 This isn't finished but I thought I'd commit what I have as it's a
1559 pretty good start. I still need to:
1561 1. Change the style so that it fits better into the current theme
1562 2. Adjust the details cell to expand as much as possible.
1564 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1565 click handlers to navigation buttons in the DetailsCells. Create a
1566 refreshData() method to get just the data from the server without the
1568 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1569 Update the tableSelector and browser title when the table name
1570 changes without using the tableSelector.
1571 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1572 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1573 getDetailsCells() to getCells(). Update variable names.
1574 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Add
1575 method to set click handler on navigation button. Rename a few
1576 variables. Add navigation buttons where needed.
1577 * src/main/java/org/glom/web/client/ui/details/Group.java: Rename a few
1578 variables and methods.
1579 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Set the
1580 navigation boolean and navigation table as required in the
1581 LayoutItemField DTO.
1582 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
1583 variables for navigation along with getter/setter methods.
1585 2011-10-07 Ben Konrath <ben@bagu.org>
1587 Rename Field to DetailsCell.
1589 This is a refactor-only commit. No functionality has been added or
1592 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1593 Update variable and method names.
1594 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1595 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update
1596 variable and method names.
1597 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1599 * src/main/java/org/glom/web/client/ui/details/Group.java: Update
1600 variable and method names.
1602 2011-10-07 Ben Konrath <ben@bagu.org>
1604 Create separate methods for layout and data the details view.
1606 This is a refactor-only commit. No functionality has been added or
1609 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: New
1610 private methods: setData(), createLayout().
1612 2011-10-07 Ben Konrath <ben@bagu.org>
1614 Don't use TableSelectorImpl implementation details in TableSelectorActivity.
1616 This is part of a change to get navigation buttons in the details view
1617 but it should have been done this way from the start.
1619 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1620 for method name change in TableSelectionView.
1621 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1622 Create TableChangeEvent and set the browser title using the
1623 TableSelectionView API.
1624 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1625 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1626 Change getSelectedTable() to getSelectedTableName(). Add
1627 getSelectedTableTitle().
1629 2011-10-07 Ben Konrath <ben@bagu.org>
1631 Use primaryKeyValue naming convention in constructor of DetailsPlace.
1633 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1635 2011-10-07 Ben Konrath <ben@bagu.org>
1637 Update TableChangeEvent to use newTableName naming convention.
1639 This makes the class more consistent with GWT naming conventions.
1641 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1642 Update for method name change in TableChangeEvent.
1643 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
1644 for method name change in TableChangeEvent.
1645 * src/main/java/org/glom/web/client/event/TableChangeEvent.java: Update
1646 newTableName variable and getter method. Make toDebugString()
1649 2011-09-30 Ben Konrath <ben@bagu.org>
1651 Disable the pager in the list tables when the data row count is less than the minimum.
1653 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1654 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1656 2011-09-30 Ben Konrath <ben@bagu.org>
1658 Add empty rows to the end of related list and list view tables.
1660 I also extracted the cell rendering classes from the ListTable because
1661 the code was becoming a little crazy with all the anonymous inner
1662 classes. My plan is to use these cell rendering classes in the details
1663 view as well so this refactor will be needed for that change.
1665 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Only
1666 set the row count in related list tables if the data has more rows
1667 than the minimum number of rows visible.
1668 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Only set the
1669 row count in list view tables if the data has more rows than the
1670 minimum number of rows visible.
1671 * src/main/java/org/glom/web/client/ui/cell/BooleanCell.java: New class
1672 for rendering TYPE_BOOLEAN cells. The code was extracted from the
1674 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: New class
1675 for rendering TYPE_NUMERIC cells. The code was extracted from the
1677 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: New
1678 class for rendering cells with buttons in list views. The code was
1679 extracted from the ListTable class.
1680 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: New class
1681 for rendering TYPE_TEXT cells. The code was extracted from the
1683 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1684 Add empty rows to the end of the data if required. Implement
1685 ListTable.getMinNumVisibleRows().
1686 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Extract
1687 cell renderer code to public classes. Return null in
1688 Column.getValue() for empty rows. Add new abstract method:
1689 getMinNumVisibleRows(). Move code to set the row count of the list view
1690 table to ListViewImpl.
1691 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add
1692 empty rows to the end of the data if required. Implement
1693 ListTable.getMinNumVisibleRows().
1696 2011-09-27 Ben Konrath <ben@bagu.org>
1698 Use GWT.log for client-side debugging statements.
1700 These are optimized out when deployed so I should have used this method
1701 in the first place. These statements will eventually be replaced with some sort
1702 of notification in the browser.
1704 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1705 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1706 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1707 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1708 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1710 2011-09-27 Ben Konrath <ben@bagu.org>
1712 Put tableselector on the right, back to list link on right.
1714 The idea is that the table selector is acting like a label for the
1715 currently displayed table so it should be placed below the document title. This
1716 puts the table title in a similar position to where it is in Glom.
1718 * mockups/details-contacts.html:
1719 * mockups/details-projects.html:
1720 * mockups/listview-contacts.html:
1721 * mockups/listview-projects.html:
1722 * mockups/style.css:
1723 Update mockups to match how the interfaces currently look.
1724 * src/main/webapp/style.css: Swap positions of backlink with the table
1725 selector. Add some space on the left side of the table selector to
1726 line things up with the document title.
1728 2011-09-27 Ben Konrath <ben@bagu.org>
1730 Add field colouring to details view.
1732 This change re-works how field colouring works. The colour formatting
1733 information is now set to the client with the layout information instead of
1734 with the data. This eliminates the need to send the same colour strings for
1735 data in list view column when colour information is set.
1737 In order to set an alternate colour for negative numeric values, the
1738 number is now sent to client and formatted with the GWT NumberFormat class.
1740 This change also fixes:
1742 https://bugzilla.gnome.org/show_bug.cgi?id=659752
1744 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add the GWT
1745 internationalization framework which is needed for client side numeric
1747 * src/main/java/org/glom/web/client/Utils.java: New file for some
1748 client static utility methods.
1749 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
1750 the DataItem object to the Field class. Use a utility method to
1751 create the foreignKeyValue string.
1752 * src/main/java/org/glom/web/client/ui/details/Field.java: Set
1753 alignment and text colours in the constructor. Add setData(DataItem)
1754 method. Remove setText(String) method.
1755 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
1756 colour information to GlomTextCell. Create and use GlomNumberCell for
1757 rendering numbers. Use utility method to get the string for the
1758 primary key of the key provider. Re-work how the horizontal alignment
1760 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1761 formatting to layout information. Methods for converting the libglom
1762 formatting information were moved from DBAccess.
1763 * src/main/java/org/glom/web/server/database/DBAccess.java: Remove
1764 numeric formatting (it's now done on the client side). Don't set text
1765 colours in DataItem. Move libglom formatting conversion methods to
1767 * src/main/java/org/glom/web/shared/DataItem.java: Remove fields and
1768 getters/setters for text colour information.
1769 * src/main/java/org/glom/web/shared/GlomNumericFormat.java: New file
1770 for transferring the libglom NumericFormat information to the client.
1771 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add fields
1772 and getters/setters for: GlomNumericFormat, background colour and
1773 foreground colour strings.
1775 2011-09-26 Ben Konrath <ben@bagu.org>
1777 Simplify code that iterates through the LayoutGroup.
1779 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1781 2011-09-26 Ben Konrath <ben@bagu.org>
1783 Accept Eclipse formatting for OnlineGlomServiceAsync.
1785 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1787 2011-09-26 Ben Konrath <ben@bagu.org>
1789 Don't use the ListDBAccess classes to get the primary key layout information.
1791 This was causing a bug where the wrong index for the hidden primary key
1792 was being sent to the client.
1794 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Find the
1795 primary key while creating the LayoutGroup DTO. Create a
1796 LayoutItemField DTO for hidden primary keys. Don't use the
1797 RelatedListDBAccess because it was only used for getting the primary
1799 * src/main/java/org/glom/web/server/database/DBAccess.java: Change the
1800 access modifier from public to protected for getPrimaryKeyField() and
1801 getPrimaryKeyLayoutItemField().
1802 * src/main/java/org/glom/web/server/database/ListDBAccess.java: Remove
1803 abstract method getExpectedResultSize() because RelatedListDBAccess
1804 doesn't have enough info to implement it.
1805 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1806 Remove @Override for getExpectedResultSize().
1807 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1808 Remove method getExpectedResultSize().
1810 2011-09-23 Ben Konrath <ben@bagu.org>
1812 Log which layout (list or details) the ignored item is from.
1814 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1816 2011-09-23 Ben Konrath <ben@bagu.org>
1818 Remove annotations that turn off code formatting in DataItem.
1820 * src/main/java/org/glom/web/shared/DataItem.java:
1822 2011-09-23 Ben Konrath <ben@bagu.org>
1824 Rename GlomField to DataItem and update associated methods.
1826 This is a rename-only refactor. No functionality has been added or
1829 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1830 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1831 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1832 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1833 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1834 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1835 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1836 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1837 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1838 * src/main/java/org/glom/web/server/database/DBAccess.java:
1839 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1840 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1841 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1842 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1843 * src/main/java/org/glom/web/shared/DataItem.java:
1844 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java:
1845 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
1847 2011-09-23 Ben Konrath <ben@bagu.org>
1849 Rename GlomDocument to DocumentInfo and update associated methods.
1851 This is a rename-only refactor. No functionality has been added or
1854 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1855 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1856 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1857 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1858 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1859 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1860 * src/main/java/org/glom/web/shared/DocumentInfo.java:
1862 2011-09-20 Ben Konrath <ben@bagu.org>
1864 Require java-libglom 1.17.3.
1866 This picks up the fix for the seg fault problem with the Scenes table
1867 in the Openismus Film Manager example.
1871 2011-09-20 Ben Konrath <ben@bagu.org>
1873 Change the way sort clause is added for primary key when no sort clause is requested.
1875 The primary key is now added to the LayoutFieldVector (fieldsToGet)
1876 before the sort clause is created. When a sort clause is not requested, the
1877 sort clause is created by finding the primary key in the LayoutFieldVector
1880 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1882 2011-09-20 Ben Konrath <ben@bagu.org>
1884 Log error message if no documents are found in the configured directory.
1886 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also:
1887 Extract the glom file extension string to a private static final class
1888 variable (mostly as syntactic sugar). Accept a minor formatting change.
1889 * src/main/resources/onlineglom.properties: Add '/glomfile' to end of
1890 the example glom.document.directory configuration property to make it
1891 more clear that it can any directory, not just the home directory.
1893 2011-09-18 Ben Konrath <ben@bagu.org>
1895 Add related lists to details view.
1897 The related list table has support for paging and sorting just like the
1898 table in the list view.
1900 * pom.xml: Require java-libglom 1.17.2 for the new methods to build the
1901 SQL queries for the related list tables.
1902 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1903 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1904 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1905 Rename getList methods to getListView and add comments. Remove
1906 getDetailsLayout() as it's not used anymore. Add note to getDetailsData() about
1907 it being unused. Add methods: getDetailsLayoutAndData(),
1908 getSortedRelatedListData(), getRelatedListData(), getRelatedListRowCount()
1909 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1910 Create the layout and set the data for the fields in one async call
1911 instead of two. Create related lists where appropriate.
1912 * src/main/java/org/glom/web/client/activity/ListActivity.java: Changes
1913 for method name changes in OnlineGlomService.
1914 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1915 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
1916 addLayoutGroup() to addGroup(). Add methods to get the DTOs for the
1918 * src/main/java/org/glom/web/client/ui/ListView.java:
1919 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Remove
1920 tableName from setCellTable(). Create a ListViewTable instead of
1922 * src/main/java/org/glom/web/client/ui/details/Field.java: New class to
1923 represent a data field in the details view.
1924 * src/main/java/org/glom/web/client/ui/details/Group.java: Move to code
1925 from addDetailsCell() to Field class. Keep track of the Fields and
1926 Portals in the details view.
1927 * src/main/java/org/glom/web/client/ui/details/Portal.java: Make portal
1928 a little bigger to match Glom. Keep track of the LayoutItemPortal DTO
1929 and add a method to get it. Add method to set the contents of the
1931 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1932 New class for related list tables. This class has the data provider
1933 for the related list table.
1934 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Change to
1935 abstract class which is the base class for the ListViewTable and the
1937 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1938 New class for list view tables. This class has the data provider for
1939 the list view table.
1940 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1941 methods for related list tables. Add more information to the
1942 LayoutItemField and LayoutItemPortal DTOs.
1943 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1944 Remove debugging print statement.
1945 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1946 Remove debugging print statements. Add primary key field to SQL count
1948 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1949 Remove unnecessary LayoutFieldVector parameter from
1950 getResultSizeOfSQLQuery() method.
1951 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1952 New class for related list table database access.
1953 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java: New
1954 class that is a wrapper DTO for details view layout and data.
1955 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
1956 new 'fromField' string to this DTO.
1957 * src/main/webapp/style.css: Remove bottom margin and override top
1960 2011-09-15 Ben Konrath <ben@bagu.org>
1962 Breakup the OnlineGlomServiceImpl class to make it more manageable.
1964 This sets things up to make it easier to add the data retrieval for
1965 related lists (portals). No user noticeable changes were made with
1968 * src/main/java/org/glom/web/server/ConfiguredDocument.java: This
1969 class has the code to retrieve the layouts and access the
1970 database using the new database helper classes.
1971 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1972 Most of the functionality has been removed from this class. This
1973 class now represents the public interface for the client side
1974 code. It also deals with configuring the servlet and cleaning
1975 things up when the servlet is stopped.
1976 * src/main/java/org/glom/web/server/Utils.java: Extract a couple
1977 of static methods into this utility class.
1978 * src/main/java/org/glom/web/server/database/DBAccess.java:
1979 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1980 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1981 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1982 These classes have the database retrieval code. The class hierarchy
1983 has been setup to make it easy to reuse code for similar
1986 2011-09-06 Ben Konrath <ben@bagu.org>
1988 Create separate classes for list table code and the data provider.
1990 As part of this refactor, I also split up the code a bit to make it
1993 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move list
1994 table code to two new classes (below).
1995 * src/main/java/org/glom/web/client/ui/list/ListTable.java: New file
1996 with code from ListViewImpl.
1997 * src/main/java/org/glom/web/client/ui/list/ListTableDataProvider.java:
1998 New file with code from ListViewImpl.
2000 2011-09-06 Ben Konrath <ben@bagu.org>
2002 Change the LayoutItemPortal DTO to extend LayoutGroup instead of LayoutItem.
2004 This fixes the LayoutItemPortal DTO to match the libglom layout object
2007 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java:
2009 2011-09-01 Ben Konrath <ben@bagu.org>
2011 Set title of Portals in the Details View.
2013 * pom.xml: Bump required version of java-libglom to 1.17.1.
2014 * src/main/java/org/glom/web/client/ui/details/Group.java: Move Portal
2015 widget creation to its own class. Add comments to constructor.
2016 * src/main/java/org/glom/web/client/ui/details/Portal.java: New file.
2017 The code is mostly from the Group class with the title now set.
2018 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2019 title of Portal. Update some comments. Fix some code formatting.
2021 2011-09-01 Ben Konrath <ben@bagu.org>
2023 Remove TODO comment for the flow table column width.
2025 The flow table column width is working correctly and doesn't need to be
2026 changed. See this mailing list post for more info:
2028 https://mail.gnome.org/archives/glom-devel-list/2011-August/msg00017.html
2030 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
2032 2011-08-27 Ben Konrath <ben@bagu.org>
2034 Add document title (database name) to top of the browser page.
2036 I added the document title to the TableSelecitonView but that will
2037 change if / when we add a view that doesn't require table selection.
2039 * mockups/details-contacts.html:
2040 * mockups/details-projects.html:
2041 * mockups/listview-contacts.html:
2042 * mockups/listview-projects.html:
2043 * mockups/style.css: Add document title to mockups to keep things
2045 * src/main/java/org/glom/web/client/OnlineGlom.java: Adjust LayoutPanel
2046 sizes to account for the document title.
2047 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2048 Set the document title when it has been retrieved from the server.
2049 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2050 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java: Add
2051 and implement setDocumentTitle(String) method.
2052 * src/main/webapp/style.css: Add ID for document title style.
2054 2011-08-25 Ben Konrath <ben@bagu.org>
2056 Add NavigationType enum to LayoutItemPortal DTO.
2058 This is the start of adding support for Portals to the Details View.
2060 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert
2061 LayoutItem_Portal.navigation_type enum from libglom to
2062 LayoutItemPortal.NavigationType enum.
2063 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
2064 NavigationType enum, field for storing the NavigationType and getter
2067 2011-08-25 Ben Konrath <ben@bagu.org>
2069 Implement the flow table layout in the Details View.
2071 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
2072 FlowTable to Group to account for the renamed class.
2073 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: New
2074 File. This is a container widget that implements the Glom details view
2075 flow table behaviour.
2076 * src/main/java/org/glom/web/client/ui/details/Group.java: Moved from
2077 org/glom/web/client/ui/FlowTable.java.
2078 * src/main/webapp/style.css: Adjust bottom margin of the subgroup-title
2079 so that the size of the subgroups are a closer match to the size of
2080 the Glom subgroups. This makes the flowtable layout match the layout
2081 in Glom for the Music Collection example file.
2083 2011-08-16 Ben Konrath <ben@bagu.org>
2085 Create container element for LayoutItemPortal in Details View.
2087 This will help me develop the layout for the FlowTable.
2089 * src/main/java/org/glom/web/client/ui/FlowTable.java: Also rename
2090 fieldPanel variable to detailsCell.
2092 2011-08-15 Ben Konrath <ben@bagu.org>
2094 Set the height of the data element in the Details View.
2096 I changed the InlineLabels (text in a span element) to Labels (text in
2097 a div element) so that I could set the height of the details-data
2098 elements instead of the details-cell parent elements. This allows the
2099 the details-data element to display the correct height if style is
2100 applied that shows the height.
2102 This change has the added benefit of allowing the order of the labels
2103 and data elements to be changed for right-to-left languages.
2105 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
2106 InlineLabels to Labels.
2107 * src/main/java/org/glom/web/client/ui/FlowTable.java: Change
2108 InlineLabels to Labels. Set the height of the data element.
2109 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
2110 multiline text height in the Formatting DTO.
2111 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add field
2112 for multiline height along with getter and setter methods.
2113 * src/main/webapp/style.css: Adjust style to account for the change
2114 from span elements to div elements in the details cell.
2116 2011-08-15 Ben Konrath <ben@bagu.org>
2118 Make the List View appearance match the mockups.
2120 It doesn't match exactly but it's much better than it was.
2122 * mockups/listview-contacts.html: Remove unused css classes.
2123 * mockups/listview-projects.html: Remove unused css classes.
2124 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Display 15
2125 rows instead of 20. Rename vPanel to mainPanel. Use FlowPanel (div)
2126 for mainPanel instead of VerticalPanel (table). Set style name on
2127 CellTable. Set style name on Details column. Right-align Details
2129 * src/main/webapp/style.css: Adjust properties to match the mockups.
2131 2011-08-12 Ben Konrath <ben@bagu.org>
2133 Add better support for subgroups in the details view.
2135 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
2136 changed FlowTable constructor.
2137 * src/main/java/org/glom/web/client/ui/FlowTable.java: Add better
2138 support for subgroups and subgroup-titles.
2139 * src/main/webapp/style.css: Add CSS class for subgroups and
2142 2011-08-12 Ben Konrath <ben@bagu.org>
2144 Return the top level LayoutGroup title.
2146 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2148 2011-08-11 Ben Konrath <ben@bagu.org>
2150 Make the TableSelector header match the mockup.
2152 * src/main/java/org/glom/web/client/OnlineGlom.java: Add a margin to
2153 the layout panel. Properly lineup the table selection header with
2154 the list and details view.
2155 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Remove the
2156 margin around the details view.
2157 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2158 Rename listBox variable to tableSelector. Set id for the style sheet.
2159 Use a FlowPanel instead of a HorizontalPanel.
2160 * src/main/webapp/style.css: Add properties to make the TableSelector
2161 box match the mockups.
2163 2011-07-13 Ben Konrath <ben@bagu.org>
2165 Update install script for java-libglom version change.
2167 * utils/install-onlineglom-war.sh: Also exit if 'make check' in
2170 2011-07-13 Ben Konrath <ben@bagu.org>
2172 Add support sub-group in the details view.
2174 I also removed the code that special-cased the default details view
2177 http://mail.gnome.org/archives/glom-devel-list/2011-July/msg00005.html
2179 I still have to make a proper flowtable.
2181 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2182 Don't special-case default details view layout.
2183 * src/main/java/org/glom/web/client/ui/DetailsView.java: Remove
2184 addLayoutField() as I'm going to use it.
2185 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Extract
2186 GroupPanel to FlowTable class. Remove unimplemented addLayoutField()
2188 * src/main/java/org/glom/web/client/ui/FlowTable.java: New class
2189 extracted from DetailsViewImpl.GroupPanel. Add support for
2191 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2192 column count when getting the details layout.
2194 2011-07-12 Ben Konrath <ben@bagu.org>
2196 Set browser title with database and table titles.
2198 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2199 Set the browser title when the table changes and when the activity
2201 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2202 title when retrieving document info (the GlomDocument object).
2203 * src/main/java/org/glom/web/shared/GlomDocument.java: Add title field
2204 with getter and setter methods. Remove unused convenience constructor.
2205 Use default code formatting.
2207 2011-07-12 Ben Konrath <ben@bagu.org>
2209 Ignore LayoutItemPortals in the details view.
2211 I added a new DTO for the LayoutItemPortal so that I can ignore it in
2214 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Ignore
2215 LayoutItemPortal layout objects.
2216 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
2217 LayoutItemPortal objects when retrieving the details layout.
2218 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: New
2219 file. This is an empty class and just used to get type information for
2222 2011-07-12 Ben Konrath <ben@bagu.org>
2224 Use java-libglom 1.17.0.
2228 2011-07-11 Ben Konrath <ben@bagu.org>
2230 Remove "Table:" label from table selector.
2232 This matches a recent change in the Glom UI.
2234 * mockups/details-contacts.html:
2235 * mockups/details-projects.html:
2236 * mockups/listview-contacts.html:
2237 * mockups/listview-projects.html: Remove the "Table:" label from the
2239 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2241 2011-07-11 Ben Konrath <ben@bagu.org>
2243 Add main groups to the details view.
2245 This makes things look a little nicer in the details view. The next step
2246 is to implement the flowtable.
2248 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Inherit only the
2249 resources from the standard gwt css theme. Standard.css is now
2250 included in OnlineGlom.html so that the online glom css rules have
2251 precedence over the gwt theme.
2252 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
2253 the whole LayoutGroup to the DetailsView instead of just the titles.
2254 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2255 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Create the
2256 details layout with a helper class (GroupPanel). I might extract this
2257 class when I make the full flowtable.
2258 * src/main/java/org/glom/web/shared/layout/LayoutItem.java: Add empty
2259 string as default so I don't have to worry about NPEs when processing
2261 * src/main/webapp/OnlineGlom.html: Add the gwt standard css file (see
2262 note beside OnlineGlom.gwt.xml above).
2263 * src/main/webapp/style.css: Add default font-size to body to override
2264 the font-size set by the standard theme. Don't use h2 tags for
2265 group-title. Create new details-cell class.
2267 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2269 ConfiguredDocument: Set the port number too.
2271 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2272 (ConfiguredDocument.ConfiguredDocument): Get the port number from the
2273 Glom document. Presumably this worked sometimes so far because there is a
2274 default port number.
2276 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2278 ConfiguredDocument: Warn that sqlite and self-hosting are not supported.
2280 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2281 (ConfiguredDocument.ConfiguredDocument): Check that the hosting mode is
2282 correct, though we should throw an exception too.
2284 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2286 Fix a addDocuemnt typo.
2288 * src/main/java/org/glom/web/shared/Documents.java
2289 (Documents.addDocuemnt): Rename to addDocument().
2290 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
2291 (OnlineGlomServiceImpl.getDocuments): Adapt.
2293 2011-07-08 Murray Cumming <murrayc@murrayc.com>
2295 Slightly improved log output when connection fails.
2297 * src/main/java/org/glom/web/server/ConfiguredDocument.java
2298 (ConfiguredDocument.setUsernameAndPassword):
2299 We don't know for sure if it' the username/password that's wrong, so
2300 rephrase the message.
2301 Also ouput the exception message, though it's generic in this case.
2303 2011-07-08 Ben Konrath <ben@bagu.org>
2307 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also
2308 added braces to a one line if statement because the Eclipse formatter
2309 was getting confused.
2311 2011-07-07 Ben Konrath <ben@bagu.org>
2313 Update project config files for Eclipse 3.7 and use GWT 2.3.0.
2315 These should really be two separate tasks but I counldn't get things to
2316 work with GWT 2.2.0 and Eclipse 3.7.
2320 * .settings/org.eclipse.jdt.core.prefs:
2321 * .settings/org.eclipse.jdt.ui.prefs:
2322 * .settings/org.eclipse.ltk.core.refactoring.prefs:
2323 * .settings/org.eclipse.m2e.core.prefs:
2324 Add new config files. Update current files. Remove references to the
2325 webtools plugins as we're not using any of the webtools features.
2326 * .gitignore: Add logs directory which is created when running with
2328 * pom.xml: Update to GWT 2.3.0. Eclipse configuration was automatically added.
2329 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Moved from
2330 src/main/resources/org/glom/web/OnlineGlom.gwt.xml as per this known
2332 http://mojo.codehaus.org/gwt-maven-plugin/eclipse/google_plugin.html#Limitations
2334 2011-07-07 Murray Cumming <murrayc@murrayc.com>
2336 onlineglom.properties: Add explanatory comments.
2338 * src/main/resources/onlineglom.properties: Also change the default user
2339 from ben to someuser, to avoid the risk of people thinking we just
2340 stupidly hard-coded a locale path, when they see that on stderr or in a log.
2342 2011-06-28 Ben Konrath <ben@bagu.org>
2344 Use filename in Log for incorrect passwords.
2346 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
2347 getFileName(String) method to get the filename from the URI.
2349 2011-06-28 Ben Konrath <ben@bagu.org>
2351 Add the table name to the URL token for the ListPlace.
2353 This makes things consistent between the DetailsPlace and the
2354 ListPlace. It also allows the the ListPlace to be bookmarked.
2356 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2357 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2358 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2359 Remove getDefaultListLayout(). The default layout is now returned
2360 by the getListLayout() method when the table name is an empty string.
2361 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2362 Add table name field. Change to a new ListPlace when the table
2363 has been changed. Use getListLayout() for getting the default
2365 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2366 Add table name field. Set the correct table name in the list box
2367 when loading from bookmark. This corrects a problem for the
2369 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2370 Move table name to super-class (HasSelectableTable). Move document
2371 and table URL keys to super-class in HasSelectableTable.
2372 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2373 Add table name field. Add Tokenizer class with URL key common to
2374 the subclasses (DetailsPlace and ListPlace).
2375 * src/main/java/org/glom/web/client/place/ListPlace.java:
2376 Add table name. Add code to parse the URL token.
2377 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2378 Update ListPlace construction with empty table name string.
2379 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2380 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2381 Change setTableSelectedIndex(int) to setSelectedTableName(String).
2382 Update ListPlace construction with table name string.
2383 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2384 Change defaultTableName field to tableName to reflect how it's now
2385 used. Update the getter and setter methods.
2387 2011-06-28 Ben Konrath <ben@bagu.org>
2389 Enable the table selector in the DetailsView.
2391 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2392 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2393 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2394 Remove getDefaultDetailsLayout(). The default layout is now returned
2395 by the getDetailsLayout() method when the table name is an empty
2397 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2398 event handler for table change event. Change to using
2399 getDetailsLayout() for the default details layout.
2400 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add table
2402 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use table
2403 when navigating to the details place.
2405 2011-06-27 Ben Konrath <ben@bagu.org>
2407 Use filename based unique document ID in URL and for RPC.
2409 The document ID is the glom document name with spaces (' ') replaced
2410 with pluses ('+') and without the .glom extension.
2412 This change is mostly a string substitution of 'documentTitle' for
2413 'documentID'. The only code change is the addition of a Documents DTO to get the
2414 filename to document title mappings as indicated below.
2416 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2417 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2418 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2419 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2420 Use Documents DTO to create the document links in the document
2422 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2423 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2424 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2425 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2426 * src/main/java/org/glom/web/client/place/ListPlace.java:
2427 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2428 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2429 * src/main/java/org/glom/web/client/ui/ListView.java:
2430 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2431 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2432 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2433 * src/main/java/org/glom/web/server/Log.java:
2434 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2435 getDocumentTitles() to getDocuments() and return the Documents DTO.
2436 * src/main/java/org/glom/web/shared/Documents.java: New DTO for
2437 transferring the filename to document title mappings.
2439 2011-06-25 Ben Konrath <ben@bagu.org>
2441 Make the authentication popup work again.
2443 This bug was introduced when I extracted ConfiguredDocument to its own class.
2445 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Return the
2446 correct success / fail status in setUsernameAndPassword().
2448 2011-06-25 Ben Konrath <ben@bagu.org>
2450 Use filename as unique key for configuring database usernames and passwords.
2452 This replaces the use of the Glom document title which could change
2453 depending on the locale. Thanks to Murray Cumming for pointing out this
2456 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2457 * src/main/resources/onlineglom.properties:
2459 2011-06-24 Ben Konrath <ben@bagu.org>
2461 Pass primary key value to DetailsView.
2463 This enables the DetailsView to load the correct data.
2465 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2466 primary key value field and set in constructor. Pass primary key
2467 value to getDetailsData().
2468 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add URL
2469 variables for document title and primary key value.
2470 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Pass primary
2471 key value to the DetailsPlace.
2473 2011-06-24 Ben Konrath <ben@bagu.org>
2475 Add primary key index to LayoutGroup DTO and add ProvidesKey to CellTable.
2477 This allows the primary key to be retrieved by the Details button. This
2478 functionality has not been implemented yet but it's in the works.
2480 * src/main/java/org/glom/web/client/activity/ListActivity.java: Pass
2481 the LayoutGroup result to ListView.setCellTable instead of all of its
2482 fields individually.
2483 * src/main/java/org/glom/web/client/ui/ListView.java:
2484 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use
2485 LayoutGroup as parameter for setCellTable. Add ProvidesKey to CellTable
2486 get the primary key for the table.
2487 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
2488 index of the primary key in the LayoutGroup accounting for hidden
2489 primary keys. Rename getJavaNumberFormat() to
2490 convertToJavaNumberFormat() for consistency. Cleanup / add some
2492 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add a
2493 field for primary key index and a field to indicate whether the
2494 primary key is hidden or not.
2496 2011-06-23 Ben Konrath <ben@bagu.org>
2498 Rename getTableData methods to getListData.
2500 This is a rename refactor for consistency with other methods.
2502 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2503 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2504 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2505 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2507 2011-06-23 Ben Konrath <ben@bagu.org>
2509 Extract the ConfiguredDocument innerclass into its own class.
2511 This makes the servlet code more object oriented.
2513 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Extracted
2514 from private ConfiguredDocument class in OnlineGlomServiceImpl.
2515 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use the
2516 new ConfiguredDocument class.
2518 2011-06-21 Ben Konrath <ben@bagu.org>
2520 Use the LayoutGroup group for the list layout instead of ColumnInfo and LayoutListTable.
2522 This makes things more inline with how libglom works and reduces code
2523 duplication. This refactor lays the groundwork for adding the primary key to
2524 the LayoutGroup object.
2526 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2527 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2528 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2529 Change method names to getListLayout and getDefaultListLayout for
2530 consistency. Use LayoutGroup as the DTO for the list layout instead of
2531 ColumnInfo and LayoutListTable.
2532 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use the
2533 new method names along with the LayoutGroup object for transferring the
2535 * src/main/java/org/glom/web/client/ui/ListView.java:
2536 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2537 Use ArrayList<LayoutItem> instead of ColumnInfo[] in setCellTable().
2538 * src/main/java/org/glom/web/shared/ColumnInfo.java: Deleted. Replaced
2540 * src/main/java/org/glom/web/shared/LayoutListTable.java: Deleted.
2541 Replaced with LayoutGroup.
2542 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add
2543 expectedResultSize and defaultTableName fields which are needed for
2545 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
2546 type field which is needed for the list layout but will also be
2547 useful for the details layout as things progress.
2548 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2549 Make class abstract. Remove the unnecessary
2550 getFormattingHorizontalAlignment method. Add setFormatting method.
2552 2011-06-16 Ben Konrath <ben@bagu.org>
2554 Add scripts for building and installing war.
2556 These will help when updating OnlineGlom but they're also good
2557 supplemental documentation of the build and deployment proceeding.
2559 * utils/build-onlineglom-war.sh: New file.
2560 * utils/install-onlineglom-war.sh: New file.
2562 2011-06-16 Ben Konrath <ben@bagu.org>
2564 Create wrapper class to create consistent log messages.
2566 I wrapped methods in the Log class of gwt-log to add the method names
2567 from the servlet and create consistent formatting of the document title
2568 and table names in the log messages.
2570 * src/main/java/org/glom/web/server/Log.java: New file with wrapped methods.
2571 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert all
2572 log methods to use methods from wrapped Log class.
2574 2011-06-16 Ben Konrath <ben@bagu.org>
2576 Remove superfluous conditional return.
2578 Thanks to Murray Cumming for pointing this out!
2580 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2582 2011-06-15 Ben Konrath <ben@bagu.org>
2584 Return an ArrayList of LayoutGroups for the Details layout.
2586 This corrects a problem with the details layout as it can have more
2587 than one top level LayoutGroup.
2589 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2590 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Change
2591 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return
2592 an ArrayList<LayoutGroup> in the get*DetailsLayout methods.
2593 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Deal
2594 with ArrayList of LayoutGroups for the details view layout.
2595 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2596 method name from get*DetailsLayoutGroup to get*DetailsLayout. Return an
2597 ArrayList<LayoutGroup> in the get*DetailsLayout methods. Inline
2598 getTableFieldsToShowForSequence() into getFieldsToShowForSQLQuery() to simplify
2599 the code a bit. Rename getTableFieldsToShowForSequenceAddGroup() to
2600 getFieldsToShowForSQLQueryAddGroup() to try to keep things more consistent.
2602 2011-06-14 Ben Konrath <ben@bagu.org>
2604 Use cast_dynamic method to determine the libglom LayoutItem type.
2606 This is better than finding the LayoutItem type by using the string
2607 returned from the get_part_type_name() method.
2609 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2611 2011-06-14 Ben Konrath <ben@bagu.org>
2613 Add method names to log entries in the servlet.
2615 This helps when tracking down deployment problems.
2617 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2619 2011-06-14 Ben Konrath <ben@bagu.org>
2621 Add data to the DetailsView using a hard-coded primary key value.
2623 The layout and functionality of the DetailsView is not complete. This
2624 is just a checkpoint so the patch doesn't get too big.
2626 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2627 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2628 Add getDetailsData() servlet method.
2629 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2630 Add RPC to getDetailsData(). Change the way the LayoutGroups and
2631 LayoutFields are added to the DetailsView.
2632 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2633 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2634 Add setData() method. Change addLayoutGroup() and addLayoutField() to
2635 take the string for the title instead of the object.
2636 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2637 Add implementation getDetailsData() along with some private helper
2639 * src/main/webapp/style.css: Add padding to details-data class. Add a
2640 details-label class with the same padding as the details-data class.
2642 2011-06-03 Ben Konrath <ben@bagu.org>
2644 Use presenter.goTo() to change to the DetailsPlace.
2646 This will make things easier when we need to open the DetailsView with
2647 data specific to the row that was clicked.
2649 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2651 2011-06-02 Ben Konrath <ben@bagu.org>
2653 Add CSS file from mockups.
2655 I'm adding this now because it's going to be useful to have when
2656 developing the DetailsView. The TableSelectionView and ListView aren't
2659 * src/main/webapp/OnlineGlom.html:
2660 * src/main/webapp/style.css:
2662 2011-06-02 Ben Konrath <ben@bagu.org>
2664 Use String.isEmpty() to check for empty string.
2666 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2668 2011-06-02 Ben Konrath <ben@bagu.org>
2670 Display main layout group titles in the DetailsView.
2672 This is the start of the DetailsActivity/DetailsView implementation.
2674 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2675 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2676 Add getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup() methods.
2677 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2678 Get the layout information for the details view from the server and set
2679 the main layout group titles.
2680 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2681 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2682 Add addLayoutGroup() and addLayoutField() methods. This are just
2683 temporary methods for creating the the details view that will change
2685 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2686 Implement getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup()
2688 * src/main/java/org/glom/web/shared/layout/Formatting.java:
2689 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2690 * src/main/java/org/glom/web/shared/layout/LayoutItem.java:
2691 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java:
2692 * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
2693 Data Transfer Objects that mimic the libglom object structure. These are
2694 used for transferring the details layout but could also be used for
2695 transferring the list layout.
2697 2011-05-27 Ben Konrath <ben@bagu.org>
2699 Reset the AuthenticationPopup when clearing the ListView.
2701 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2703 2011-05-27 Ben Konrath <ben@bagu.org>
2705 Fix problem with onlineglom.properties file loading.
2707 The old way worked in Eclipse but not on the server. Loading the
2708 onlineglom.properties file now works in Eclipse and on the server.
2710 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2712 2011-05-24 Ben Konrath <ben@bagu.org>
2714 Update gwt-log from 3.1.0 to 3.1.2.
2716 Gwt-log 3.1.0 has been marked as depreciated.
2720 2011-05-24 Ben Konrath <ben@bagu.org>
2722 Add comment to ListActivity.goTo() method.
2724 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2726 2011-05-24 Ben Konrath <ben@bagu.org>
2728 Remove FIXME in convertGdkColorToHtmlColour()
2730 The Gdk::Color value returned by libglom is 16-bits per channel on both
2731 64 and 32-bit platforms.
2733 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2735 2011-05-19 Ben Konrath <ben@bagu.org>
2737 Improve performance of initial ListView load.
2739 I removed a round trip to the server for getting the default table name
2740 and then requesting information about that table. This also removes a potential
2741 problem with the table change handler not being setup in time to receive the
2742 table change event from the ListActivity.
2744 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2745 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2746 getDefaultLayoutListTable() method. Improve comments.
2747 * src/main/java/org/glom/web/client/activity/ListActivity.java: Use
2748 getDefaultLayoutListTable() method instead of firing a table change
2749 event to get the table to load.
2750 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2751 implementation of getDefaultLayoutListTable() method.
2752 * src/main/java/org/glom/web/shared/LayoutListTable.java: Add field for
2755 2011-05-19 Ben Konrath <ben@bagu.org>
2757 Override toDebugString() in TableChangeEvent.
2759 This is useful to have for debugging.
2761 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2763 2011-05-19 Ben Konrath <ben@bagu.org>
2765 Add a "Back to List" link when at the DetailsPlace.
2767 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2768 Populate the CellTable based on the selected table of the ListBox if
2769 it's set otherwise use the default table. This allows the "Back to
2771 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2772 Remove Place from constructors. Add a setPlace() method. Add
2773 goToPlace() method. Set class as presenter for TableSelectionView.
2774 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2775 Use the same TableSelectionActivity when switching between the List and
2777 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2778 Subclass the new HasSelectableTablePlace. This removes some duplicate
2780 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
2781 New class to represent Places that display the TableSelectionView.
2782 * src/main/java/org/glom/web/client/place/ListPlace.java:
2783 Subclass the new HasSelectableTablePlace. This removes some duplicate
2785 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2786 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2787 Add Presenter interface. Add setBackLinkVisible() method. Add
2788 setBackLink() method.
2790 2011-05-18 Ben Konrath <ben@bagu.org>
2792 Enable the "Details" buttons.
2794 Right now only an empty details view is displayed.
2796 * src/main/java/org/glom/web/client/ClientFactory.java:
2797 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2798 Add DetailsView to ClientFactory.
2799 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2800 A basic activity for the details view.
2801 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2802 Add a new constructor that takes a DetailsPlace. Rename shutdown() to
2804 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2805 Add DetailsPlace.Tokenizer to the list of tokens that are generated by
2807 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2808 Create a new DetailsActivity when a DetailsPlace is requested. Remove
2809 unnecessary super() in constructor.
2810 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2811 Create a new TableSelectionActivity when a DetailsPlace is requested. We
2812 really shouldn't create a new TableSelectionActivity for both the ListPlace
2813 and the DetailsPlace so this should be considered a temporary solution.
2814 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2815 New file. Represents a URL for the details view.
2816 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2817 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
2818 A basic details view interface and implementation.
2819 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2820 Enable the "Details" buttons.
2822 2011-05-12 Ben Konrath <ben@bagu.org>
2824 Use a LayoutPanel with multiple display areas for main layout.
2826 This is mostly a refactor in that there are no changes from the user
2827 point of view. These changes are required so that we can swap out the list view
2828 with the details view when the user clicks the "Details" button.
2830 * src/main/java/org/glom/web/client/ClientFactory.java:
2831 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2832 OnlineGlomView. Add TableSelectionView, ListView and
2833 AuthenticationPopup.
2834 * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
2835 for main layout. Add display regions for main activities. Add
2836 activity manager for for main activities.
2837 * src/main/java/org/glom/web/client/activity/ListActivity.java: New
2838 file from parts of the deleted OnlineGlomActivity.
2839 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2840 New file from parts of the deleted OnlineGlomActivity.
2841 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
2842 * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
2843 New files for app wide table change event.
2844 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
2845 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
2846 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
2847 Activity mappers for the main activities replace the deleted app-wide
2849 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
2850 Fix a spelling error in he comment.
2851 * src/main/java/org/glom/web/client/ui/ListView.java:
2852 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2853 Renamed from LayoutListView and modified for MVP. This still not a
2854 proper dumb view as prescribed by the MVP pattern but it works for now.
2855 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2856 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2857 New widget stripped out of the deleted OnlineGlomView.
2858 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2859 Remove hack that is fixed by this patch.
2861 2011-05-06 Ben Konrath <ben@bagu.org>
2863 Rename OnlineGlomPlace to ListPlace.
2865 The only change besides the rename is that url will now display #list
2866 instead of #Document.
2868 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2869 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
2870 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2871 * src/main/java/org/glom/web/client/place/ListPlace.java:
2872 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2874 2011-05-06 Ben Konrath <ben@bagu.org>
2876 Use Presenter for app navigation.
2878 This is the proper way to deal with Place (URL) changes with the MVP
2881 * src/main/java/org/glom/web/client/ClientFactory.java:
2882 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
2883 PlaceHistoryMapper and PlaceHistoryHandler.
2884 * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
2885 PlaceHistoryMapper and PlaceHistoryHandler.
2886 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2887 Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
2888 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2889 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2890 Add Presenter interface and setPresenter methods. Rename addHyperLink
2891 to addDocumentLink taking only the document title as a parameter.
2893 2011-04-14 Ben Konrath <ben@bagu.org>
2895 Prompt for db username/password if they haven't been set.
2897 This is implemented with a popup widget that is contained within the
2898 OnlineGlomView and managed by the OnlineGlomActivity.
2900 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
2901 methods for checking and setting the database username and password.
2902 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
2903 new methods for checking and setting the database username and
2905 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
2906 Display authentication popup if the JDBC connection to the database
2907 has not been authenticated.
2908 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
2910 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
2911 for dealing with the authentication popup.
2912 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
2913 Implement the methods for dealing with the authentication popup.
2914 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
2915 try to executed queries if the database connection hasn't been
2916 authenticated. Implement methods for checking and setting the
2917 database username and password.
2919 2011-04-12 Ben Konrath <ben@bagu.org>
2921 Make log messages a little clearer.
2923 Add a dash betweeen the document title and the table name.
2925 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2927 2011-04-12 Ben Konrath <ben@bagu.org>
2929 Protect against NPEs when cleaning up database resources.
2931 While this isn't strictly necessary because the exception is caught,
2932 not protecting against the NPEs makes it harder to find the real error
2935 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2937 2011-04-12 Ben Konrath <ben@bagu.org>
2939 Move configuration of the servlet to the constructor.
2941 The servlet will be initialized even if the database authentication
2942 information is not set or correct. I still need to add the UI for prompting
2943 the user for the authentication information when it's required.
2945 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
2946 javadocs for getDocumentTitles() method.
2947 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2948 Set error message when RPC fails.
2949 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
2950 glom files directory from the configuration file. Try to set the
2951 database authentication information for the specific document if it's
2952 set and works otherwise try to use the global authentication
2953 information set for the directory.
2954 * src/main/resources/onlineglom.properties: Moved from
2955 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
2956 Added detailed comments for the new keys.
2958 2011-04-11 Ben Konrath <ben@bagu.org>
2960 Remove unnecessary @Override in DocumentSelectionViewImpl.
2962 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2964 2011-04-11 Ben Konrath <ben@bagu.org>
2966 Remove center alignment in DocumentSelectionView.
2968 The title element is still centred but the document titles and bottom
2969 sentence are both left-aligned.
2971 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
2973 2011-04-11 Ben Konrath <ben@bagu.org>
2975 Change 'Demo' naming convention to 'Document'.
2977 This is just a rename refactor with no functional changes to the code.
2979 * src/main/java/org/glom/web/client/ClientFactory.java:
2980 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2981 * src/main/java/org/glom/web/client/OnlineGlom.java:
2982 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2983 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2984 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2985 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
2986 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
2987 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
2988 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
2989 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
2990 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
2991 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2993 2011-04-08 Ben Konrath <ben@bagu.org>
2995 Remove FIXME from safeLongToInt() method.
2997 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
3000 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3002 2011-04-08 Ben Konrath <ben@bagu.org>
3004 Display an error if no glom documents are found in the specified directory.
3006 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3007 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
3008 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
3009 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3011 2011-04-08 Ben Konrath <ben@bagu.org>
3013 Add copyright header to one more file ... oops.
3015 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
3017 2011-04-08 Ben Konrath <ben@bagu.org>
3019 Add copyright header to files without it.
3021 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3022 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
3023 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
3024 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
3025 * src/main/java/org/glom/web/shared/ColumnInfo.java:
3026 * src/main/java/org/glom/web/shared/GlomField.java:
3028 2011-04-08 Ben Konrath <ben@bagu.org>
3030 Add support for accessing multiple glom documents in the servlet.
3032 This completes the demo selection functionality.
3034 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
3035 document title to methods.
3036 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
3037 document title to methods.
3038 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3039 Set browser window title when the activity starts. Correct name of
3040 document title variable.
3041 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
3042 Set browser window title when the activity starts. Set the table
3043 selector change handler after table selector has been set. Clear the
3044 OnlineGlomView when the activity has been stopped.
3045 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
3046 document title as the place token. Use "#Document:" instead of
3047 "#OnlineGlomPlace:" in the URL.
3048 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
3049 Change heading to "Online Glom"
3050 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
3051 document title in RPC methods.
3052 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
3053 setDocumentTitle() method. Add clear() method.
3054 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
3055 setDocumentTitle() method. Implement clear() method which removes the
3056 change handler on the ListBox, clears the ListBox and clears the
3058 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3059 Implement methods with document title. Keep track for the configured
3060 glom documents and their corresponding JDBC configurations in a hash
3061 table. This information is retrieved using the document title as the
3062 key in the hash table.
3063 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
3064 document title field as it's no longer needed.
3066 2011-04-08 Ben Konrath <ben@bagu.org>
3068 Update the Eclipse JDT configuration.
3070 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
3071 methods. Automatically add the copyright header to new files.
3073 2011-04-05 Ben Konrath <ben@bagu.org>
3075 Add new page for demo selection.
3077 This patch adds all the components required to view and start an
3078 OnlineGlom demo by clicking on the desired hyperlink. The user is
3079 able to return to the demo selection page with the browser's back
3080 button. I still need to modify the servlet to work with multiple
3081 documents so all demo links will load the file defined in the
3082 OnlineGlom.properties.
3084 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
3085 This is only useful during development so we don't need to save it.
3086 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
3087 get a reference to the DemoSelectionView.
3088 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
3089 method to get a reference to the DemoSelectionView.
3090 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
3091 default view to DemoSelectionView.
3092 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
3093 to get glom document titles for glom files in a hard-coded directory.
3094 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
3095 method to get glom document titles for glom files in a hard-coded
3097 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
3098 Presenter for DemoSelectionView.
3099 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
3100 for DemoSelectionView.
3101 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
3102 Update for DemoSelectionView.
3103 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
3104 Basic 'Place' implementation for the DemoSelectionView.
3105 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
3106 The interface for the DemoSelectionView.
3107 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
3108 The implementation of the DemoSelectionView.
3109 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
3110 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
3111 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
3112 implementation of method to get glom document titles for glom files
3113 in a hard-coded directory.
3114 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
3115 on longer being used.
3116 * src/main/webapp/glom.png: Glom logo.
3118 2011-04-05 Ben Konrath <ben@bagu.org>
3120 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
3122 This is the forth and final commit of a refactor that will allow
3123 OnlineGlom to be used with multiple documents.
3125 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
3126 Move RPC code from OnlineGlomViewImpl to this class.
3127 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
3129 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
3130 RPC code to the presenter class (the P in MVP).
3132 2011-04-04 Ben Konrath <ben@bagu.org>
3134 Start moving the existing OnlineGlom code to MVP.
3136 This work is based on the GWT MVP framework that is documented here:
3138 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
3140 This is the third commit of a refactor that will allow OnlineGlom to
3141 be used with multiple documents.
3143 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
3144 Interface for client factory which is used to get instances of various
3145 classes throughout the app.
3146 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
3147 Implementation of client factory.
3148 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
3149 initialize the MVP framework.
3150 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
3151 New file. Activity manager for the main container widget. This is the
3153 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
3154 Maps place (URL) to its corresponding activity.
3155 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
3156 New file. This is just a place holder for a generated file.
3157 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
3158 New file. Represents the URL for the main Online Glom app.
3159 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
3160 for changes in LayoutListViewImpl.
3161 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
3162 interface for View. Move code to OnlineGlomViewImpl class.
3163 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
3164 file. Implementation of OnlineGlomView.
3165 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
3166 Place resources. Use ClientFactoryImpl by default.
3168 2011-04-04 Ben Konrath <ben@bagu.org>
3170 Move View classes to their own package.
3172 This is the second commit of a refactor that will allow OnlineGlom to
3173 be used with multiple documents.
3175 * src/main/java/org/glom/web/client/OnlineGlom.java:
3176 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
3177 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
3179 2011-04-02 Ben Konrath <ben@bagu.org>
3181 Move UI code from the main module to its own class.
3183 This is the first commit of a refactor that will allow OnlineGlom to be
3184 used with multiple documents.
3186 * src/main/java/org/glom/web/client/LayoutListView.java: Update
3187 references to OnlineGlom to OnlineGlomView.
3188 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
3189 OnlineGlomView and instantiate it here.
3190 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
3191 represents the main OnlineGlomView with one document.
3193 2011-04-01 Ben Konrath <ben@bagu.org>
3195 Fix formatting of gwt.xml and add DTD.
3197 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
3199 2011-03-30 Ben Konrath <ben@bagu.org>
3201 Propperly convert gdkColor string to html colour string.
3203 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3205 2011-03-28 Ben Konrath <ben@bagu.org>
3207 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
3209 This implementation matches
3210 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
3211 readable and is not tied to Swig.
3213 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3215 2011-03-28 Ben Konrath <ben@bagu.org>
3217 Use read-only checkboxes for boolean field types.
3219 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
3220 in the CellTable based on the field type. It currently only
3221 distinguishes between boolean and text columns but I'll need to add
3222 support for more types.
3223 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
3224 column type in the ColumnInfo object. Add method to convert between the
3225 glom field type enum in ColumnInfo and the glom field type in libglom.
3226 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
3228 * src/main/java/org/glom/web/shared/GlomField.java: Add support for