1 2012-05-06 Murray Cumming <murrayc@murrayc.com>
3 ListViewImpl: Protected against a bad cast error.
5 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
6 onEnterKeyDown(): Do not cast without an instanceof check.
8 2012-05-06 Murray Cumming <murrayc@murrayc.com>
10 ListTable: Protect against an out of range error.
12 * src/main/java/org/glom/web/client/ui/list/ListTable.java
13 createCellTable(): This is unlikely, but can happen while debugging.
15 2012-05-06 Murray Cumming <murrayc@murrayc.com>
17 AsyncMessage onFailure() callbacks: Log the exception message.
19 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
20 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
21 * src/main/java/org/glom/web/client/activity/ListActivity.java:
22 * src/main/java/org/glom/web/client/activity/ReportActivity.java:
23 * src/main/java/org/glom/web/client/activity/TableSelectionActivity:
24 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
25 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
26 These are useful clues when something is wrong.
28 2012-05-06 Murray Cumming <murrayc@murrayc.com>
30 ConfiguredDocument: Avoid a null dereference.
32 * src/main/java/org/glom/web/server/ConfiguredDocument.java
33 TableLayoutsForLocale.getMapWithAdd(): Make sure that the list and
34 details maps are created.
36 2012-05-06 Murray Cumming <murrayc@murrayc.com>
38 Document: Correct the port number parsing.
40 * src/main/java/org/glom/web/server/libglom/Document.java:
41 This lets us actually connect to the database and show the document.
43 2012-05-05 Murray Cumming <murrayc@murrayc.com>
47 * pom.xml: Use htmlunit mode for gwt:test, because the default demands
48 user-interaction, asking us to load a temporary URL in a browser.s
49 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add a servlet node,
50 which is apparently necessary for testing the service. See the comment.
51 * src/test/java/org/glom/web/client/GwtTestOnlineGlomService.java:
52 Show the exception, if any. This is how I saw the 404 in the HTML in
55 2012-05-05 Murray Cumming <murrayc@murrayc.com>
57 DocumentTest: Move the .glom files into the resources directory.
59 * src/test/java/org/glom/web/server/libglom/DocumentTest: And get the
60 URI via getResource().
62 2012-05-05 Murray Cumming <murrayc@murrayc.com>
64 Document: Remove the FieldIdentifies inner class.
66 * src/main/java/org/glom/web/server/libglom/Document.java: We only
67 use the Relationship (though the same function in libglom is maybe
68 used in other ways) and so this removes a compiler warning.
70 2012-05-05 Murray Cumming <murrayc@murrayc.com>
72 Document.load() Remove the error code parameter.
74 * src/main/java/org/glom/web/server/libglom/Document.java: load():
75 Remove the parameter. We do not set it yet and it could never have
76 worked as an output parameter (though maybe it did in java-libglom).
77 We could use an exception if we really want the failure reason.
78 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
80 * src/test/java/org/glom/web/server/libglom/DocumentTest.java:
81 setUp(), testGetSuitableTableToViewDetails(): Adapt.
83 2012-05-05 Murray Cumming <murrayc@murrayc.com>
85 Make some inner classes static.
87 * src/main/java/org/glom/web/server/ConfiguredDocument.java
88 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
89 * src/main/java/org/glom/web/server/ReportGenerator.java
90 * src/main/java/org/glom/web/server/libglom/Document.java
91 Make all inner classes static that can be static.
93 2012-05-05 Murray Cumming <murrayc@murrayc.com>
95 OnlineGlomServiceImpl: Do not load and check for java-libglom.
97 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
98 init(): We do not use java-libglom any more.
100 2012-05-05 Murray Cumming <murrayc@murrayc.com>
102 Remove mentions of java-libglom.
104 * README: Remove mention of java-libglom, because it no longer needed.
105 * utils/build-onlineglom-war.sh:
106 * utils/check-and-recover-tomcat.py:
107 * utils/install-onlineglom-war.sh: Remove these as they are no longer
108 useful. Building is now far easier, with no need for jhbuild.
110 2012-05-05 Murray Cumming <murrayc@murrayc.com>
112 Fix the build (mvn package)
114 * src/main/java/org/glom/web/shared/libglom/layout/LayoutGroup.java
115 (LayoutGroup): Make the LayoutItemList inner class static and protected.
116 Otherwise the GWT Java->Javascript compilation fails with just this
117 error, during mvn package or when attempting to view in a browser,
118 in the GWT developer mode in Eclipse.
120 [INFO] --- gwt-maven-plugin:2.4.0:compile (default) @ gwt-glom ---
121 [INFO] auto discovered modules [org.glom.web.OnlineGlom]
122 [INFO] Compiling module org.glom.web.OnlineGlom
123 [INFO] [ERROR] Errors in 'file:/home/murrayc/checkouts/gnome/gwt-glom/src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java'
124 [INFO] [ERROR] Line 46: Failed to resolve 'org.glom.web.client.OnlineGlomService' via deferred binding
125 [INFO] Scanning for additional dependencies: file:/home/murrayc/checkouts/gnome/gwt-glom/src/main/java/org/glom/web/client/ui/details/DetailsCell.java
126 [INFO] [WARN] For the following type(s), generated source was never committed (did you forget to call commit()?)
127 [INFO] [WARN] org.glom.web.client.OnlineGlomService_Proxy
128 [INFO] [ERROR] Cannot proceed due to previous errors
130 It has taken me 2 days to find out what was causing that. After reducing
131 the code, the compiler eventually showed me the full error message.
133 2012-05-04 Murray Cumming <murrayc@murrayc.com>
135 ConfiguredDocument: Cache the cloned and stripped layouts.
137 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
138 getValidListViewLayoutGroup(), .getDetailsLayoutGroup(): Store the cloned
139 layout in a map, so we can retrieve it again without rebuilding it.
141 2012-05-04 Murray Cumming <murrayc@murrayc.com>
143 UsesRelationshipImpl: Complete the relationshipEquals() implementation.
145 2012-05-04 Murray Cumming <murrayc@murrayc.com>
147 libglom classes: Implement some auto-generated emthods.
149 2012-05-04 Murray Cumming <murrayc@murrayc.com>
151 Add GwtTestOnlineGlomService.
153 * src/test/java/org/glom/web/client/GwtTestOnlineGlomService.java:
154 However, this (and the other GwtTest*) does not seem to run during
157 2012-05-04 Murray Cumming <murrayc@murrayc.com>
159 Remove use of unsupported features from client code.
161 * src/main/java/org/glom/web/client/StringUtils.java: Add equals().
162 * src/main/java/org/glom/web/shared/libglom/layout/UsesRelationshipImpl.java:
163 * src/main/java/org/glom/web/shared/libglom/layout/reportparts/LayoutItemGroupBy.java:
164 Use our client version of StringUtils instead of the apache commons one.
166 However, the GWT Javascript compliation still fails.
168 2012-04-25 Murray Cumming <murrayc@murrayc.com>
170 Add a Field class and implement some loading of it in Document.
172 2012-04-25 Murray Cumming <murrayc@murrayc.com>
174 Initial Document loading implementation, instead of libglom.
176 * src/test/java/org/glom/web/shared/libglom/: Add Document, Report,
177 and Translatable classes, and adapt the rest of the code to use them.
178 However, this is still missing Layout and Field classes and loading.
180 2012-04-24 Murray Cumming <murrayc@murrayc.com>
182 Use of jOOQ: Move Field creation into a utility method.
184 * src/main/java/org/glom/web/server/SqlUtils.java:
185 This lets us improve it more easily.
187 2012-04-24 Murray Cumming <murrayc@murrayc.com>
189 Use of jOOQ: Improve the code to COUNT a sub-select.
191 * src/main/java/org/glom/web/server/SqlUtils.java:
192 Move initial query creation into
193 build_sql_select_step_with_where_clause().
194 build_sql_select_count_rows(): Use the jOOQ API instead of
195 concatentating text, because a jOOQ Select*Step is a TableLike,
196 which is what from() takes.
198 2012-04-23 Murray Cumming <murrayc@murrayc.com>
200 Use jOOQ instead of Glom.build_sql*(), to avoid native calls.
202 * pom.xml: Depend on jooq.
203 * src/main/java/org/glom/web/server/SqlUtils.java: Reimplement the
204 methods with jOOQ, based on the C++ implementations in libglom,
205 with some changes to the logic required by jooQ.
206 Take a jOOQ Condition rather than a Glom.SqlExpr (GdaSqlExpr) for the
208 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
209 * src/main/java/org/glom/web/server/ReportGenerator.java:
210 * src/main/java/org/glom/web/server/SqlUtils.java:
211 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
212 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
213 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
214 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
215 * src/main/java/org/glom/web/server/database/RelatedListNavigation:
216 Adapt. In particular, the SqlUtils methods now need to take a Connection,
217 because jOOQ needs that, though it seems unnecessary.
219 This is not quite finished. Ideally jOOQ would help us to build
220 table_name.field_name names, quoting and escaping them properly.
221 See http://stackoverflow.com/questions/10264001/instantiating-a-jooq-field-by-name
223 2012-04-21 Murray Cumming <murrayc@murrayc.com>
225 Move use of Glom.build_sql*() into a new SqlUtils class.
227 * src/main/java/org/glom/web/server/SqlUtils.java: Add static methods
228 to wrap Glom.build_sql*(). The parameter types are still Glom one,
229 but this will make it easier to start using something other than
230 libglom or SqlBuilder.
232 2012-04-21 Murray Cumming <murrayc@murrayc.com>
234 Update the project URL.
236 * pom.xml: Use an OnlineGlom-specific URL for the project URL.
238 2012-04-21 Murray Cumming <murrayc@murrayc.com>
240 Main layout: Use a FlowTable instead of absolute positioning.
242 * src/main/java/org/glom/web/client/OnlineGlom.java: onModuleLoad():
243 The RootLayoutPanel is a (extends) AbsolutePanel, so each of its
244 child panels/widgets must have an absolute position. But that is annoying, so
245 this adds a FlowTable and puts the child panels in there.
247 2012-04-21 Murray Cumming <murrayc@murrayc.com>
249 GwtTestOnlineGlom: Comment out unused code.
251 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
252 Eclipse has started to say that some code is unused.
254 2012-04-21 Murray Cumming <murrayc@murrayc.com>
256 Update to the latest versions of dependencies.
258 * pom.xml: Update version numbers of dependencies to the latest
260 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
261 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
262 * src/main/java/org/glom/web/server/ReportGenerator.java:
263 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
264 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
265 * src/main/java/org/glom/web/server/database/RelatedListNavigation.
267 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
268 Modify the imports where necessary.
270 2012-04-17 Murray Cumming <murrayc@murrayc.com>
272 Style: Remove overflow:hidden from searchbox
274 * src/main/webapp/style.css: Because this pushes the Back To Link
275 label/link on to the next row, which is then hidden due to the
276 hard-coded (in ems) height.
278 2012-04-20 Murray Cumming <murrayc@murrayc.com>
280 Remove some duplicate code.
282 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
283 getDocumentInfo(): This must have been duplicated during the merge from the
288 2012-04-19 Murray Cumming <murrayc@murrayc.com>
290 Reports: Localize the waiting for report message.
292 * src/main/java/org/glom/web/client/activity/ReportActivity.java
293 start(): Get the message from the contants.
294 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.properties:
296 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_cs.properties:
297 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_de.properties:
298 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_es.properties:
299 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_sl.properties:
300 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_zh_CN.properties:
301 Update these files with the English text for newer strings for now.
303 2012-04-19 Murray Cumming <murrayc@murrayc.com>
305 Reports: Show a message while waiting for the report.
307 * src/main/java/org/glom/web/client/ui/ReportView.java
308 * src/main/java/org/glom/web/client/ui/ReportViewImpl.java:
309 Add setWaitingText(), to show a message saying that we are
310 waiting for the report to be ready.
311 * src/main/java/org/glom/web/client/activity/ReportActivity.java
312 start(): Call setWaitingText() before calling the async
315 2012-04-19 Murray Cumming <murrayc@murrayc.com>
317 ReportGenerator: Specify date and time formats.
319 * src/main/java/org/glom/web/server/ReportGenerator.java:
320 createFieldValueElement(): Use the default (and localized)
321 short formats, though we still need a way to show 4-digit
322 years without providing the format for every locale.
323 * src/main/java/org/glom/web/server/database/DBAccess.java:
324 convertResultSetToDTO(): Use the short formats here too.
326 2012-04-18 Murray Cumming <murrayc@murrayc.com>
328 ReportGenerator: Use the correct numeric formatting.
330 * src/main/java/org/glom/web/server/ReportGenerator.java
331 createFieldExpression(), createFieldValueElement(): Take the
332 whole LayoutItem_Field instead of just the field name, so
333 we have access to the formatting.
334 createFieldValueElement(): Use JRTextField.setPattern() to
335 specify the numeric formatting, with the help of a
336 regular DecimalFormat.
338 2012-04-18 Murray Cumming <murrayc@murrayc.com>
340 ReportGenerator: Avoid showing null for group by titles.
342 * src/main/java/org/glom/web/server/ReportGenerator.java
343 generateReport(): Use setBlankWhenNull() on the field title
344 style too, because this is used for values in group by
347 2012-04-18 Murray Cumming <murrayc@murrayc.com>
349 ReportGenerator: Add a colon to titles in vertical groups.
351 * src/main/java/org/glom/web/server/ReportGenerator.java
352 addFieldToDetailBandVertical(): Pass true for the withColon
355 2012-04-18 Murray Cumming <murrayc@murrayc.com>
357 ReportGenerator: Simplify the code by using Position more.
359 2012-04-18 Murray Cumming <murrayc@murrayc.com>
361 Reports: Support vertical groups, roughly.
363 * src/main/java/org/glom/web/server/ReportGenerator.java:
364 addToReport(): Rename to addGroupToReport() and, if necessary,
365 call the new addVerticalGroupToReport() method.
366 createFieldValueElement(): Let the caller specify the Y position
369 2012-04-17 Murray Cumming <murrayc@murrayc.com>
371 Reports: Allow a second report to be shown.
373 * src/main/java/org/glom/web/client/ui/ReportViewImpl.java:
374 clear(): Do not remove the HTML widget, which broke the whole layout.
376 2012-04-17 Murray Cumming <murrayc@murrayc.com>
378 Locales drop-down: Show that we use English by default.
380 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
381 fillView(): When we use English, just because that is the default, when
382 no locale is specified, show that in the Locales drop-down instead of
383 just showing the first item.
385 2012-04-17 Murray Cumming <murrayc@murrayc.com>
387 Unselect the Report/Locale/Table combo item when appropriate.
389 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
390 setPlace(): clear reportName if this is not a ReportPlace.
391 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
392 setSelectedTableName(), setSelectedLocale(), setSelectedReport():
393 When the provided name is empty, unselect all items, so that none are
394 indicated. This uses a for loop because I cannot find a single method
397 2012-04-17 Murray Cumming <murrayc@murrayc.com>
399 Report: Give the user a way to get back to the list.
401 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
402 start(), setPlace(): Show the Back To List link on reports, and also
403 interpret selecting the empty report item as back to list.
405 2012-04-13 Murray Cumming <murrayc@murrayc.com>
407 Really show the selected Report name.
409 * src/main/java/org/glom/web/client/activity/TableSelectionActivity:
410 setPlace(): Store the reportName here, if it is that kind of Place.
411 fillView(): Set the selected Report after filling the list of reports.
412 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
413 setSelectedLocale(), setSelectedReport(): Avoid possible uses of
414 null Strings, though we need some way to unselect all ListBox items
417 2012-04-13 Murray Cumming <murrayc@murrayc.com>
419 ReportGenerator: Try to avoid some problems.
421 * src/main/java/org/glom/web/server/ReportGenerator.java
422 addField(): Try to avoid duplicates, and avoid using a null
425 2012-04-13 Murray Cumming <murrayc@murrayc.com>
427 Reports: Use quickFind.
429 * src/main/java/org/glom/web/client/OnlineGlomService.java;
430 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
431 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
432 getReportHTML(): Add a quickFind parameter.
433 * src/main/java/org/glom/web/client/activity/ReportActivity.java
434 start(): Pass the quickFind parameter.
435 * src/main/java/org/glom/web/server/ReportGenerator.java
436 generateReport(): Take a quickFind parameter.
438 2012-04-13 Murray Cumming <murrayc@murrayc.com>
440 ReportPlace: Actually use the report name.
442 * src/main/java/org/glom/web/client/place/ReportPlace.java
443 getPlace(): Do not assign the report name to the quickfind.
445 2012-04-13 Murray Cumming <murrayc@murrayc.com>
447 Show java.library.path when complaining.
449 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
450 init(): When telling us to check java.library.path, show the
453 2012-03-06 Murray Cumming <murrayc@murrayc.com>
455 ReportGenerator: Do not show nulls.
457 2012-03-06 Murray Cumming <murrayc@murrayc.com>
459 ReportGenerator: Make the title font larger.
461 2012-03-06 Murray Cumming <murrayc@murrayc.com>
463 ReportGenerator: Put field titles inside groups, if there are groups.
465 2012-03-06 Murray Cumming <murrayc@murrayc.com>
467 ReportGenerator: Take the Report itself instead of the name and group.
469 * src/main/java/org/glom/web/server/ConfiguredDocument.java
470 Remove getReportLayoutGroup().
471 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
472 getReportHTML(): Pass the report instead
473 of its name and layout group.
474 * src/main/java/org/glom/web/server/ReportGenerator.java
475 generateReport(): Use the report object to use the title
478 2012-03-06 Murray Cumming <murrayc@murrayc.com>
480 ReportGenerator: Remove designBand parameters.
482 * src/main/java/org/glom/web/server/ReportGenerator.java:
483 Make designBand a class member instead of passing it to all
486 2012-03-06 Murray Cumming <murrayc@murrayc.com>
488 ReportGenerator: Add lines, a bit like in the desktop version.
490 * src/main/java/org/glom/web/server/ReportGenerator.java
491 addToReport(): Use JRDesignLine.
493 2012-03-06 Murray Cumming <murrayc@murrayc.com>
495 ReportGenerator: Correct the title positions and use some bold style.
497 * src/main/java/org/glom/web/server/ReportGenerator.java:
498 Break the code up into reusable functions, correct the placement of
499 titles, and use normal/bold styles as in the reports in the desktop
502 2012-03-06 Murray Cumming <murrayc@murrayc.com>
504 ReportGenerator: Add a header band to show the field titles.
506 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
507 getReportHTML(): Pass the localeId to the ReportGenerator
509 * src/main/java/org/glom/web/server/ReportGenerator.java
510 constructor: Take the localeID so we can get translated field
512 generateReport(), addToReport(), addFieldToBand(): Add field
513 titles in a column header band.
515 2012-03-05 Murray Cumming <murrayc@murrayc.com>
517 Reports drop-down list: Some improvement.
519 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
520 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
521 Adedd setSelectedReport(),
522 setReportList(): Add a blank line so that the user can select the
524 * src/main/java/org/glom/web/client/activity/ReportActivity.java
525 start(): Show the current report by calling setSelectedReport().
526 This does not seem to work yet.
528 2012-03-05 Murray Cumming <murrayc@murrayc.com>
530 DetailsActivity, ListActivity: Move some variables into a base class.
532 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
533 * src/main/java/org/glom/web/client/activity/HasTableActivity.java:
534 * src/main/java/org/glom/web/client/activity/ListActivity.java: Move
535 the clientFactory, documentID, tableName and authenticationPopup into
536 a base class, to avoid duplication.
538 2012-03-05 Murray Cumming <murrayc@murrayc.com>
540 Translate the Reports label.
542 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
543 Get the "Reports" label string from the constants.
544 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.pro
545 perties: Add Reports to the constants.
547 2012-03-05 Murray Cumming <murrayc@murrayc.com>
549 Reports: Implement grouping.
551 * src/main/java/org/glom/web/server/ReportGenerator.java:
552 Handle LayoutItem_GroupBy items and try to do the right thing
553 with JRDesignGroup. It seems to work.
555 2012-03-04 Murray Cumming <murrayc@murrayc.com>
557 Actually show some data with JasperReports.
559 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
560 getReportHTML(): Move most code into a ReportGenerator class.
561 * src/main/java/org/glom/web/server/ReportGenerator.java:
562 Recurse into sub-groups, adding fields to the JasperDesign's details
563 band. Note that we must set an arbitrary width and height, or it just
564 will not show any data.
566 2012-03-04 Murray Cumming <murrayc@murrayc.com>
568 Reports Chooser: Show the titles, not the names.
570 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
571 (TableSelectionViewImpl.setReportList): Show the titles in the UI,
572 and the names as the values.
573 * src/main/java/org/glom/web/server/ConfiguredDocument.java
574 (ConfiguredDocument.getReportLayoutGroup): Do not return a default
575 group now that we provide the report name, so it should always
578 2012-02-15 Murray Cumming <murrayc@murrayc.com>
580 Depend on jasperreports.
582 * pom.xml: Add the dependency. My plan is to use this on the
585 2012-01-31 Murray Cumming <murrayc@murrayc.com>
587 Implement navigation to report places.
589 * src/main/java/org/glom/web/client/activity/ReportActivity.java
590 start(): Do not bother to handle all events here.
591 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
592 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
593 Added getSelectedReport().
594 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
595 .java: start(): When handling a change to the reports chooser,
596 call getSelectedReport() and goTo() its ReportPlace.
597 * src/main/java/org/glom/web/client/ui/ReportView.java
598 * src/main/java/org/glom/web/client/ui/ReportViewImpl.java:
599 Added setReportHTML() which puts the html in a gwt HTML widget.
600 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
601 getReportHTML(): Return "TODO" just to show that this works.
603 2012-01-31 Murray Cumming <murrayc@murrayc.com>
605 Make ReportPlace usable.
607 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
609 * src/main/java/org/glom/web/client/place/ReportPlace.java:
610 Correct the @prefix annotation.
612 2012-01-31 Murray Cumming <murrayc@murrayc.com>
614 OnlineGlomService: Return report HTML rather than the LayoutGroup.
616 * src/main/java/org/glom/web/client/OnlineGlomService.java:
617 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
618 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
619 Change getReportLayout() to getReportHMTL() because we will not need to
620 parse or render the report layout on the client side.
621 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
622 getReportLayout(): Return the libglom LayoutGroup type because we will
623 not need to convert to a shared type, because this will not be used on
625 * src/main/java/org/glom/web/client/activity/ReportActivity.java:
628 Note that there is still no implementation for this.
631 2012-01-27 Murray Cumming <murrayc@murrayc.com>
633 Add a (empty) Report Place, View, and Activity.
635 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
637 * src/main/java/org/glom/web/client/place/HasTablePlace.java
638 * src/main/java/org/glom/web/client/place/ListPlace.java: Move some of
639 this into a superclass:
640 * src/main/java/org/glom/web/client/place/HasRecordsPlace.java
641 and also use it as the base of this new ReportPlace:
642 * src/main/java/org/glom/web/client/place/ReportPlace.java
644 * src/main/java/org/glom/web/client/ui/ReportView.java
645 * src/main/java/org/glom/web/client/ui/ReportViewImpl.java
646 * src/main/java/org/glom/web/client/activity/ReportActivity.java:
647 Add these, containing mostly boiler-plate for now.
649 * src/main/java/org/glom/web/client/OnlineGlomService.java
650 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java
651 * src/main/java/org/glom/web/server/ConfiguredDocument.java
652 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
653 Add API to get the LayoutGroup for the report.
655 2012-01-23 Murray Cumming <murrayc@murrayc.com>
657 Add and fill a Reports drop-down list box.
659 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
661 * src/main/java/org/glom/web/client/OnlineGlomService.java:
662 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
663 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
664 Added getReports(document, table, localeID), calling
665 ConfiguredDocument.getReports().
666 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
667 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
668 Added setReportsList() and a list widget.
669 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
670 .java (TableSelectionActivity.fillView(): Fill the view's reports list.
675 2012-04-12 Murray Cumming <murrayc@murrayc.com>
677 Translations: Add Esperanto.
679 * src/main/java/org/glom/web/OnlineGlom.gwt.xml
680 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_eo.
681 properties: Add this translation because someone took the time to make it.
683 2012-03-15 Murray Cumming <murrayc@murrayc.com>
685 Adapt to the java-libglom 1.21.7 API.
687 * src/main/java/org/glom/web/server/ReportGenerator.java:
688 addToReport(): get_group_secondary_fields() is now
689 get_secondary_fields().
692 2012-03-15 Murray Cumming <murrayc@murrayc.com>
694 Use the latest java-libglom version.
696 * pom.xml: Use java-libglom 1.21.7.
698 2012-03-03 Ben Konrath <ben@bagu.org>
700 Display date and time in details view.
702 https://bugzilla.gnome.org/show_bug.cgi?id=671257
704 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
706 2012-03-05 Murray Cumming <murrayc@murrayc.com>
708 Require the latest java-libglom.
710 * pom.xml: java-libglom 1.21.5 has LayoutItem_GroupBy.
712 2012-03-04 Murray Cumming <murrayc@murrayc.com>
714 ListViewDbAccess.getSelectQuery(): Avoid using empty quickfind strings.
716 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java
717 ListViewDBAccess.getSelectQuery(): Do not create a where clause for
718 an empty quickfind string. I also corrected libglom to create only
719 empty where clauses for empty quickfind strings, but this avoids the
722 2012-02-24 Ben Konrath <ben@bagu.org>
724 Improve the tabs in the Notebook widget.
728 2012-01-30 Murray Cumming <murrayc@murrayc.com>
730 Translations: Try to translate the strings.
732 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_cs.properties:
733 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_de.properties:
734 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_es.properties:
735 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_sl.properties:
736 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_zh_CN.properties:
737 Take the Open translation from GTK+'s .po files.
738 Take the Details translation from Glom's po files.
739 I have added the other strings to Glom so we can get translations that way:
740 http://git.gnome.org/browse/glom/commit/?id=c3cefe607428a84bdf8de1b04e8bef6f70b04564
742 2012-01-27 Murray Cumming <murrayc@murrayc.com>
744 TableSelectionViewImpl: Put the search label and entry in a div.
746 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
747 Put the search widgets in a FlowTable so that the CSS can be used to
748 style them while keeping them together.
749 * src/main/webapp/style.css: Mention the new div.
751 2012-01-27 Murray Cumming <murrayc@murrayc.com>
753 Translate more strings in more locales.
755 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.properties:
756 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
757 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
758 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
759 Translate the "Details" and "Open" string too.
761 * src/main/java/org/glom/web/OnlineGlom.gwt.xml:
762 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.properties:
763 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_cs.properties:
764 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_es.properties:
765 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_sl.properties:
766 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_zh_CN.properties:
767 Add these new locales as placeholders though they currently contain English.
769 2012-01-27 Murray Cumming <murrayc@murrayc.com>
771 OnlineGlomServiceImpl: Avoid (unlikely) null object dereferences.
773 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: get*():
774 Check the ConfiguredDocument* for null before using it.
776 2012-01-26 Murray Cumming <murrayc@murrayc.com>
778 Tell Eclipse about the generated java files.
780 * .classpath: This lets it find OnlineGlomConstants.java.
781 It would be nice if Eclipse just used the maven build files.
783 2012-01-26 Murray Cumming <murrayc@murrayc.com>
785 Prevent a crash when no locale is specified in the URL.
787 * src/main/java/org/glom/web/client/Utils.java: getCurrentLocaleID():
788 Avoid returning a null string, obtained from
789 Window.Location.getParameter(). This caused a crash when it was
790 later passed to libglom's API.
791 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
792 init(), getDocumentInfo(), getListViewLayout(), getDocuments(),
793 getDetailsLayoutAndData(): Use StringUtils.defaultString() to
794 guard against future null strings.
796 2012-01-26 Murray Cumming <murrayc@murrayc.com>
798 Use the ?locale= query param instead of the &lang= token param.
800 * src/main/java/org/glom/web/client/place/ListPlace.java
801 * src/main/java/org/glom/web/client/place/DetailsPlace.java
802 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
803 Remove the lang token key and value.
805 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
806 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
807 When the user selects a different locale from the chooser, use
808 Window.Location.assign() to change the URL, which then causes a reload.
810 * src/main/java/org/glom/web/client/Utils.java: Added getCurrentLocaleID().
811 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
812 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java
813 * src/main/java/org/glom/web/client/activity/ListActivity.java
814 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
815 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java
816 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
817 * src/main/java/org/glom/web/client/ui/ListView.java:
818 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
820 Remove localeID member variables and method/constructor parameters, instead
821 using Utils.getCurrentLocaleID() when we need a localID to pass to
824 2012-01-26 Murray Cumming <murrayc@murrayc.com>
826 Internationalize the UI strings.
828 * pom.xml: gwt-maven-plugin: Add the i18n goal and specify a
829 <i18nConstantsBundle>, removing the unused <i18nMessagesBundle>.
830 * src/main/resources/org/glom/web/client/Messages.properties: Remove this
831 because it is unused. Messages are apparently strings that can have
832 parameters, but we do not need that yet, so Contants will be enough for now.
833 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add extend-property lines
834 to say that we support the en and de locales.
835 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants.properties:
836 The original English strings.
837 * src/main/resources/org/glom/web/client/ui/OnlineGlomConstants_de.properties:
838 Some German translations of the English strings.
839 The i18n goal then uses the .properties file to generate an
840 OnlineGlomConstants.java file in target/ and somehow GWT.create() magically
841 returns an implementation that returns the translated strings.
842 The documentation suggests putting these in src/java/*/client/, but it seems
843 best to put it in src/resources/*/client/.
844 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
845 Instantiate OnlineGlomConstants via GWT.create() and use it to get the strings
846 instead of hard-coding them.
847 Note that we cannot import OnlineGlomConstants because it does not exist yet,
848 but that does not seem to stop the build, though it confuses Eclipse.
850 You can see the translated string by adding ?locale=de to the URL, like so:
851 http://127.0.0.1:8888/OnlineGlom.html?gwt.codesvr=127.0.0.1:9997?locale=de#list:document=film_manager
853 2012-01-24 Murray Cumming <murrayc@murrayc.com>
855 Improve null/empty String checks.
857 * pom.xml: Add a dependency on commons-lang, to use
858 org.apache.commons.lang.StringUtils.
859 * src/main/java/org/glom/web/server/ConfiguredDocument.java
860 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
861 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java
862 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
863 Use StringUtils.isEmpty().
865 * src/main/java/org/glom/web/client/StringUtils.java: Add a tiny
866 StringUtils class with a static isEmpty() function because we
867 cannot use org.apache.commons.lang.StringUtils in client-side
868 GWT code because it (apparently) cannot be compiled to javascript.
869 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
870 * src/main/java/org/glom/web/client/activity/ListActivity.java
871 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java
872 * src/main/java/org/glom/web/client/place/DetailsPlace.java
873 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
874 * src/main/java/org/glom/web/client/place/ListPlace.java
875 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java
876 * src/main/java/org/glom/web/client/ui/cell/TextCell.java
877 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java
878 * src/main/java/org/glom/web/client/ui/details/Group.java
879 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Use
880 our StringUtils.isEmpty() function.
882 2012-01-24 Murray Cumming <murrayc@murrayc.com>
884 Update to the latest java-libglom API.
886 * pom.xml: Require java-libglom 1.21.4.
887 * src/main/java/org/glom/web/server/ConfiguredDocument.java
888 getDocumentInfo(), getListViewLayoutGroup():
889 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
891 * src/main/java/org/glom/web/server/database/DBAccess.java
892 getFieldsToShowForSQLQueryAddGroup(),
893 getPrimaryKeyLayoutItemField(): Replace get_database_title()
894 with either get_database_title_original() or
895 get_database_title(localeID).
897 2012-01-24 Murray Cumming <murrayc@murrayc.com>
899 ConfiguredDocument: Avoid a null pointer exception.
901 * src/main/java/org/glom/web/server/ConfiguredDocument.java
902 Initialize localeID to "" to avoid returning a null String which
903 causes a crash in java-libglom's swing-generated code.
905 2012-01-23 Murray Cumming <murrayc@murrayc.com>
907 Some simple renaming.
909 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
910 * src/main/webapp/style.css: Rename, tableChooser to tablesChooser. Likewise
911 for localeChooser. This seems more appropriate and is less ambiguous
912 particularly in the .css file.
914 2012-01-23 Murray Cumming <murrayc@murrayc.com>
916 ConfiguredDocument: Rename the localedID private member variable.
918 2012-01-23 Murray Cumming <murrayc@murrayc.com>
920 Adapt to the latest java-libglom API from git master.
922 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
923 libglom now uses only Vector instead of List, which uses add() instead of
926 2012-01-22 Murray Cumming <murrayc@murrayc.com>
928 ConfiguredDocument: Rename the localedID private member variable.
930 2012-01-20 Murray Cumming <murrayc@murrayc.com>
932 Build a source tarball with mvn assembly:single
934 * assembly.xml: Add this file.
935 * pom.xml: Use the maven-assembly-plugin and tell it to use
936 our assembly.xml file.
938 2012-01-19 Murray Cumming <murrayc@murrayc.com>
940 OnlineGlomServiceImpl: Get .glom files recursively.
942 * pom.xml: Depend on commons-io from org.apache.commons.
943 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
944 init(): Use org.apache.commons.io.FileUtils.listFiles() to get the
945 files recursively, and with the easier filter for the extension.
946 Use org.apache.commons.io.FilenameUtils.removeExtension() to
947 simplify that code too.
949 2012-01-19 Murray Cumming <murrayc@murrayc.com>
951 README: Mention that you must install java-libglom packages separately.
953 But then it works, because java-libglom is now in the central maven
956 2012-01-18 Murray Cumming <murrayc@murrayc.com>
958 locales drop-down: Show the correct selected locale when the URL changes.
960 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
961 .java: setPlace(): Move some code into fillView().
963 2012-01-18 Murray Cumming <murrayc@murrayc.com>
965 locales drop-down: Do not lose the primary key.
967 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
968 start(): onLocaleChange(): Pass the current primary key value,
969 instead of an empty value.
971 2012-01-18 Murray Cumming <murrayc@murrayc.com>
973 locales drop-down: Do not lose the drop-down selection.
975 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
976 .java (TableSelectionActivity.fillView): Set the selected locale
977 after changing the drop-down items (though we do not really need
978 to change them just because the locale changes.)
980 2012-01-18 Murray Cumming <murrayc@murrayc.com>
982 locales drop-down: Change the tables list when this changes.
984 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
985 .java: TableSelectionActivity.start(): Move the async table titles
986 retrieval into a private fillView() method and also call this when
987 the chosen locale changes.
988 Note that the document title is not actually translatable yet, but
989 that is a problem that I should fix soon in libglom.
991 2012-01-18 Murray Cumming <murrayc@murrayc.com>
993 Improve the placement of the locales drop-down.
995 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
996 Put the title and locales drop-down in a div (gwt.FlowTable).
997 * src/main/webapp/style.css: Add magic css properties to make this work.
998 Also remove the left margin from the title so that it lines up with the
1001 2012-01-18 Murray Cumming <murrayc@murrayc.com>
1003 locales selector: Show human-readable locale titles.
1005 * src/main/java/org/glom/web/server/ConfiguredDocument.java
1006 getDocumentInfo(): Use java.util.Locale to show a real title of
1007 each locale, in the locale's own language.
1009 2012-01-17 Murray Cumming <murrayc@murrayc.com>
1011 Add a language/locale selector drop-down.
1013 * src/main/java/org/glom/web/shared/DocumentInfo.java:
1014 Add getLocaleIDs(), setLocaleIDs(), getLocaleTitles(), setLocaleTitles().
1015 * /src/main/java/org/glom/web/server/ConfiguredDocument.java:
1016 getDocumentInfo(): Store the available Locales in the DocumentInfo.
1017 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1018 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1019 Add a ListBox to show the available locales. Add getLocaleSelector(),
1020 setLocaleList(), getSelectedLocale(), setSelectedLocale().
1021 * src/main/java/org/glom/web/client/event/LocaleChangeEvent.java
1022 * src/main/java/org/glom/web/client/event/LocaleChangeEventHandler.
1023 java: Add these classes.
1024 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1025 start(): Fill the locales ListBox. Handle its change event, firing a
1027 setPlace(): Show the selected locale as specified by the URL token.
1028 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1029 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1030 Handle LocaleChangeEvent, going to a new *Place with that locale.
1032 The placement of the ListBox is not pretty, and it currently uses the ID
1033 as a title, instead of "English", "Deutsch", "Espanola", etc, but it
1037 2012-01-17 Murray Cumming <murrayc@murrayc.com>
1039 Search box: Show the search text from the URL token.
1041 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1042 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1043 Add setQuickFindText().
1044 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
1045 .java: setPlace(): Store the queryText if the place is a ListPlace,
1046 and call TableSelectionView.setQuickFindText().
1048 2012-01-17 Murray Cumming <murrayc@murrayc.com>
1050 Allow use of translations via, for instance, &lang=de in the URL.
1052 * pom.xml: Use the unstable java-libglom 1.21 version.
1054 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1055 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java
1056 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1057 init(): Instead of calling TranslatableItem.set_current_locale()
1058 (now removed), call ConfiguredDocument.setDefaultLocaleID().
1059 However, this is only for default locales, which are not needed to
1060 change the locale in the URL.
1061 getDocumentInfo(), getListViewLayout(), getSortedListViewData(),
1062 getDetailsData(), getDetailsLayoutAndData(), getRelatedListData(),
1063 getSortedRelatedListData(): Add a localeID parameter, so we can get the
1064 layout for a particular locale.
1065 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1066 Add get/setDefaultLocaleID().
1067 getDocumentInfo(), getListViewData(), getRelatedListData(),
1068 getDetailsLayoutGroup(), getListViewLayoutGroup(),
1069 createLayoutItemPortalDTO(), convertToGWTGlomLayoutItemField(): Add a
1070 localeID parameter, so we can get the layout for a particular locale.
1072 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
1073 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1074 * src/main/java/org/glom/web/client/place/ListPlace.java:
1075 Parse and construct a lang parameter too.
1077 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1078 start(): Pass the defaultLocaleID to addDocumentLink(). It is then
1079 passed to subsequent methods and constructors.
1080 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1081 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1082 Store the localeID from the *Place and pass it to other constructors
1083 and methods, such as OnlineGlomServiceAsync.getDetailsLayoutAndData().
1085 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
1086 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1087 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
1088 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java
1089 * src/main/java/org/glom/web/client/ui/ListView.java:
1090 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1091 Take localeID parameters and pass them to subsequent constructors and
1092 methods, so that the layout is always retrieved for that locale.
1094 This is rather repetitive.
1096 Note that "" means the original (default) locale of the Glom document,
1097 which is usually English.
1099 2012-01-17 Murray Cumming <murrayc@murrayc.com>
1101 Documents: Remove final keyword to fix startup configuration.
1103 * src/main/java/org/glom/web/shared/Documents.java: Remove the
1104 final keywords on the private member variables because that breaks
1105 the startup, apparently (there are warnings) because it stops them
1106 from being serialized. I added these in the previous commit.
1108 2012-01-13 Murray Cumming <murrayc@murrayc.com>
1110 Documents: Add some final keywords.
1112 * src/main/java/org/glom/web/shared/Documents.java: Eclipse suggested
1115 2012-01-13 Murray Cumming <murrayc@murrayc.com>
1117 OnlineGlomServiceImpl: Add to overview comments.
1119 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1120 Note that this is where all the document are loaded. They are not
1121 loaded freshly for each page.
1123 2012-01-12 Murray Cumming <murrayc@murrayc.com>
1127 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1128 Add a TextBox for the text of a quick find.
1129 Add getQuickFindBox(), to get the widget, and getQuickFindText() to
1131 setBackLink(): Add a String quickFind parameter.
1132 * src/main/java/org/glom/web/client/ui/TableSelectionView.java
1133 (TableSelectionView): Add getQuickFindBox() and getQuickFindText()
1134 to the base interface, because that is how TableSelectionViewImpl is used.
1135 * src/main/webapp/style.css: Add style for the search box and its label.
1137 * src/main/java/org/glom/web/client/event/QuickFindChangeEvent.java:
1138 * src/main/java/org/glom/web/client/event/QuickFindChangeEventHandler.java:
1139 Add these files, based on the existing TableChangeEvent and
1140 TableChangeEventHandlers.
1141 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
1142 start(): Handle QuickFindChangeEvent, passing its quickFind text to
1143 a ListPlace() that the user should be taken to.
1144 * src/main/java/org/glom/web/client/activity/ListActivity.java
1145 start(): Handle it here too and adapt the TableChangeEvent handler to
1146 pass the extra "" quickFind parameter to ListPlace.
1147 * src/main/java/org/glom/web/client/place/ListPlace.java:
1148 Constructor: Take an extra String quickFind parameter and store it,
1149 returning it from a new getQuickFind() method.
1150 getToken(): Put the quickFind text in the URL token.
1151 getPlace(): Parse the quickFind text from the URL token.
1152 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
1153 va: addDocumentLink(): Pass an extra "" quickFind parameter to the
1154 ListPlace constructor.
1155 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
1156 .java: start(): Add a Change handler for the TableSelectionView's
1157 TextBox (via its base HasChangeHandlers interface), firing the new
1158 QuickFindChangeEvent.
1159 setPlace(): Adapt the call to TableSelectionView.setbackLink(), to
1160 pass the extra "" quickFind parameter.
1162 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1163 setCellTable(): Add a String quickFind parameter and pass it to
1164 the ListViewTable() constructor.
1165 * src/main/java/org/glom/web/client/ui/ListView.java: Change
1166 setCellTable() in the base interface, because that is how ListViewImpl
1169 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1170 Add a String quickFind member variable.
1171 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1172 Constructor: Add a String quickFind parameter, storing it in the
1173 base ListTable's member variable.
1174 onRangeChanged(): Pass quickFind to the
1175 OnlineGlomServiceAsync.getSortedListViewData() and
1176 OnlineGlomServiceAsync.getListViewData() methods.
1178 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1179 getListViewData(), getSortedListViewData(): Add a String quickFind
1180 parameter, passing it to ConfiguredDocument.getListViewData().
1181 * src/main/java/org/glom/web/client/OnlineGlomService.java:
1182 Change getListViewData(), getSortedListViewData() in the base interface,
1183 because that is how OnlineGlomServiceImpl is used, via this:
1184 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1185 Change getListViewData(), getSortedListViewData() here too.
1186 This class can apparently be used to asynchronously call methods on
1187 OnlineGlomService, and GWT seems to implement that after recognizing
1188 just the *Async name convention and the extra AsyncCallback parameters.
1190 * src/main/java/org/glom/web/server/ConfiguredDocument.java
1191 getListViewData(): Add a String quickFind parameter, and pass it to
1192 ListViewDBAccess.getData().
1193 * src/main/java/org/glom/web/server/database/ListDBAccess.java
1194 getListData(): Add a String quickFind parameter and pass it to
1196 getSelectQuery(): Add a String quickFind parameter.
1197 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java
1198 getSelectQuery(): Add a String quickFind parameter and use it with
1199 Glom.get_find_where_clause_quick() to pass a where_clause to
1200 Glom.build_sql_select_with_where_clause(), to actually filter the
1202 getData(): Add a String quickFind parameter, passing it to getListData().
1203 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.ja
1204 va: getData(): Pass an empty string to getListData() for the
1205 quickFind parameter.
1207 2012-01-12 Murray Cumming <murrayc@murrayc.com>
1209 ListTable: Minor change.
1211 * src/main/java/org/glom/web/client/ui/list/ListTable.java
1212 createCellTable(): Make this protected instead of public.
1214 2012-01-12 Murray Cumming <murrayc@murrayc.com>
1216 Many files: Use final for the parameters and use the @override attribute.
1218 2012-01-22 Ben Konrath <ben@bagu.org>
1220 Add anchor links for single line text that starts with http, ftp and www.
1224 2012-01-22 Ben Konrath <ben@bagu.org>
1226 Add ellipsis to single line text in details view.
1230 2012-01-04 Murray Cumming <murrayc@murrayc.com>
1232 Remove all javadoc author tags.
1234 Because they are awkward and meaningless when many people touch
1236 See https://gitorious.org/online-glom/gwt-glom/commit/7628b732cb90cbc6d5635420a75568504e8b3655#comment_81164
1238 2012-01-04 Murray Cumming <murrayc@murrayc.com>
1240 Revert the COPYING.LESSER to COPYING rename.
1242 Apparently both should be there if it is LGPL.
1244 2012-01-03 Murray Cumming <murrayc@murrayc.com>
1246 *View: Remove unused imports.
1248 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1249 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java
1250 * src/main/java/org/glom/web/client/ui/ListView.java:
1251 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1252 Remove unused imports, as suggested by Eclipse.
1254 2012-01-02 Murray Cumming <murrayc@murrayc.com>
1256 Move the *View::Presenter types, and some API into one base View.
1258 * src/main/java/org/glom/web/client/ui/DetailsView.java:
1259 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
1260 * src/main/java/org/glom/web/client/ui/ListView.java:
1261 * src/main/java/org/glom/web/client/ui/TableSelectionView.java: Move
1262 Presenter, setPresenter() and clear() into a shared base interface,
1263 to avoid the unnecessary duplicate Presenter types and to more clearly
1264 show how the *Views share the same structure, even if they are not
1265 used polymorphically.
1267 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
1268 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ja
1270 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1271 * src/main/java/org/glom/web/client/activity/ListActivity.java:
1272 * src/main/java/org/glom/web/client/activity/DocumentSelectionActiv
1274 * src/main/java/org/glom/web/client/activity/TableSelectionActivity
1277 Feel free to revert this if there is a good reason for the duplicate
1280 2012-01-02 Murray Cumming <murrayc@murrayc.com>
1282 OnlineGlom: Make clientFactory a (protected) member, and test it a bit.
1284 * src/main/java/org/glom/web/client/OnlineGlom.java: Make clientFactory
1285 a class member instead of a local variable in the method.
1286 This lets us use it to get the view instances, for use in tests.
1287 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
1288 beforeOnlineGlom(): Test some more details of the initial view.
1289 Again, this is not very useful.
1291 To really test gwt-glom we will need to start a local postgresql
1292 instance with local data, like the Glom tests in C++.
1294 2012-01-02 Murray Cumming <murrayc@murrayc.com>
1296 pom.xml: Mention the LGPL license.
1298 * pom.xml: Add a licenses section.
1299 * COPYING.LESSER: Move this to COPYING, which
1300 previously contained the GPL. But gwt-glom is all LGPL.
1302 2012-01-02 Murray Cumming <murrayc@murrayc.com>
1304 Add project information to README and pom.xml.
1306 * README: Add a brief description and mention some mvn
1308 * pom.xml: This extra information shows up in mvn site
1311 2011-01-02 Murray Cumming <murrayc@murrayc.com>
1313 Use the latest java-libglom version.
1315 * pom.xml: Use java-libglom 1.19.2 instead of 1.19.1.
1317 2012-01-01 Murray Cumming <murrayc@murrayc.com>
1319 GwtTestOnlineGlom: Test a little more.
1321 * src/main/java/org/glom/web/client/OnlineGlom.java: Make the panels
1322 protected rather than private, as suggested by the gwt-test-utils
1324 http://stackoverflow.com/questions/7931724/gwt-testcase-simulating-clicking-a-button-on-my-page
1325 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java
1326 Test the initial visibility of the panels.
1328 However, this is not a very useful test.
1329 And I wonder how we should generally test using this idea for an
1330 activity/places app like ours where the real changes happen implicitly
1331 based on the history token/URL.
1333 2012-01-01 Murray Cumming <murrayc@murrayc.com>
1335 Slight modification to *Mapper comments.
1337 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java
1338 (DataActivityMapper)
1339 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMa
1341 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMappe
1343 Remove comments mentioning GIN because they are just copied from
1344 the example code and are apparently not helpful:
1345 http://groups.google.com/group/google-web-toolkit/msg/82f0098b20669a73
1346 Also change the mention of a class that is only in the example code.
1348 2012-01-01 Murray Cumming <murrayc@murrayc.com>
1350 GwtTestOnlineGlom test: Minor changes.
1352 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
1353 Avoid the long qualified class name and modify the comment
1354 because it is now obvious to me that the mocked class is the only
1355 custom one created via GWT.create().
1357 2012-01-01 Murray Cumming <murrayc@murrayc.com>
1359 Tests: Added the beginnings of a test using gwt-test-utils.
1361 * pom.xml: Add dependencies on gwt-test-utils and easymock.
1362 * src/test/resources/META-INF/gwt-test-utils.properties: Add this file
1363 which tells gwt-test-utils what class will be tested.
1364 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
1365 Add a simple (but empty) test case. One class, used by the OnlineGlom
1366 class, is mocked so that it can be created. However, I am not sure
1367 why only this class needs to be mocked.
1369 Note that mockito seems more popular, and clearer, than easymock,
1370 but I have not got that working yet. It might be a matter of the
1373 This test is run during mvn integration-test.
1375 2011-12-31 Murray Cumming <murrayc@murrayc.com>
1377 Tests: Use junit4-style syntax instead of junit3-style.
1379 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
1380 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
1381 * src/test/java/org/glom/web/shared/DataItemTest.java:
1382 Use the @Test annotation rather than relying on the test*() prefix.
1383 Also no longer implement TestCase, to avoid triggering support for
1384 the junit3-way, which stops the annotations from working.
1385 Change the imports from import junit.framework.* to
1386 import org.junit.*, which is apparently the new way.
1388 2011-12-31 Murray Cumming <murrayc@murrayc.com>
1390 Added a test for ListPlace token parsing and creation.
1392 * src/test/java/org/glom/web/client/place/ListPlaceTest.java:
1393 This is much the same as DetailsPlaceTest.
1395 I wonder how we could test the other parts of the *Place API.
1397 2011-12-30 Murray Cumming <murrayc@murrayc.com>
1399 DetailsPlace test: Also test getToken() and recreation via getPlace().
1401 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
1402 testGetPlaceParameters(): Get the tokens from the DetailsPlace and
1403 recreate it, testing the recreated DetailsPlace for the same parameter
1406 2011-12-30 Murray Cumming <murrayc@murrayc.com>
1408 Use the surefire-report plugin.
1410 * pom.xml: This generates a HTML report about the tests in
1411 target/site/surefire-report.html
1412 when you do mvn surefire-report:report. It seems to be popular/normal.
1414 2011-12-30 Murray Cumming <murrayc@murrayc.com>
1416 Added a test for DetailsPlace.
1418 * src/test/java/org/glom/web/client/place/DetailsPlaceTest.java:
1419 Test the getPlace() token parsing.
1421 2011-12-30 Murray Cumming <murrayc@murrayc.com>
1423 Added a first unit test.
1425 * pom.xml: Add a test goal, and a dependency on junit in that scope.
1426 * src/test/java/org/glom/web/shared/DataItemTest.java:
1427 This is a silly test but it is just to get things started. Note that
1428 maven/junit finds the test because it looks in src/test by default.
1430 2011-12-22 Ben Konrath <ben@bagu.org>
1432 Change charsetName to "UTF-8" when replacing line breaks.
1434 JavaScript requires the charsetName to be "UTF-8". CharsetName values
1435 that work in Java (such as "UTF8") will not work when compiled to
1438 This fixes a problem with multi-line details view fields that have hard
1439 line breaks. The "License Text" field on this page demonstrates the
1442 http://onlineglom.openismus.com/OnlineGlom/#details:document=debian_repository_analyzer&table=licenses&value=197
1444 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1446 2011-12-22 Ben Konrath <ben@bagu.org>
1448 Fix another bug with related list navigation.
1450 I've tested all the navigation buttons in all of the related lists
1451 so things should be good now.
1453 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1455 2011-12-22 Ben Konrath <ben@bagu.org>
1457 Fix a crasher when refreshing the list view with the default table.
1459 This crash will also happen when loading the list view with the default
1460 table from a link or bookmark.
1462 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Go
1463 to the main document selection page when the document id hasn't been
1465 * src/main/java/org/glom/web/client/activity/ListActivity.java: Go to
1466 the main document selection page when the document id hasn't been
1468 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Use empty
1469 values for the details place when the document id hasn't been set.
1470 * src/main/java/org/glom/web/client/place/ListPlace.java: Use empty
1471 values for the list place when the document id hasn't been set.
1473 2011-12-21 Ben Konrath <ben@bagu.org>
1475 Protect against NPE when glom.document.locale is not in config.
1477 This patch protects against an NPE when glom.document.locale is not in
1478 the config file. This NPE will also happen if glom.document.locale is
1481 The patch also updates the error message to display the class name when
1482 the getMessage() returns null. This was happening when the NPE was
1483 thrown and I had "Configuration Error: null". If an NPE is encountered
1484 with this patch, "Configuration Error: NullPointerException " will be
1487 This commit closes this bug:
1489 https://bugzilla.gnome.org/show_bug.cgi?id=666669
1491 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1493 2011-12-20 Murray Cumming <murrayc@murrayc.com>
1495 Rename onlineglom.properties to onlineglom.properties.sample.
1497 * src/main/resources/onlineglom.properties: Rename to:
1498 * src/main/resources/onlineglom.properties.sample:
1499 * src/main/resources/README: And add this file explaining that people
1500 should rename it back when deploying.
1502 2011-12-20 Murray Cumming <murrayc@murrayc.com>
1504 Allow choosing the translation in the .properties file.
1506 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
1507 init(): Read a glom.document.locale value from the configuration file
1508 and call Glom's TransatableItem::set_current_locale() method.
1509 * src/main/resources/onlineglom.properties: Add a commented-out
1510 example of this new setting.
1512 It would be better to add &lang=de_DE to the URL, but the current
1513 libglom API does not allow us to do this easily. I am working on that.
1515 2011-12-19 Murray Cumming <murrayc@murrayc.com>
1517 Avoid a crash in parsing of token parameters.
1519 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.j
1520 ava: getTokenParams(): Do not crash if a parameter has a key but no
1521 value, and ignore parameters with neither.
1523 2011-12-17 Murray Cumming <murrayc@murayc.com>
1525 History token building/handling: Improve use of token parameters.
1527 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
1528 (HasSelectableTablePlace.Tokenizer): Add getTokenParams(String)
1529 and buildParamsToken(HashMap), for use by derived classes.
1530 Make the separator private because it is no longer be needed.
1531 * src/main/java/org/glom/web/client/place/DetailsPlace.java
1532 (DetailsPlace.Tokenizer.getToken): Use buildParamsToken()
1533 instead of manual string concatenation.
1534 (DetailsPlace.Tokenizer.getPlace): Use getTokenParams() instead
1535 of hardcoded indices and awkward splitting code.
1536 * src/main/java/org/glom/web/client/place/ListPlace.java
1537 (ListPlace.Tokenizer.getToken): Use buildParamsToken()
1538 instead of manual string concatenation.
1539 (ListPlace.Tokenizer.getPlace): Use getTokenParams() instead
1540 of hardcoded indices and awkward splitting code.
1541 This should fix bug #666420
1543 2011-12-16 Murray Cumming <murrayc@murrayc.com>
1545 Fix a Navgiation->Navigation typo in the code.
1547 * src/main/java/org/glom/web/client/activity/DetailsActivity.java
1548 Rename processNavgiation() to processNavigation().
1550 2011-12-16 Murray Cumming <murrayc@murrayc.com>
1552 Fix a seperator->separator typo in the code.
1554 * src/main/java/org/glom/web/client/place/DetailsPlace.java
1555 * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java
1556 * src/main/java/org/glom/web/client/place/ListPlace.java: Just a
1559 2011-12-15 Ben Konrath <ben@bagu.org>
1561 Cleanup some comments.
1563 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1565 2011-12-14 Ben Konrath <ben@bagu.org>
1567 Replace \n with <br/> for multiline text in the details view.
1569 Vertical scrollbars are added when needed as well.
1571 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1573 2011-12-14 Ben Konrath <ben@bagu.org>
1575 Specify the font for document selection links.
1577 * src/main/webapp/style.css:
1579 2011-12-14 Ben Konrath <ben@bagu.org>
1581 Fix bouncy CellTable while paging.
1583 This doesn't currently work with related list tables in unselected
1586 * src/main/java/org/glom/web/client/ui/list/ListTable.java
1588 2011-12-14 Ben Konrath <ben@bagu.org>
1590 Revamp the appearance of the document selection page.
1592 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1593 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
1594 * src/main/webapp/style.css:
1596 2011-12-13 Ben Konrath <ben@bagu.org>
1598 Set navigation button column to the smallest size possible.
1600 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1602 2011-12-13 Ben Konrath <ben@bagu.org>
1604 Change OpenButton nomenclature to NavigationButton.
1606 Using NavigtionButton makes things more generic. Classes, methods and
1607 variables have been changed.
1609 This is a rename-only refactor.
1611 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1612 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1613 * src/main/java/org/glom/web/client/ui/cell/NavigationButtonCell.java:
1614 Renamed from OpenButtonCell.
1615 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1616 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1617 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1619 2011-12-12 Ben Konrath <ben@bagu.org>
1621 Remove unnecessary String argument in RelatedListTable and ListViewTable.
1623 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1624 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1625 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1626 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1628 2011-12-12 Ben Konrath <ben@bagu.org>
1630 Update variable names and comments.
1632 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1633 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1635 2011-12-12 Ben Konrath <ben@bagu.org>
1637 Properly initialize numNonEmptyRows variable to zero.
1639 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1640 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
1642 2011-12-05 Ben Konrath <ben@bagu.org>
1644 Add latest mockup with HTML tables.
1646 Features of this mockup:
1648 -> HTML table for flowtable
1649 -> HTML table for flowtable column
1650 -> Example of how related lists would look
1651 -> Not using text entries for data items
1653 The current version of Online Glom doesn't use HTML tables for the
1656 This mockup has been sent to the glom-devel mailing list but it's good
1657 to have it here as well.
1659 * mockups/details-view-html-tables.html:
1661 2011-12-05 Ben Konrath <ben@bagu.org>
1663 Remove unnecessary getPrimaryKeyField() method.
1665 getPrimaryKeyFieldForTable(String) has been renamed to
1666 getPrimaryKeyField(String).
1668 * src/main/java/org/glom/web/server/database/DBAccess.java:
1669 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1670 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1672 2011-12-05 Ben Konrath <ben@bagu.org>
1674 Add string representation of TypedDataItem value to conversion error message.
1676 * src/main/java/org/glom/web/server/Utils.java: Logging the error
1677 message was extracted into its own method to avoid duplication.
1679 2011-12-05 Ben Konrath <ben@bagu.org>
1681 Add type checking to navigation primary key value creation.
1683 Create navigation primary key only if the expected type from the Glom
1684 document matches the type returned by the SQL query.
1686 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1688 2011-12-05 Ben Konrath <ben@bagu.org>
1690 Rename a couple of variables in RelatedListNavigation.
1692 This is a rename-only refactor.
1694 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1696 2011-12-05 Ben Konrath <ben@bagu.org>
1698 Move getListLayoutGroup() into getListViewLayoutGroup().
1700 This removes getListLayoutGroup(). It was only being called by
1701 getListViewLayoutGroup().
1703 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1705 2011-12-05 Ben Konrath <ben@bagu.org>
1707 Remove check for LayoutItem_Portal in list table method.
1709 This check is no longer necessary because the method isn't being used
1710 to create the LayoutItemPortal DTO.
1712 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1714 2011-12-05 Ben Konrath <ben@bagu.org>
1716 Properly support related list navigation.
1718 Navigation from the "Repository Analyzer -> Package Scans ->
1719 Dependencies" related table wasn't working because the primary key for
1720 related tables wasn't being set properly. This commit fixes the
1723 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't use
1724 getListLayoutGroup() to create the LayoutItemPortal DTO. This method
1725 doesn't set the primary key properly for related list tables.
1726 * src/main/java/org/glom/web/server/database/DBAccess.java: Add table
1727 name parameter to getPrimaryKeyLayoutItemField(). This makes the method
1728 useful for getting the primary key for list view tables and for related
1730 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
1731 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
1732 Move code to set the primary key for the table from the abstract
1733 ListDBAccess class to ListViewDBAccess as it's only correct for list
1735 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1736 Properly add primary key to related list tables.
1738 2011-12-02 Ben Konrath <ben@bagu.org>
1740 Properly set the horizontal alignment of fields.
1742 This fix is for both the list tables and the details view.
1744 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
1745 LayoutItem_WithFormatting.get_formatting_used_horizontal_alignment(boolean)
1746 to set the horizontal alignment of fields.
1748 2011-12-02 Ben Konrath <ben@bagu.org>
1750 Display currency codes in the details view.
1752 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1754 2011-12-02 Ben Konrath <ben@bagu.org>
1756 Avoid duplicate JNI call.
1758 JNI is not as efficient as pure Java and this is an easy (and small)
1761 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1762 Use previously retrieved value for whereClauseToTableName instead of
1765 2011-12-02 Ben Konrath <ben@bagu.org>
1767 Rename a couple of variables in RelatedListNavigation.
1769 This is a rename-only refactor.
1771 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1773 2011-12-02 Ben Konrath <ben@bagu.org>
1775 Indicate clearly that a mismatched primary key type is a bug.
1777 * src/main/java/org/glom/web/server/Utils.java: Change log level from
1778 warning to error. Add 'This is a bug.' to message.
1780 2011-12-02 Ben Konrath <ben@bagu.org>
1782 Update / fix some comments.
1784 * src/main/java/org/glom/web/client/OnlineGlomService.java: Remove old
1786 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Fix
1788 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
1789 Fix comments. Add some TODOs.
1791 2011-12-02 Ben Konrath <ben@bagu.org>
1793 Enable navigation to details view with string primary key from related list.
1795 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
1796 Create a text primary key value when return type of result is
1797 java.sql.Types.VARCHAR.
1799 2011-12-02 Ben Konrath <ben@bagu.org>
1801 Use checkboxes for booleans in the details view.
1803 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
1805 2011-12-01 Ben Konrath <ben@bagu.org>
1807 Improve performance of related list height calculation.
1809 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1810 Put code to calculate the expected height in a static initializer so
1811 that that it's only called once.
1813 2011-12-01 Ben Konrath <ben@bagu.org>
1815 Show related list tables in notebooks (again).
1817 Calculate the height of the related list tables so the Notebook can be
1818 set the correct height. The height of the related list table is also needed by
1819 FlowTable to be able decide how to create the layout.
1821 * src/main/java/org/glom/web/client/ui/details/Portal.java: Calculate
1822 and set the Portal height based on the height of the related list
1823 table and the Portal container.
1824 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1825 Add method to calculate the height of the related list tables.
1826 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1827 * src/main/webapp/style.css: Add css class for Pager. This is needed to
1828 calculate the height of the Pager widget.
1830 2011-12-01 Ben Konrath <ben@bagu.org>
1832 Use CellTable API for table property instead of setting style on Element.
1834 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
1836 2011-12-01 Ben Konrath <ben@bagu.org>
1838 Make ListViewTable and RelatedListTable a consistent height.
1840 The tables are now a consistent height regardless of the contents of
1841 the table. A hidden button is added to empty rows to ensure that the
1842 height of these rows will match the height of rows with data.
1844 A navigation button column is now added to every table. The width of
1845 the navigation column is set to 0px when a RelatedListTable shouldn't
1846 have navigation buttons. This maintains the a consistent row height in
1847 tables that don't show the navigation buttons.
1849 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Hide
1850 navigation column when not needed.
1851 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move method
1852 arguments for navigation button to constructor of ListViewTable.
1853 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Render
1854 hidden button for empty data rows.
1855 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java: Add method
1856 arguments for navigation button to constructor.
1857 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Always
1858 create navigation buttons. Add hideNavigationButtons() method.
1859 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add method
1860 arguments for navigation button to constructor.
1862 2011-12-01 Ben Konrath <ben@bagu.org>
1864 Use 'visibility: hidden' in Utils.getWidgetHeight().
1866 This is better choice because hidden elements are invisible, don't
1867 respond to events and are not part of the tab order. They will,
1868 however, take up space which is required to be able to calculate the
1869 height of the widget.
1871 * src/main/java/org/glom/web/client/Utils.java:
1873 2011-12-01 Ben Konrath <ben@bagu.org>
1875 Use Utils.getWidgetHeight() in FlowTable.
1877 * src/main/java/org/glom/web/client/Utils.java: Remove TODO item about
1879 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
1881 2011-12-01 Ben Konrath <ben@bagu.org>
1883 Put the details css class name on the correct table column.
1885 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
1887 2011-11-30 Ben Konrath <ben@bagu.org>
1889 Update for java-libglom API change.
1891 The getters and setters on FieldFormatting and NumericFormat were
1892 changed to remove the 'M'.
1894 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
1896 2011-11-29 Ben Konrath <ben@bagu.org>
1898 Only allow RelatedListTables in Portals.
1900 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1902 2011-11-29 Ben Konrath <ben@bagu.org>
1904 Only create a contents panel for Portals when title is being set.
1906 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1908 2011-11-29 Ben Konrath <ben@bagu.org>
1910 Set TabLayoutPanel height based on calculated height its widgets.
1912 This is a potential fix for this bug:
1914 https://bugzilla.gnome.org/show_bug.cgi?id=665133
1916 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1918 2011-11-29 Ben Konrath <ben@bagu.org>
1920 Align details field labels and data with the Open buttons.
1922 * src/main/webapp/style.css:
1924 2011-11-29 Ben Konrath <ben@bagu.org>
1926 Remove unnecessary <div> in the Notebook widget.
1928 * src/main/java/org/glom/web/client/ui/details/Group.java: Remove
1929 method to get container FlowPanel (<div>).
1930 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Run the
1931 initWidget() method directly on the TabLayoutPanel widget instead of
1932 Group's container widget.
1934 2011-11-29 Ben Konrath <ben@bagu.org>
1936 Don't add group titles for Portals in Notebooks.
1938 This reverts the previous patch and fixes a bug I introduced with
1939 commit b1753fd27bd2c4ea189c4c353e0ece92dcc66c2c .
1941 * src/main/java/org/glom/web/client/ui/details/Group.java:
1942 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1944 2011-11-28 Ben Konrath <ben@bagu.org>
1946 Remove unused boolean argument in Portal constructor.
1948 Just a code cleanup.
1950 * src/main/java/org/glom/web/client/ui/details/Group.java:
1951 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1953 2011-11-28 Ben Konrath <ben@bagu.org>
1955 Remove hack for glom 1.18 style glom files.
1957 * src/main/java/org/glom/web/client/ui/details/Group.java:
1958 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
1959 * src/main/java/org/glom/web/client/ui/details/Portal.java:
1961 2011-11-28 Ben Konrath <ben@bagu.org>
1963 Use Gda Value version of primary key to log result too large error.
1965 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
1967 2011-11-28 Ben Konrath <ben@bagu.org>
1969 Don't use TypedDataItem.getText() for Unknown types from the URL.
1971 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1972 * src/main/java/org/glom/web/server/Utils.java: Use getUnknown()
1973 instead of getText().
1974 * src/main/java/org/glom/web/shared/TypedDataItem.java: Add unknown
1975 String field and getUnknown() method.
1977 2011-11-28 Ben Konrath <ben@bagu.org>
1979 Log an error message when the java-libglom .so is not present.
1981 The error message was being set in the exception but not logged.
1983 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1985 2011-11-28 Ben Konrath <ben@bagu.org>
1987 Ignore LayoutItem_CalendarPortals.
1989 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Don't
1990 create the LayoutItemPortal DTO for LayoutItem_CanendarPortals.
1992 2011-11-28 Ben Konrath <ben@bagu.org>
1994 Extract method for creating the LayoutItemPortal DTO.
1996 Just breaking the code up into smaller chunks.
1998 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
2000 2011-11-28 Ben Konrath <ben@bagu.org>
2004 This should have been added with the refactor. Oops!
2006 * src/main/java/org/glom/web/shared/TypedDataItem.java:
2008 2011-11-28 Ben Konrath <ben@bagu.org>
2010 Create primary key value from URL string using type from Glom document.
2012 See this bug, comments 19 - 25:
2014 https://bugzilla.gnome.org/show_bug.cgi?id=662376#c19
2016 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Don't
2017 create a TypeDataItem for the primary key here when loading from a
2018 URL. Show the same string for the primary key value as was received
2019 from the URL string (when loading from a URL).
2020 * src/main/java/org/glom/web/server/Utils.java: Update method for
2021 creating the Gda Value from the TypeDataItem to properly deal with
2022 creating a Gda Value based on the Glom document type for the primary
2023 key value string when loading from a URL.
2024 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2025 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2026 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
2027 Update for changed method name.
2029 2011-11-27 Ben Konrath <ben@bagu.org>
2031 Rename PrimaryKeyItem to TypedDataItem.
2033 The name PrimaryKeyItem suggests what the class should be used for.
2034 TypedDataItem is a neutral name that describes the class better.
2036 This is a rename-only refactor.
2038 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2039 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2040 * src/main/java/org/glom/web/client/Utils.java:
2041 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2042 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2043 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2044 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2045 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
2046 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
2047 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2048 * src/main/java/org/glom/web/server/Utils.java:
2049 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2050 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2051 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
2052 * src/main/java/org/glom/web/shared/NavigationRecord.java:
2054 2011-11-25 Ben Konrath <ben@bagu.org>
2056 Improve Gda Value conversion from PrimaryKeyItem.
2058 The value from the PrimaryKeyItem is only used if its type match the
2059 type from the glom document.
2061 * src/main/java/org/glom/web/server/Utils.java:
2063 2011-11-25 Ben Konrath <ben@bagu.org>
2065 Manually check if the java-liblgom .so is visible to the JVM.
2067 It seems that Tomcat has problems when a static initializer throws an
2068 exception. This check is done before the first method call into
2069 java-libglom so that execution doesn't continue if the .so is not
2072 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2074 2011-11-25 Ben Konrath <ben@bagu.org>
2076 Improve browser configuration error messages.
2080 https://bugzilla.gnome.org/show_bug.cgi?id=662792
2082 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2083 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2084 getConfigurationErrorMessage() method.
2085 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
2086 Get and display a specific configuration error message when no Glom
2087 documents are found.
2088 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2089 Implement getConfigurationErrorMessage() method. Surround configuration
2090 code in the init() method with a try/catch block. This allows the
2091 errors to be caught while keeping the servlet available to retrieve the
2092 configuration error message.
2094 2011-11-25 Ben Konrath <ben@bagu.org>
2096 Don't use Strings to hold primary key values.
2098 The primary key values are now held in a new data object
2099 (PrimaryKeyItem) that holds type information and the primary key value
2100 using the correct type.
2102 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2103 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2104 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
2105 PrimaryKeyItem instead of String to hold the primary key value.
2106 * src/main/java/org/glom/web/client/Utils.java: Remove
2107 getKeyValueStringForQuery(). Add getPrimaryKeyItem() which creates a
2108 PrimaryKeyItem based on the GlomFieldType and the DataItem.
2109 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Use
2110 PrimaryKeyItem instead of String to hold the primary key value. Load
2111 document selection page when the documentID has not been set correctly.
2112 * src/main/java/org/glom/web/client/place/DetailsPlace.java: Re-work
2113 DetailsPlace -> URL and URL -> DetailsPlace conversion with
2115 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
2116 Return empty string for URL instead of "null".
2117 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2118 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2119 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
2120 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
2121 PrimaryKeyItem instead of String to hold primary key values.
2122 * src/main/java/org/glom/web/server/Utils.java: New method to convert a
2123 PrimaryKeyValue to a Gda Value.
2124 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2125 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2126 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
2127 Replace temporary database access code that uses the PrimaryKeyValue to
2128 Gda Value conversion.
2129 * src/main/java/org/glom/web/shared/DataItem.java: Add comment.
2130 * src/main/java/org/glom/web/shared/NavigationRecord.java: Use
2131 PrimaryKeyItem instead of String.
2132 * src/main/java/org/glom/web/shared/PrimaryKeyItem.java: New class to
2133 hold primary key values.
2135 2011-11-24 Ben Konrath <ben@bagu.org>
2137 Use newly added java-libglom API to create queries.
2139 This isn't finished. I still need to stop using Strings for primary key
2140 values in the client code.
2142 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Tell
2143 libglom to use fake connections so that retrieving the query string will
2145 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2146 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
2147 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2148 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
2149 Use the newly added libglom sql methods and classes to create the
2150 query. Add temporary hack to convert primary value strings to Gda
2153 2011-11-23 Ben Konrath <ben@bagu.org>
2155 Don't explicitly set the height of Portals.
2157 See comments 6 - 10 of this bug for details:
2159 https://bugzilla.gnome.org/show_bug.cgi?id=662930#c6
2161 * src/main/java/org/glom/web/client/ui/details/Portal.java:
2163 2011-11-23 Ben Konrath <ben@bagu.org>
2165 Use an HTML table instead of CSS for the FlowTable layout.
2167 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Use
2168 GWT's FlexTable to implement the FlowTable.
2169 * src/main/webapp/style.css: Adjust CSS for the change to FlexTable.
2171 2011-11-18 Ben Konrath <ben@bagu.org>
2173 Add boolean example to HTML table mockup.
2175 * mockups/details-view-html-tables-text-entries.html:
2177 2011-11-17 Ben Konrath <ben@bagu.org>
2179 Ensure the pager buttons are always visible for related lists.
2181 To accomplish this, I've turned off text wrapping in the list view and
2182 related list tables for both the header and data text. The related list
2183 table now has a fixed layout so the it doesn't overflow its container.
2184 This is required to ensure that the cell text is clipped when it
2185 overflows the cell and an ellipsis is added to the right side of the
2186 cell when text is clipped.
2188 A fixed table layout for the related list table in the details view
2189 seems what we want for the details view anyway, so the side-effect is
2192 The ellipsis will only be displayed in Firefox >= 7.
2196 https://bugzilla.gnome.org/show_bug.cgi?id=662930
2198 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java:
2199 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: Add
2200 'overflow: hidden; text-overflow: ellipsis;' CSS properties to the table
2202 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2203 Set the 'table-layout: fixed' CSS property to the related list table.
2204 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Set the
2205 'white-space: nowrap;' CSS property on both the list view and the
2206 related list tables.
2208 2011-11-16 Ben Konrath <ben@bagu.org>
2210 Rework the fix for empty notebook tab labels.
2212 Setting the empty group titles with its name caused problems for the
2213 details layout. Instead of using libglom's
2214 LayoutItem.get_title_or_name(), the LayoutItem name is explicitly sent
2215 to the client when the title is empty. This allows the Notebook to use
2216 the name when the title is empty without affecting anything else.
2218 * src/main/java/org/glom/web/client/ui/details/Notebook.java:
2219 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
2221 2011-11-16 Ben Konrath <ben@bagu.org>
2223 Set group titles with name when title is empty.
2225 This fixes a problem with an empty notebook tab label in the Lesson
2226 Planner document. The forth tab in the notebook should be "Internet":
2228 http://bagu.org:8080/OnlineGlom/#details:document=lesson-planner&table=teachers&value=0
2230 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Use
2231 libglom's LayoutItem.get_title_or_name() to fill in the LayoutGroup
2234 2011-11-16 Ben Konrath <ben@bagu.org>
2236 Remove whitespace from the configured username properties.
2238 This assumes that usernames won't have whitespace at the beginning
2239 or end. But I think this is a reasonable assumption.
2241 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
2242 String.trim() to remove the whitespace from the username properties.
2244 2011-11-15 Ben Konrath <ben@bagu.org>
2246 Add details view mockup with HTML tables and text entries.
2248 This is from the attachment on this bug:
2250 https://bugzilla.gnome.org/show_bug.cgi?id=663109
2252 * mockups/details-view-html-tables-text-entries.html:
2254 2011-11-15 Ben Konrath <ben@bagu.org>
2256 Add space between the columns of the flow table.
2260 https://bugzilla.gnome.org/show_bug.cgi?id=662918
2262 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Add a 1%
2263 space between columns in the flow table.
2265 2011-11-15 Ben Konrath <ben@bagu.org>
2267 Add backup files to the .gitignore.
2269 * .gitignore: Ignore files that end with ~.
2271 2011-11-09 Ben Konrath <ben@bagu.org>
2273 Use latest release of gwt-log.
2275 Gwt-log releases are now being submitted to the maven central
2276 repository so manual installation of the jar is no longer required.
2278 * pom.xml: Update version and groupId of gwt-log dependency.
2280 2011-10-31 Ben Konrath <ben@bagu.org>
2282 Don't use GWT numeric formatting to override the glom currency formatting.
2284 Currencies are now displayed like they are in Glom. See this bug:
2286 https://bugzilla.gnome.org/show_bug.cgi?id=646216
2288 * src/main/java/org/glom/web/client/Utils.java: Remove GWT currency
2290 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: Add
2291 currency code to constructor and set it when the cell is rendered.
2292 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
2293 currency code to the constructor of the NumericCell.
2295 2011-10-27 Ben Konrath <ben@bagu.org>
2297 Require the latest release of java-libglom (1.17.4).
2301 2011-10-26 Ben Konrath <ben@bagu.org>
2303 Add style to Notebook that matches current theme.
2305 It's not the best style in the world but it's better than the default.
2307 * src/main/java/org/glom/web/client/ui/details/Notebook.java: Add some
2308 padding at the bottom of the child widgets.
2309 * src/main/webapp/style.css: Add style for the Notebook.
2311 2011-10-26 Ben Konrath <ben@bagu.org>
2313 Move servlet initialization code to overridden init method.
2315 This is half of the solution to getting proper error messages
2316 displayed when configuration errors occur. Here's the relevant bug:
2318 https://bugzilla.gnome.org/show_bug.cgi?id=662792
2320 The rest of the solution involves surrounding the init method with a
2321 try/catch block and setting a global variable with the error /
2322 exception. A new async method should be created to retrieve and display
2323 the error message / exception.
2325 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Move
2326 code from constructor to init method adding exceptions as needed.
2328 2011-10-26 Ben Konrath <ben@bagu.org>
2330 Add script to monitor and restart tomcat if required.
2332 * utils/check-and-recover-tomcat.py: New file.
2334 2011-10-26 Ben Konrath <ben@bagu.org>
2336 Display the correct number of data items in the pager.
2340 https://bugzilla.gnome.org/show_bug.cgi?id=661441
2342 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
2343 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2344 The implementation is the same for both tables: Keep track of the
2345 number of non-empty rows and fire and RowCountChangeEvent after the data has
2347 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add a
2348 custom Pager class that subclasses SimplePager to handle displaying
2349 the correct number when empty rows have been added.
2351 2011-10-26 Ben Konrath <ben@bagu.org>
2353 Correct error in previous commit.
2355 * src/main/java/org/glom/web/client/activity/ListActivity.java: Remove
2356 eventBus parameter from listView.setCellTable().
2358 2011-10-26 Ben Konrath <ben@bagu.org>
2360 Fix error in TODO comment.
2362 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2364 2011-10-24 Ben Konrath <ben@bagu.org>
2366 Create Notebook widgets to the details view.
2368 This isn't finished just yet - I still need to create a reasonable
2369 style to match the current theme.
2371 * src/main/java/org/glom/web/client/Utils.java: Add method for
2372 calculating the height of a widget. This is used in the Notebook class.
2373 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
2374 new constructor method in Group.
2375 * src/main/java/org/glom/web/client/ui/details/Group.java: Add new
2376 method for creating child widget that can be used by subclasses
2377 like Notebook. New constructor that allows disabling the group
2378 titles - Notebooks don't set a group title for their child groups.
2379 * src/main/java/org/glom/web/client/ui/details/Notebook.java: New class
2380 to make Notebooks using GWT's TabLayoutPanel.
2381 * src/main/java/org/glom/web/client/ui/details/Portal.java: New
2382 constructor that allows disabling the group titles.
2383 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Create the
2384 LayoutItemNotebook DTO.
2385 * src/main/java/org/glom/web/shared/layout/LayoutItemNotebook.java: New
2386 DTO for Notebooks. It's just an empty class for now but we might need
2387 it to transfer some specific information in the future.
2389 2011-10-21 Ben Konrath <ben@bagu.org>
2391 Add navigation buttons to related list tables.
2393 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2394 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2395 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add new
2396 method getSuitableRecordToViewDetails() for getting the table name
2397 and primary key value for related list navigation buttons.
2398 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2399 private cell renderer class to get the navigation information for
2400 related list tables from the server. Extract the navigation
2401 processing code from the details cell navigation and use it for the
2402 related list navigation as well.
2403 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Add private
2404 cell renderer class for the details open buttons. This was needed
2405 because the related list navigation buttons and the list view
2406 navigation buttons need to react differently when clicked.
2407 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Remove
2408 the onEnterKeyDown() method because it's now overriden in the
2409 subclasses that are specific to the related list tables and the list
2411 * src/main/java/org/glom/web/client/ui/details/Portal.java: Increase
2412 the vertical size a little because the buttons add a bit of vertical
2413 space to table. This is not a perfect solution because the vertical
2414 size of with table fewer than 5 rows will be a little smaller.
2415 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Update for
2416 changes in how navigation buttons are handled.
2417 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Implement
2418 getSuitableRecordToViewDetails() using the new RelatedListNavigation
2419 database access object.
2420 * src/main/java/org/glom/web/server/database/DBAccess.java: Move code
2421 to find the portal for a given relationship name from
2422 RelatedListDBAccess. Add method to find a primary key field for a
2424 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2425 Move code to find the portal for a given relationship name to
2427 * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
2428 New file: database access object for getting the related list
2429 navigation information (the table name and the primary key value).
2430 * src/main/java/org/glom/web/shared/NavigationRecord.java: New file:
2431 DTO for transferring a table name to navigate to and a primary key
2433 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
2434 boolean and getter/setter to specifies if the related list should add
2437 2011-10-24 Murray Cumming <murrayc@murrayc.com>
2439 Use the master branch of java-libglom
2441 * pom.xml: Depend on java-libglom 1.19 instead.
2443 This is the master branch. See also the libglom-1-18 branch.
2445 2011-10-11 Ben Konrath <ben@bagu.org>
2447 Enable the open navigation button when the data has been set.
2449 This avoids having active buttons that don't do anything when the data
2452 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
2454 2011-10-11 Ben Konrath <ben@bagu.org>
2456 Use IsWidget interface for FlowTableItem.
2458 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Change
2459 FlowTableItem.getWidget() to asWidget() from the IsWidget interface.
2461 2011-10-11 Ben Konrath <ben@bagu.org>
2463 Remove GWT styling from open button in details view.
2465 There are still some issues with how the details cell is arranged but
2466 this should be made to match Glom 1.20. I'm going to leave fixing this
2467 until I have Glom 1.20 up and running.
2469 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Set
2470 style name on open button.
2471 * src/main/webapp/style.css: Move and edit details-navigation class.
2472 Re-arrange some classes to make them appear in the same order as the
2475 2011-10-07 Ben Konrath <ben@bagu.org>
2477 Update to GWT 2.4.0.
2479 * .gitignore: Ignore new cache directory.
2480 * .settings/com.google.gwt.eclipse.core.prefs: Update Eclipse settting.
2481 * pom.xml: Change GWT and maven plugin to 2.4.0.
2482 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Update doctype for
2484 * src/main/java/org/glom/web/client/ClientFactory.java:
2485 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
2486 * src/main/java/org/glom/web/client/OnlineGlom.java:
2487 Update source for API changes.
2488 * utils/build-onlineglom-war.sh: Remove cache directory before the
2491 2011-10-07 Ben Konrath <ben@bagu.org>
2493 Add navigation buttons in the details view.
2495 This isn't finished but I thought I'd commit what I have as it's a
2496 pretty good start. I still need to:
2498 1. Change the style so that it fits better into the current theme
2499 2. Adjust the details cell to expand as much as possible.
2501 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
2502 click handlers to navigation buttons in the DetailsCells. Create a
2503 refreshData() method to get just the data from the server without the
2505 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2506 Update the tableSelector and browser title when the table name
2507 changes without using the tableSelector.
2508 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2509 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
2510 getDetailsCells() to getCells(). Update variable names.
2511 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Add
2512 method to set click handler on navigation button. Rename a few
2513 variables. Add navigation buttons where needed.
2514 * src/main/java/org/glom/web/client/ui/details/Group.java: Rename a few
2515 variables and methods.
2516 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Set the
2517 navigation boolean and navigation table as required in the
2518 LayoutItemField DTO.
2519 * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
2520 variables for navigation along with getter/setter methods.
2522 2011-10-07 Ben Konrath <ben@bagu.org>
2524 Rename Field to DetailsCell.
2526 This is a refactor-only commit. No functionality has been added or
2529 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2530 Update variable and method names.
2531 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2532 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update
2533 variable and method names.
2534 * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
2536 * src/main/java/org/glom/web/client/ui/details/Group.java: Update
2537 variable and method names.
2539 2011-10-07 Ben Konrath <ben@bagu.org>
2541 Create separate methods for layout and data the details view.
2543 This is a refactor-only commit. No functionality has been added or
2546 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: New
2547 private methods: setData(), createLayout().
2549 2011-10-07 Ben Konrath <ben@bagu.org>
2551 Don't use TableSelectorImpl implementation details in TableSelectorActivity.
2553 This is part of a change to get navigation buttons in the details view
2554 but it should have been done this way from the start.
2556 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
2557 for method name change in TableSelectionView.
2558 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2559 Create TableChangeEvent and set the browser title using the
2560 TableSelectionView API.
2561 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2562 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
2563 Change getSelectedTable() to getSelectedTableName(). Add
2564 getSelectedTableTitle().
2566 2011-10-07 Ben Konrath <ben@bagu.org>
2568 Use primaryKeyValue naming convention in constructor of DetailsPlace.
2570 * src/main/java/org/glom/web/client/place/DetailsPlace.java:
2572 2011-10-07 Ben Konrath <ben@bagu.org>
2574 Update TableChangeEvent to use newTableName naming convention.
2576 This makes the class more consistent with GWT naming conventions.
2578 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2579 Update for method name change in TableChangeEvent.
2580 * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
2581 for method name change in TableChangeEvent.
2582 * src/main/java/org/glom/web/client/event/TableChangeEvent.java: Update
2583 newTableName variable and getter method. Make toDebugString()
2586 2011-09-30 Ben Konrath <ben@bagu.org>
2588 Disable the pager in the list tables when the data row count is less than the minimum.
2590 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2591 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2593 2011-09-30 Ben Konrath <ben@bagu.org>
2595 Add empty rows to the end of related list and list view tables.
2597 I also extracted the cell rendering classes from the ListTable because
2598 the code was becoming a little crazy with all the anonymous inner
2599 classes. My plan is to use these cell rendering classes in the details
2600 view as well so this refactor will be needed for that change.
2602 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Only
2603 set the row count in related list tables if the data has more rows
2604 than the minimum number of rows visible.
2605 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Only set the
2606 row count in list view tables if the data has more rows than the
2607 minimum number of rows visible.
2608 * src/main/java/org/glom/web/client/ui/cell/BooleanCell.java: New class
2609 for rendering TYPE_BOOLEAN cells. The code was extracted from the
2611 * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: New class
2612 for rendering TYPE_NUMERIC cells. The code was extracted from the
2614 * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: New
2615 class for rendering cells with buttons in list views. The code was
2616 extracted from the ListTable class.
2617 * src/main/java/org/glom/web/client/ui/cell/TextCell.java: New class
2618 for rendering TYPE_TEXT cells. The code was extracted from the
2620 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2621 Add empty rows to the end of the data if required. Implement
2622 ListTable.getMinNumVisibleRows().
2623 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Extract
2624 cell renderer code to public classes. Return null in
2625 Column.getValue() for empty rows. Add new abstract method:
2626 getMinNumVisibleRows(). Move code to set the row count of the list view
2627 table to ListViewImpl.
2628 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add
2629 empty rows to the end of the data if required. Implement
2630 ListTable.getMinNumVisibleRows().
2633 2011-09-27 Ben Konrath <ben@bagu.org>
2635 Use GWT.log for client-side debugging statements.
2637 These are optimized out when deployed so I should have used this method
2638 in the first place. These statements will eventually be replaced with some sort
2639 of notification in the browser.
2641 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2642 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2643 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2644 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2645 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
2647 2011-09-27 Ben Konrath <ben@bagu.org>
2649 Put tableselector on the right, back to list link on right.
2651 The idea is that the table selector is acting like a label for the
2652 currently displayed table so it should be placed below the document title. This
2653 puts the table title in a similar position to where it is in Glom.
2655 * mockups/details-contacts.html:
2656 * mockups/details-projects.html:
2657 * mockups/listview-contacts.html:
2658 * mockups/listview-projects.html:
2659 * mockups/style.css:
2660 Update mockups to match how the interfaces currently look.
2661 * src/main/webapp/style.css: Swap positions of backlink with the table
2662 selector. Add some space on the left side of the table selector to
2663 line things up with the document title.
2665 2011-09-27 Ben Konrath <ben@bagu.org>
2667 Add field colouring to details view.
2669 This change re-works how field colouring works. The colour formatting
2670 information is now set to the client with the layout information instead of
2671 with the data. This eliminates the need to send the same colour strings for
2672 data in list view column when colour information is set.
2674 In order to set an alternate colour for negative numeric values, the
2675 number is now sent to client and formatted with the GWT NumberFormat class.
2677 This change also fixes:
2679 https://bugzilla.gnome.org/show_bug.cgi?id=659752
2681 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add the GWT
2682 internationalization framework which is needed for client side numeric
2684 * src/main/java/org/glom/web/client/Utils.java: New file for some
2685 client static utility methods.
2686 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
2687 the DataItem object to the Field class. Use a utility method to
2688 create the foreignKeyValue string.
2689 * src/main/java/org/glom/web/client/ui/details/Field.java: Set
2690 alignment and text colours in the constructor. Add setData(DataItem)
2691 method. Remove setText(String) method.
2692 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
2693 colour information to GlomTextCell. Create and use GlomNumberCell for
2694 rendering numbers. Use utility method to get the string for the
2695 primary key of the key provider. Re-work how the horizontal alignment
2697 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
2698 formatting to layout information. Methods for converting the libglom
2699 formatting information were moved from DBAccess.
2700 * src/main/java/org/glom/web/server/database/DBAccess.java: Remove
2701 numeric formatting (it's now done on the client side). Don't set text
2702 colours in DataItem. Move libglom formatting conversion methods to
2704 * src/main/java/org/glom/web/shared/DataItem.java: Remove fields and
2705 getters/setters for text colour information.
2706 * src/main/java/org/glom/web/shared/GlomNumericFormat.java: New file
2707 for transferring the libglom NumericFormat information to the client.
2708 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add fields
2709 and getters/setters for: GlomNumericFormat, background colour and
2710 foreground colour strings.
2712 2011-09-26 Ben Konrath <ben@bagu.org>
2714 Simplify code that iterates through the LayoutGroup.
2716 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
2718 2011-09-26 Ben Konrath <ben@bagu.org>
2720 Accept Eclipse formatting for OnlineGlomServiceAsync.
2722 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2724 2011-09-26 Ben Konrath <ben@bagu.org>
2726 Don't use the ListDBAccess classes to get the primary key layout information.
2728 This was causing a bug where the wrong index for the hidden primary key
2729 was being sent to the client.
2731 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Find the
2732 primary key while creating the LayoutGroup DTO. Create a
2733 LayoutItemField DTO for hidden primary keys. Don't use the
2734 RelatedListDBAccess because it was only used for getting the primary
2736 * src/main/java/org/glom/web/server/database/DBAccess.java: Change the
2737 access modifier from public to protected for getPrimaryKeyField() and
2738 getPrimaryKeyLayoutItemField().
2739 * src/main/java/org/glom/web/server/database/ListDBAccess.java: Remove
2740 abstract method getExpectedResultSize() because RelatedListDBAccess
2741 doesn't have enough info to implement it.
2742 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
2743 Remove @Override for getExpectedResultSize().
2744 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2745 Remove method getExpectedResultSize().
2747 2011-09-23 Ben Konrath <ben@bagu.org>
2749 Log which layout (list or details) the ignored item is from.
2751 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
2753 2011-09-23 Ben Konrath <ben@bagu.org>
2755 Remove annotations that turn off code formatting in DataItem.
2757 * src/main/java/org/glom/web/shared/DataItem.java:
2759 2011-09-23 Ben Konrath <ben@bagu.org>
2761 Rename GlomField to DataItem and update associated methods.
2763 This is a rename-only refactor. No functionality has been added or
2766 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2767 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2768 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2769 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
2770 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2771 * src/main/java/org/glom/web/client/ui/list/ListTable.java:
2772 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
2773 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
2774 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2775 * src/main/java/org/glom/web/server/database/DBAccess.java:
2776 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2777 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
2778 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
2779 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2780 * src/main/java/org/glom/web/shared/DataItem.java:
2781 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java:
2782 * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
2784 2011-09-23 Ben Konrath <ben@bagu.org>
2786 Rename GlomDocument to DocumentInfo and update associated methods.
2788 This is a rename-only refactor. No functionality has been added or
2791 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2792 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2793 * src/main/java/org/glom/web/client/activity/ListActivity.java:
2794 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2795 * src/main/java/org/glom/web/server/ConfiguredDocument.java:
2796 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2797 * src/main/java/org/glom/web/shared/DocumentInfo.java:
2799 2011-09-20 Ben Konrath <ben@bagu.org>
2801 Require java-libglom 1.17.3.
2803 This picks up the fix for the seg fault problem with the Scenes table
2804 in the Openismus Film Manager example.
2808 2011-09-20 Ben Konrath <ben@bagu.org>
2810 Change the way sort clause is added for primary key when no sort clause is requested.
2812 The primary key is now added to the LayoutFieldVector (fieldsToGet)
2813 before the sort clause is created. When a sort clause is not requested, the
2814 sort clause is created by finding the primary key in the LayoutFieldVector
2817 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
2819 2011-09-20 Ben Konrath <ben@bagu.org>
2821 Log error message if no documents are found in the configured directory.
2823 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also:
2824 Extract the glom file extension string to a private static final class
2825 variable (mostly as syntactic sugar). Accept a minor formatting change.
2826 * src/main/resources/onlineglom.properties: Add '/glomfile' to end of
2827 the example glom.document.directory configuration property to make it
2828 more clear that it can any directory, not just the home directory.
2830 2011-09-18 Ben Konrath <ben@bagu.org>
2832 Add related lists to details view.
2834 The related list table has support for paging and sorting just like the
2835 table in the list view.
2837 * pom.xml: Require java-libglom 1.17.2 for the new methods to build the
2838 SQL queries for the related list tables.
2839 * src/main/java/org/glom/web/client/OnlineGlomService.java:
2840 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2841 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2842 Rename getList methods to getListView and add comments. Remove
2843 getDetailsLayout() as it's not used anymore. Add note to getDetailsData() about
2844 it being unused. Add methods: getDetailsLayoutAndData(),
2845 getSortedRelatedListData(), getRelatedListData(), getRelatedListRowCount()
2846 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
2847 Create the layout and set the data for the fields in one async call
2848 instead of two. Create related lists where appropriate.
2849 * src/main/java/org/glom/web/client/activity/ListActivity.java: Changes
2850 for method name changes in OnlineGlomService.
2851 * src/main/java/org/glom/web/client/ui/DetailsView.java:
2852 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
2853 addLayoutGroup() to addGroup(). Add methods to get the DTOs for the
2855 * src/main/java/org/glom/web/client/ui/ListView.java:
2856 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Remove
2857 tableName from setCellTable(). Create a ListViewTable instead of
2859 * src/main/java/org/glom/web/client/ui/details/Field.java: New class to
2860 represent a data field in the details view.
2861 * src/main/java/org/glom/web/client/ui/details/Group.java: Move to code
2862 from addDetailsCell() to Field class. Keep track of the Fields and
2863 Portals in the details view.
2864 * src/main/java/org/glom/web/client/ui/details/Portal.java: Make portal
2865 a little bigger to match Glom. Keep track of the LayoutItemPortal DTO
2866 and add a method to get it. Add method to set the contents of the
2868 * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
2869 New class for related list tables. This class has the data provider
2870 for the related list table.
2871 * src/main/java/org/glom/web/client/ui/list/ListTable.java: Change to
2872 abstract class which is the base class for the ListViewTable and the
2874 * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
2875 New class for list view tables. This class has the data provider for
2876 the list view table.
2877 * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
2878 methods for related list tables. Add more information to the
2879 LayoutItemField and LayoutItemPortal DTOs.
2880 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2881 Remove debugging print statement.
2882 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
2883 Remove debugging print statements. Add primary key field to SQL count
2885 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
2886 Remove unnecessary LayoutFieldVector parameter from
2887 getResultSizeOfSQLQuery() method.
2888 * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
2889 New class for related list table database access.
2890 * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java: New
2891 class that is a wrapper DTO for details view layout and data.
2892 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
2893 new 'fromField' string to this DTO.
2894 * src/main/webapp/style.css: Remove bottom margin and override top
2897 2011-09-15 Ben Konrath <ben@bagu.org>
2899 Breakup the OnlineGlomServiceImpl class to make it more manageable.
2901 This sets things up to make it easier to add the data retrieval for
2902 related lists (portals). No user noticeable changes were made with
2905 * src/main/java/org/glom/web/server/ConfiguredDocument.java: This
2906 class has the code to retrieve the layouts and access the
2907 database using the new database helper classes.
2908 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2909 Most of the functionality has been removed from this class. This
2910 class now represents the public interface for the client side
2911 code. It also deals with configuring the servlet and cleaning
2912 things up when the servlet is stopped.
2913 * src/main/java/org/glom/web/server/Utils.java: Extract a couple
2914 of static methods into this utility class.
2915 * src/main/java/org/glom/web/server/database/DBAccess.java:
2916 * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
2917 * src/main/java/org/glom/web/server/database/ListDBAccess.java:
2918 * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
2919 These classes have the database retrieval code. The class hierarchy
2920 has been setup to make it easy to reuse code for similar
2923 2011-09-06 Ben Konrath <ben@bagu.org>
2925 Create separate classes for list table code and the data provider.
2927 As part of this refactor, I also split up the code a bit to make it
2930 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move list
2931 table code to two new classes (below).
2932 * src/main/java/org/glom/web/client/ui/list/ListTable.java: New file
2933 with code from ListViewImpl.
2934 * src/main/java/org/glom/web/client/ui/list/ListTableDataProvider.java:
2935 New file with code from ListViewImpl.
2937 2011-09-06 Ben Konrath <ben@bagu.org>
2939 Change the LayoutItemPortal DTO to extend LayoutGroup instead of LayoutItem.
2941 This fixes the LayoutItemPortal DTO to match the libglom layout object
2944 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java:
2946 2011-09-01 Ben Konrath <ben@bagu.org>
2948 Set title of Portals in the Details View.
2950 * pom.xml: Bump required version of java-libglom to 1.17.1.
2951 * src/main/java/org/glom/web/client/ui/details/Group.java: Move Portal
2952 widget creation to its own class. Add comments to constructor.
2953 * src/main/java/org/glom/web/client/ui/details/Portal.java: New file.
2954 The code is mostly from the Group class with the title now set.
2955 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
2956 title of Portal. Update some comments. Fix some code formatting.
2958 2011-09-01 Ben Konrath <ben@bagu.org>
2960 Remove TODO comment for the flow table column width.
2962 The flow table column width is working correctly and doesn't need to be
2963 changed. See this mailing list post for more info:
2965 https://mail.gnome.org/archives/glom-devel-list/2011-August/msg00017.html
2967 * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
2969 2011-08-27 Ben Konrath <ben@bagu.org>
2971 Add document title (database name) to top of the browser page.
2973 I added the document title to the TableSelecitonView but that will
2974 change if / when we add a view that doesn't require table selection.
2976 * mockups/details-contacts.html:
2977 * mockups/details-projects.html:
2978 * mockups/listview-contacts.html:
2979 * mockups/listview-projects.html:
2980 * mockups/style.css: Add document title to mockups to keep things
2982 * src/main/java/org/glom/web/client/OnlineGlom.java: Adjust LayoutPanel
2983 sizes to account for the document title.
2984 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
2985 Set the document title when it has been retrieved from the server.
2986 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
2987 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java: Add
2988 and implement setDocumentTitle(String) method.
2989 * src/main/webapp/style.css: Add ID for document title style.
2991 2011-08-25 Ben Konrath <ben@bagu.org>
2993 Add NavigationType enum to LayoutItemPortal DTO.
2995 This is the start of adding support for Portals to the Details View.
2997 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert
2998 LayoutItem_Portal.navigation_type enum from libglom to
2999 LayoutItemPortal.NavigationType enum.
3000 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
3001 NavigationType enum, field for storing the NavigationType and getter
3004 2011-08-25 Ben Konrath <ben@bagu.org>
3006 Implement the flow table layout in the Details View.
3008 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
3009 FlowTable to Group to account for the renamed class.
3010 * src/main/java/org/glom/web/client/ui/details/FlowTable.java: New
3011 File. This is a container widget that implements the Glom details view
3012 flow table behaviour.
3013 * src/main/java/org/glom/web/client/ui/details/Group.java: Moved from
3014 org/glom/web/client/ui/FlowTable.java.
3015 * src/main/webapp/style.css: Adjust bottom margin of the subgroup-title
3016 so that the size of the subgroups are a closer match to the size of
3017 the Glom subgroups. This makes the flowtable layout match the layout
3018 in Glom for the Music Collection example file.
3020 2011-08-16 Ben Konrath <ben@bagu.org>
3022 Create container element for LayoutItemPortal in Details View.
3024 This will help me develop the layout for the FlowTable.
3026 * src/main/java/org/glom/web/client/ui/FlowTable.java: Also rename
3027 fieldPanel variable to detailsCell.
3029 2011-08-15 Ben Konrath <ben@bagu.org>
3031 Set the height of the data element in the Details View.
3033 I changed the InlineLabels (text in a span element) to Labels (text in
3034 a div element) so that I could set the height of the details-data
3035 elements instead of the details-cell parent elements. This allows the
3036 the details-data element to display the correct height if style is
3037 applied that shows the height.
3039 This change has the added benefit of allowing the order of the labels
3040 and data elements to be changed for right-to-left languages.
3042 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
3043 InlineLabels to Labels.
3044 * src/main/java/org/glom/web/client/ui/FlowTable.java: Change
3045 InlineLabels to Labels. Set the height of the data element.
3046 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
3047 multiline text height in the Formatting DTO.
3048 * src/main/java/org/glom/web/shared/layout/Formatting.java: Add field
3049 for multiline height along with getter and setter methods.
3050 * src/main/webapp/style.css: Adjust style to account for the change
3051 from span elements to div elements in the details cell.
3053 2011-08-15 Ben Konrath <ben@bagu.org>
3055 Make the List View appearance match the mockups.
3057 It doesn't match exactly but it's much better than it was.
3059 * mockups/listview-contacts.html: Remove unused css classes.
3060 * mockups/listview-projects.html: Remove unused css classes.
3061 * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Display 15
3062 rows instead of 20. Rename vPanel to mainPanel. Use FlowPanel (div)
3063 for mainPanel instead of VerticalPanel (table). Set style name on
3064 CellTable. Set style name on Details column. Right-align Details
3066 * src/main/webapp/style.css: Adjust properties to match the mockups.
3068 2011-08-12 Ben Konrath <ben@bagu.org>
3070 Add better support for subgroups in the details view.
3072 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
3073 changed FlowTable constructor.
3074 * src/main/java/org/glom/web/client/ui/FlowTable.java: Add better
3075 support for subgroups and subgroup-titles.
3076 * src/main/webapp/style.css: Add CSS class for subgroups and
3079 2011-08-12 Ben Konrath <ben@bagu.org>
3081 Return the top level LayoutGroup title.
3083 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
3085 2011-08-11 Ben Konrath <ben@bagu.org>
3087 Make the TableSelector header match the mockup.
3089 * src/main/java/org/glom/web/client/OnlineGlom.java: Add a margin to
3090 the layout panel. Properly lineup the table selection header with
3091 the list and details view.
3092 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Remove the
3093 margin around the details view.
3094 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
3095 Rename listBox variable to tableSelector. Set id for the style sheet.
3096 Use a FlowPanel instead of a HorizontalPanel.
3097 * src/main/webapp/style.css: Add properties to make the TableSelector
3098 box match the mockups.
3100 2011-07-13 Ben Konrath <ben@bagu.org>
3102 Update install script for java-libglom version change.
3104 * utils/install-onlineglom-war.sh: Also exit if 'make check' in
3107 2011-07-13 Ben Konrath <ben@bagu.org>
3109 Add support sub-group in the details view.
3111 I also removed the code that special-cased the default details view
3114 http://mail.gnome.org/archives/glom-devel-list/2011-July/msg00005.html
3116 I still have to make a proper flowtable.
3118 * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
3119 Don't special-case default details view layout.
3120 * src/main/java/org/glom/web/client/ui/DetailsView.java: Remove
3121 addLayoutField() as I'm going to use it.
3122 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Extract
3123 GroupPanel to FlowTable class. Remove unimplemented addLayoutField()
3125 * src/main/java/org/glom/web/client/ui/FlowTable.java: New class
3126 extracted from DetailsViewImpl.GroupPanel. Add support for
3128 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
3129 column count when getting the details layout.
3131 2011-07-12 Ben Konrath <ben@bagu.org>
3133 Set browser title with database and table titles.
3135 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
3136 Set the browser title when the table changes and when the activity
3138 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
3139 title when retrieving document info (the GlomDocument object).
3140 * src/main/java/org/glom/web/shared/GlomDocument.java: Add title field
3141 with getter and setter methods. Remove unused convenience constructor.
3142 Use default code formatting.
3144 2011-07-12 Ben Konrath <ben@bagu.org>
3146 Ignore LayoutItemPortals in the details view.
3148 I added a new DTO for the LayoutItemPortal so that I can ignore it in
3151 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Ignore
3152 LayoutItemPortal layout objects.
3153 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
3154 LayoutItemPortal objects when retrieving the details layout.
3155 * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: New
3156 file. This is an empty class and just used to get type information for
3159 2011-07-12 Ben Konrath <ben@bagu.org>
3161 Use java-libglom 1.17.0.
3165 2011-07-11 Ben Konrath <ben@bagu.org>
3167 Remove "Table:" label from table selector.
3169 This matches a recent change in the Glom UI.
3171 * mockups/details-contacts.html:
3172 * mockups/details-projects.html:
3173 * mockups/listview-contacts.html:
3174 * mockups/listview-projects.html: Remove the "Table:" label from the
3176 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
3178 2011-07-11 Ben Konrath <ben@bagu.org>
3180 Add main groups to the details view.
3182 This makes things look a little nicer in the details view. The next step
3183 is to implement the flowtable.
3185 * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Inherit only the
3186 resources from the standard gwt css theme. Standard.css is now
3187 included in OnlineGlom.html so that the online glom css rules have
3188 precedence over the gwt theme.
3189 * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
3190 the whole LayoutGroup to the DetailsView instead of just the titles.
3191 * src/main/java/org/glom/web/client/ui/DetailsView.java:
3192 * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Create the
3193 details layout with a helper class (GroupPanel). I might extract this
3194 class when I make the full flowtable.
3195 * src/main/java/org/glom/web/shared/layout/LayoutItem.java: Add empty
3196 string as default so I don't have to worry about NPEs when processing
3198 * src/main/webapp/OnlineGlom.html: Add the gwt standard css file (see
3199 note beside OnlineGlom.gwt.xml above).
3200 * src/main/webapp/style.css: Add default font-size to body to override
3201 the font-size set by the standard theme. Don't use h2 tags for
3202 group-title. Create new details-cell class.
3204 2011-07-08 Murray Cumming <murrayc@murrayc.com>
3206 ConfiguredDocument: Set the port number too.
3208 * src/main/java/org/glom/web/server/ConfiguredDocument.java
3209 (ConfiguredDocument.ConfiguredDocument): Get the port number from the
3210 Glom document. Presumably this worked sometimes so far because there is a
3211 default port number.
3213 2011-07-08 Murray Cumming <murrayc@murrayc.com>
3215 ConfiguredDocument: Warn that sqlite and self-hosting are not supported.
3217 * src/main/java/org/glom/web/server/ConfiguredDocument.java
3218 (ConfiguredDocument.ConfiguredDocument): Check that the hosting mode is
3219 correct, though we should throw an exception too.
3221 2011-07-08 Murray Cumming <murrayc@murrayc.com>
3223 Fix a addDocuemnt typo.
3225 * src/main/java/org/glom/web/shared/Documents.java
3226 (Documents.addDocuemnt): Rename to addDocument().
3227 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
3228 (OnlineGlomServiceImpl.getDocuments): Adapt.
3230 2011-07-08 Murray Cumming <murrayc@murrayc.com>
3232 Slightly improved log output when connection fails.
3234 * src/main/java/org/glom/web/server/ConfiguredDocument.java
3235 (ConfiguredDocument.setUsernameAndPassword):
3236 We don't know for sure if it' the username/password that's wrong, so
3237 rephrase the message.
3238 Also ouput the exception message, though it's generic in this case.
3240 2011-07-08 Ben Konrath <ben@bagu.org>
3244 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also
3245 added braces to a one line if statement because the Eclipse formatter
3246 was getting confused.
3248 2011-07-07 Ben Konrath <ben@bagu.org>
3250 Update project config files for Eclipse 3.7 and use GWT 2.3.0.
3252 These should really be two separate tasks but I counldn't get things to
3253 work with GWT 2.2.0 and Eclipse 3.7.