Revision ba8a1aff src/gr/ebs/gss/client/SearchResults.java

b/src/gr/ebs/gss/client/SearchResults.java
255 255
			if (startIndex >= folderFileCount)
256 256
				startIndex -= GSS.VISIBLE_FILE_COUNT;
257 257
			else
258
				update();
258
				update(false);
259 259
		} else if (sender == prevButton) {
260 260
			clearSelectedRows();
261 261
			// Move back a page.
......
263 263
			if (startIndex < 0)
264 264
				startIndex = 0;
265 265
			else
266
				update();
266
				update(false);
267 267
		}
268 268
	}
269 269

  
......
331 331

  
332 332
			public void onClick(Widget sender) {
333 333
				sortFiles("name");
334
				update();
335

  
336 334
			}
337 335

  
338 336
		});
......
341 339

  
342 340
			public void onClick(Widget sender) {
343 341
				sortFiles("version");
344
				update();
345

  
346 342
			}
347 343

  
348 344
		});
......
351 347

  
352 348
			public void onClick(Widget sender) {
353 349
				sortFiles("size");
354
				update();
355

  
356 350
			}
357 351

  
358 352
		});
......
361 355

  
362 356
			public void onClick(Widget sender) {
363 357
				sortFiles("date");
364
				update();
365

  
366 358
			}
367 359

  
368 360
		});
......
371 363

  
372 364
			public void onClick(Widget sender) {
373 365
				sortFiles("owner");
374
				update();
375

  
376 366
			}
377 367

  
378 368
		});
......
382 372

  
383 373
			public void onClick(Widget sender) {
384 374
				sortFiles("path");
385
				update();
386

  
387 375
			}
388 376

  
389 377
		});
......
483 471
	/**
484 472
	 * Update the display of the file list.
485 473
	 */
