comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 59:a3d235c63195

Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception. flys-client/trunk@1519 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 18 Mar 2011 13:45:34 +0000
parents d018995fbee7
children 4784ca718476
comparison
equal deleted inserted replaced
58:d018995fbee7 59:a3d235c63195
346 * This method returns the selected data. 346 * This method returns the selected data.
347 * 347 *
348 * @return the selected/inserted data. 348 * @return the selected/inserted data.
349 */ 349 */
350 public Data[] getData() { 350 public Data[] getData() {
351 // XXX If we have entered a value and click right afterwards on the
352 // 'next' button, the BlurEvent is not fired, and the values are not
353 // saved. So, we gonna save those values explicitly.
354 if (!isRangeMode()) {
355 Canvas member = container.getMember(0);
356 if (member instanceof DoubleArrayPanel) {
357 DoubleArrayPanel form = (DoubleArrayPanel) member;
358 if (isWMode()) {
359 saveSingleWValues(form);
360 }
361 else {
362 saveSingleQValues(form);
363 }
364 }
365 }
366 else {
367 Canvas member = container.getMember(0);
368 if (member instanceof DoubleRangePanel) {
369 DoubleRangePanel form = (DoubleRangePanel) member;
370
371 if (isWMode()) {
372 saveRangeWValues(form);
373 }
374 else {
375 saveRangeQValues(form);
376 }
377 }
378 }
379
351 return new Data[] { 380 return new Data[] {
352 getDataMode(), 381 getDataMode(),
353 getDataFrom(), 382 getDataFrom(),
354 getDataTo(), 383 getDataTo(),
355 getDataStep() }; 384 getDataStep() };
598 String inputMode = (String) modes.getValue(FIELD_MODE); 627 String inputMode = (String) modes.getValue(FIELD_MODE);
599 628
600 if (wqMode.equals(FIELD_WQ_W)) { 629 if (wqMode.equals(FIELD_WQ_W)) {
601 if (inputMode.equals(FIELD_MODE_SINGLE)) { 630 if (inputMode.equals(FIELD_MODE_SINGLE)) {
602 DoubleArrayPanel p = (DoubleArrayPanel) form; 631 DoubleArrayPanel p = (DoubleArrayPanel) form;
603 632 saveSingleWValue(p, item);
604 if (p.validateForm(item)) {
605 setSingleW(p.getInputValues(item));
606 }
607 } 633 }
608 else { 634 else {
609 DoubleRangePanel p = (DoubleRangePanel) form; 635 DoubleRangePanel p = (DoubleRangePanel) form;
610 636 saveRangeWValue(p, item);
611 if (p.validateForm(item)) {
612 setFromW(p.getFrom());
613 setToW(p.getTo());
614 setStepW(p.getStep());
615 }
616 } 637 }
617 } 638 }
618 else { 639 else {
619 if (inputMode.equals(FIELD_MODE_SINGLE)) { 640 if (inputMode.equals(FIELD_MODE_SINGLE)) {
620 DoubleArrayPanel p = (DoubleArrayPanel) form; 641 DoubleArrayPanel p = (DoubleArrayPanel) form;
621 642 saveSingleQValue(p, item);
622 if (p.validateForm(item)) {
623 setSingleQ(p.getInputValues(item));
624 }
625 } 643 }
626 else { 644 else {
627 DoubleRangePanel p = (DoubleRangePanel) form; 645 DoubleRangePanel p = (DoubleRangePanel) form;
628 646 saveRangeQValue(p, item);
629 if (p.validateForm(item)) { 647 }
630 setFromQ(p.getFrom()); 648 }
631 setToQ(p.getTo()); 649 }
632 setStepQ(p.getStep()); 650
633 } 651
634 } 652 protected void saveSingleWValues(DoubleArrayPanel p) {
653 FormItem[] formItems = p.getFields();
654
655 for (FormItem item: formItems) {
656 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) {
657 saveSingleWValue(p, item);
658 }
659 }
660 }
661
662
663 protected void saveSingleQValues(DoubleArrayPanel p) {
664 FormItem[] formItems = p.getFields();
665
666 for (FormItem item: formItems) {
667 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) {
668 saveSingleQValue(p, item);
669 }
670 }
671 }
672
673
674 protected void saveSingleWValue(DoubleArrayPanel p, FormItem item) {
675 if (p.validateForm(item)) {
676 setSingleW(p.getInputValues(item));
677 }
678 }
679
680
681 protected void saveSingleQValue(DoubleArrayPanel p, FormItem item) {
682 if (p.validateForm(item)) {
683 setSingleQ(p.getInputValues(item));
684 }
685 }
686
687
688 protected void saveRangeWValues(DoubleRangePanel p) {
689 FormItem[] formItems = p.getFields();
690
691 for (FormItem item: formItems) {
692 saveRangeWValue(p, item);
693 }
694 }
695
696
697 protected void saveRangeQValues(DoubleRangePanel p) {
698 FormItem[] formItems = p.getFields();
699
700 for (FormItem item: formItems) {
701 saveRangeQValue(p, item);
702 }
703 }
704
705
706 protected void saveRangeWValue(DoubleRangePanel p, FormItem item) {
707 if (p.validateForm(item)) {
708 setFromW(p.getFrom());
709 setToW(p.getTo());
710 setStepW(p.getStep());
711 }
712 }
713
714
715 protected void saveRangeQValue(DoubleRangePanel p, FormItem item) {
716 if (p.validateForm(item)) {
717 setFromQ(p.getFrom());
718 setToQ(p.getTo());
719 setStepQ(p.getStep());
635 } 720 }
636 } 721 }
637 722
638 723
639 protected double[] getSingleQ() { 724 protected double[] getSingleQ() {

http://dive4elements.wald.intevation.org