486
	void update() {
474
	void update(boolean sort) {
487 475
		int count = folderFileCount;
488 476
		int max = startIndex + GSS.VISIBLE_FILE_COUNT;
489 477
		if (max > count)
490 478
			max = count;
491 479
		folderTotalSize = 0;
492 480

  
481
		if (sort && files != null && files.size() != 0) {
482
			clearLabels();
483
			clearSelectedRows();
484

  
485
			Collections.sort(files, new Comparator<FileResource>() {
486

  
487
				public int compare(FileResource arg0, FileResource arg1) {
488
					if (sortingType)
489
						if (sortingProperty.equals("version")) {
490
							versionLabel.setHTML("Version&nbsp;" + images.desc().getHTML());
491
							return arg0.getVersion().compareTo(arg1.getVersion());
492
						} else if (sortingProperty.equals("owner")) {
493
							ownerLabel.setHTML("Owner&nbsp;" + images.desc().getHTML());
494
							return arg0.getOwner().compareTo(arg1.getOwner());
495
						} else if (sortingProperty.equals("date")) {
496
							dateLabel.setHTML("Last modified&nbsp;" + images.desc().getHTML());
497
							return arg0.getModificationDate().compareTo(arg1.getModificationDate());
498
						} else if (sortingProperty.equals("size")) {
499
							sizeLabel.setHTML("Size&nbsp;" + images.desc().getHTML());
500
							return arg0.getContentLength().compareTo(arg1.getContentLength());
501
						} else if (sortingProperty.equals("name")) {
502
							nameLabel.setHTML("Name&nbsp;" + images.desc().getHTML());
503
							return arg0.getName().compareTo(arg1.getName());
504
						} else if (sortingProperty.equals("path")) {
505
							pathLabel.setHTML("Path&nbsp;" + images.desc().getHTML());
506
							return arg0.getUri().compareTo(arg1.getUri());
507
						} else {
508
							nameLabel.setHTML("Name&nbsp;" + images.desc().getHTML());
509
							return arg0.getName().compareTo(arg1.getName());
510
						}
511
					else if (sortingProperty.equals("version")) {
512
						versionLabel.setHTML("Version&nbsp;" + images.asc().getHTML());
513
						return arg1.getVersion().compareTo(arg0.getVersion());
514
					} else if (sortingProperty.equals("owner")) {
515
						ownerLabel.setHTML("Owner&nbsp;" + images.asc().getHTML());
516
						return arg1.getOwner().compareTo(arg0.getOwner());
517
					} else if (sortingProperty.equals("date")) {
518
						dateLabel.setHTML("Last modified&nbsp;" + images.asc().getHTML());
519
						return arg1.getModificationDate().compareTo(arg0.getModificationDate());
520
					} else if (sortingProperty.equals("size")) {
521
						sizeLabel.setHTML("Size&nbsp;" + images.asc().getHTML());
522
						return arg1.getContentLength().compareTo(arg0.getContentLength());
523
					} else if (sortingProperty.equals("name")) {
524
						nameLabel.setHTML("Name&nbsp;" + images.asc().getHTML());
525
						return arg1.getName().compareTo(arg0.getName());
526
					} else if (sortingProperty.equals("path")) {
527
						pathLabel.setHTML("Path&nbsp;" + images.asc().getHTML());
528
						return arg1.getUri().compareTo(arg0.getUri());
529
					} else {
530
						nameLabel.setHTML("Name&nbsp;" + images.asc().getHTML());
531
						return arg1.getName().compareTo(arg0.getName());
532
					}
533
				}
534

  
535
			});
536

  
537
		}
493 538
		// Show the selected files.
494 539
		int i = 1;
495 540
		for (; i < GSS.VISIBLE_FILE_COUNT + 1; ++i) {
......
580 625
	public void updateFileCache(String query) {
581 626
		final GSS app = GSS.get();
582 627
		clearSelectedRows();
583
		sortingProperty = "name";
584 628
		clearLabels();
585
		nameLabel.setHTML("Name&nbsp;" + images.desc().getHTML());
586
		sortingType = true;
587 629
		startIndex = 0;
588 630
		app.showLoadingIndicator();
589 631
		if (query == null || query.trim().equals("")) {
590 632
			searchResults.setHTML("You must specify a query");
591 633
			setFiles(new ArrayList());
592
			update();
634
			update(true);
593 635
			app.hideLoadingIndicator();
594 636
		} else{
595 637
			searchResults.setHTML("Search results for " + query);
......
601 643
				public void onComplete() {
602 644
					SearchResource s = getResult();
603 645
					setFiles(s.getFiles());
604
					update();
646
					update(true);
605 647
				}
606 648

  
607 649
				@Override
......
644 686
			sortingProperty = sortProperty;
645 687
			sortingType = true;
646 688
		}
647
		clearLabels();
648
		clearSelectedRows();
649
		if (files == null || files.size() == 0)
650
			return;
651
		Collections.sort(files, new Comparator<FileResource>() {
652

  
653
			public int compare(FileResource arg0, FileResource arg1) {
654
				if (sortingType)
655
					if (sortProperty.equals("version")) {
656
						versionLabel.setHTML("Version&nbsp;" + images.desc().getHTML());
657
						return arg0.getVersion().compareTo(arg1.getVersion());
658
					} else if (sortProperty.equals("owner")) {
659
						ownerLabel.setHTML("Owner&nbsp;" + images.desc().getHTML());
660
						return arg0.getOwner().compareTo(arg1.getOwner());
661
					} else if (sortProperty.equals("date")) {
662
						dateLabel.setHTML("Last modified&nbsp;" + images.desc().getHTML());
663
						return arg0.getModificationDate().compareTo(arg1.getModificationDate());
664
					} else if (sortProperty.equals("size")) {
665
						sizeLabel.setHTML("Size&nbsp;" + images.desc().getHTML());
666
						return arg0.getContentLength().compareTo(arg1.getContentLength());
667
					} else if (sortProperty.equals("name")) {
668
						nameLabel.setHTML("Name&nbsp;" + images.desc().getHTML());
669
						return arg0.getName().compareTo(arg1.getName());
670
					} else if (sortProperty.equals("path")) {
671
						pathLabel.setHTML("Path&nbsp;" + images.desc().getHTML());
672
						return arg0.getUri().compareTo(arg1.getUri());
673
					} else {
674
						nameLabel.setHTML("Name&nbsp;" + images.desc().getHTML());
675
						return arg0.getName().compareTo(arg1.getName());
676
					}
677
				else if (sortProperty.equals("version")) {
678
					versionLabel.setHTML("Version&nbsp;" + images.asc().getHTML());
679
					return arg1.getVersion().compareTo(arg0.getVersion());
680
				} else if (sortProperty.equals("owner")) {
681
					ownerLabel.setHTML("Owner&nbsp;" + images.asc().getHTML());
682
					return arg1.getOwner().compareTo(arg0.getOwner());
683
				} else if (sortProperty.equals("date")) {
684
					dateLabel.setHTML("Last modified&nbsp;" + images.asc().getHTML());
685
					return arg1.getModificationDate().compareTo(arg0.getModificationDate());
686
				} else if (sortProperty.equals("size")) {
687
					sizeLabel.setHTML("Size&nbsp;" + images.asc().getHTML());
688
					return arg1.getContentLength().compareTo(arg0.getContentLength());
689
				} else if (sortProperty.equals("name")) {
690
					nameLabel.setHTML("Name&nbsp;" + images.asc().getHTML());
691
					return arg1.getName().compareTo(arg0.getName());
692
				} else if (sortProperty.equals("path")) {
693
					pathLabel.setHTML("Path&nbsp;" + images.asc().getHTML());
694
					return arg1.getUri().compareTo(arg0.getUri());
695
				} else {
696
					nameLabel.setHTML("Name&nbsp;" + images.asc().getHTML());
697
					return arg1.getName().compareTo(arg0.getName());
698
				}
699
			}
700

  
701
		});
689
		update(true);
702 690
	}
703 691

  
704 692
	private void clearLabels() {

Also available in: Unified diff