Changeset 933
- Timestamp:
- 11/24/10 15:35:44 (14 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main
- Files:
-
- 8 added
- 5 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/Application.java
r906 r933 16 16 17 17 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages.AdminPage; 18 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages.BrowsePrivateCollectionsPage; 18 19 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages.CreateVirtualCollectionPage; 19 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages. HomePage;20 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages.BrowsePublicCollectionsPage; 20 21 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages.LoginPage; 21 22 … … 48 49 if (getConfigurationType() != DEPLOYMENT) { 49 50 getMarkupSettings().setStripWicketTags(true); 51 getMarkupSettings().setStripComments(true); 50 52 } 51 mountBookmarkablePage("/home", HomePage.class); 53 mountBookmarkablePage("/public", 54 BrowsePublicCollectionsPage.class); 55 mountBookmarkablePage("/private", 56 BrowsePrivateCollectionsPage.class); 52 57 mountBookmarkablePage("/create", CreateVirtualCollectionPage.class); 53 58 mountBookmarkablePage("/admin", AdminPage.class); … … 56 61 @Override 57 62 public Class<? extends Page> getHomePage() { 58 return HomePage.class;63 return BrowsePublicCollectionsPage.class; 59 64 } 60 65 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/AuthenticationStatePanel.java
r906 r933 60 60 61 61 private class LogoutFragment extends Fragment { 62 private Label usernameLabel;62 private final Label usernameLabel; 63 63 64 64 public LogoutFragment(String id) { … … 66 66 setRenderBodyOnly(true); 67 67 usernameLabel = new Label("username"); 68 usernameLabel.setRenderBodyOnly(true); 68 69 add(usernameLabel); 69 70 // final StatelessLink logoutLink = new StatelessLink("logoutLink") { -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BasePage.java
r906 r933 22 22 // main navigation menu 23 23 final Menu menu = new Menu("menu"); 24 menu.addMenuItem(new MenuItem<HomePage>( 25 new Model<String>("Home"), 26 HomePage.class)); 24 menu.addMenuItem(new MenuItem<BrowsePublicCollectionsPage>( 25 new Model<String>("Virtual Collections"), 26 BrowsePublicCollectionsPage.class)); 27 menu.addMenuItem(new MenuItem<BrowsePrivateCollectionsPage>( 28 new Model<String>("My Virtual Collections"), 29 BrowsePrivateCollectionsPage.class)); 27 30 menu.addMenuItem(new MenuItem<CreateVirtualCollectionPage>( 28 31 new Model<String>("Create Virtual Collection"), -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BrowsePublicCollectionsPage.html
r906 r933 7 7 <body> 8 8 <wicket:extend> 9 <div style="margin: 5px 0;">Search-Bar/Options here</div> 10 <table wicket:id="collectionsTable" class="collectionsTable"></table> 9 <div wicket:id="collectionsTable"></div> 11 10 </wicket:extend> 12 11 </body> -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BrowsePublicCollectionsPage.java
r906 r933 3 3 import java.util.Iterator; 4 4 5 import org.apache.commons.lang.time.FastDateFormat;6 5 import org.apache.wicket.WicketRuntimeException; 7 import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable;8 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;9 import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;10 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;11 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;12 import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;13 import org.apache.wicket.markup.html.basic.Label;14 import org.apache.wicket.markup.repeater.Item;15 import org.apache.wicket.model.IModel;16 import org.apache.wicket.model.Model;17 6 18 7 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistry; … … 21 10 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollectionList; 22 11 23 public class HomePage extends BasePage { 24 private transient VirtualCollectionRegistry vcr = 25 VirtualCollectionRegistry.instance(); 12 public class BrowsePublicCollectionsPage extends BasePage { 26 13 27 14 @SuppressWarnings("serial") 28 public HomePage() {15 public BrowsePublicCollectionsPage() { 29 16 super(); 30 final DataTable<VirtualCollection> collectionsTable = 31 new AjaxFallbackDefaultDataTable<VirtualCollection>( 32 "collectionsTable", 33 createColumns(), 34 new SortableDataProvider<VirtualCollection>() { 35 @Override 36 public Iterator<? extends VirtualCollection> iterator( 37 int first, int count) { 38 try { 39 VirtualCollectionList results = 40 vcr.getVirtualCollections(null, first, count); 41 return results.getItems().iterator(); 42 } catch (VirtualCollectionRegistryException e) { 43 throw new WicketRuntimeException(e); 44 } 45 } 17 final VirtualCollectionTable table = 18 new VirtualCollectionTable("collectionsTable", false) { 46 19 47 @Override 48 public IModel<VirtualCollection> model(VirtualCollection vc) { 49 return new Model<VirtualCollection>(vc); 50 } 20 @Override 21 protected int getCollectionsCount() { 22 try { 23 final VirtualCollectionRegistry vcr = 24 VirtualCollectionRegistry.instance(); 25 VirtualCollectionList results = 26 vcr.getVirtualCollections(null, -1, 0); 27 return results.getTotalCount(); 28 } catch (VirtualCollectionRegistryException e) { 29 throw new WicketRuntimeException(e); 30 } 31 } 51 32 52 @Override 53 public int size() { 54 try { 55 VirtualCollectionList results = 56 vcr.getVirtualCollections(null, -1, 0); 57 return results.getTotalCount(); 58 } catch (VirtualCollectionRegistryException e) { 59 throw new WicketRuntimeException(e); 60 } 61 } 62 }, 16); 63 collectionsTable.setOutputMarkupId(true); 64 add(collectionsTable); 65 33 @Override 34 protected Iterator<VirtualCollection> getCollections(int first, 35 int count) { 36 try { 37 final VirtualCollectionRegistry vcr = 38 VirtualCollectionRegistry.instance(); 39 VirtualCollectionList results = 40 vcr.getVirtualCollections(null, first, count); 41 return results.getItems().iterator(); 42 } catch (VirtualCollectionRegistryException e) { 43 throw new WicketRuntimeException(e); 44 } 45 } 46 }; 47 add(table); 66 48 } 67 49 68 final FastDateFormat df = 69 FastDateFormat.getInstance("yyyy-MM-dd"); 70 71 @SuppressWarnings({ "unchecked", "serial" }) 72 private IColumn<VirtualCollection>[] createColumns() { 73 final IColumn<?>[] columns = new IColumn<?>[] { 74 new PropertyColumn<VirtualCollection>( 75 new Model<String>("Name"), "name") { 76 @Override 77 public String getCssClass() { 78 return "title"; 79 } 80 }, 81 new PropertyColumn<VirtualCollection>( 82 new Model<String>("Type"), "type") { 83 @Override 84 public String getCssClass() { 85 return "type"; 86 } 87 }, 88 new PropertyColumn<VirtualCollection>( 89 new Model<String>("Description"), "description") { 90 @Override 91 public String getCssClass() { 92 return "description"; 93 } 94 }, 95 new PropertyColumn<VirtualCollection>( 96 new Model<String>("Created"), "creationDate") { 97 @Override 98 public String getCssClass() { 99 return "created"; 100 } 101 102 @Override 103 public void populateItem( 104 Item<ICellPopulator<VirtualCollection>> item, 105 String componentId, 106 IModel<VirtualCollection> model) { 107 item.add(new Label(componentId, 108 df.format(model.getObject().getCreationDate()))); 109 } 110 } 111 }; 112 return (IColumn<VirtualCollection>[]) columns; 113 } 114 115 } // class HomePage 50 } // class BrowsePublicCollectionsPage -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/CreateVirtualCollectionPage.java
r906 r933 1 1 package eu.clarin.cmdi.virtualcollectionregistry.gui.pages; 2 2 3 import java.security.Principal; 4 import java.util.Date; 5 6 import org.apache.wicket.Page; 7 import org.apache.wicket.WicketRuntimeException; 3 8 import org.apache.wicket.authorization.strategies.role.Roles; 4 9 import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeInstantiation; 5 10 11 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistry; 12 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryException; 13 import eu.clarin.cmdi.virtualcollectionregistry.gui.ApplicationSession; 6 14 import eu.clarin.cmdi.virtualcollectionregistry.gui.wizard.CreateVirtualCollectionWizard; 15 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; 7 16 8 17 @AuthorizeInstantiation(Roles.USER) 18 @SuppressWarnings("serial") 9 19 public class CreateVirtualCollectionPage extends BasePage { 10 20 11 21 public CreateVirtualCollectionPage() { 12 super(); 13 this.add(new CreateVirtualCollectionWizard("wizard")); 22 this(new VirtualCollection(), null); 14 23 } 15 24 25 public CreateVirtualCollectionPage(VirtualCollection vc, 26 final Page previousPage) { 27 final CreateVirtualCollectionWizard wizard = 28 new CreateVirtualCollectionWizard("wizard", vc) { 29 30 @Override 31 protected void onCancelWizard() { 32 // proceed to response page 33 if (previousPage != null) { 34 setResponsePage(previousPage); 35 } else { 36 setResponsePage(BrowsePrivateCollectionsPage.class); 37 } 38 } 39 40 @Override 41 protected void onFinishWizard(VirtualCollection vc) { 42 try { 43 VirtualCollectionRegistry vcr = 44 VirtualCollectionRegistry.instance(); 45 ApplicationSession session = 46 (ApplicationSession) getSession(); 47 Principal principal = session.getPrincipal(); 48 if (principal == null) { 49 // XXX: security issue? 50 throw new WicketRuntimeException("principal == null"); 51 52 } 53 // FIXME: get date from GUI? 54 vc.setCreationDate(new Date()); 55 vcr.createVirtualCollection(principal, vc); 56 } catch (VirtualCollectionRegistryException e) { 57 // FIXME: handle error 58 e.printStackTrace(); 59 } 60 61 // proceed to response page 62 if (previousPage != null) { 63 setResponsePage(previousPage); 64 } else { 65 setResponsePage(BrowsePrivateCollectionsPage.class); 66 } 67 } 68 }; 69 add(wizard); 70 } 71 16 72 } // class CreateVirtualCollecionPage -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/webapp/css/vcr.css
r904 r933 81 81 margin: 0; 82 82 padding: 0; 83 height: 2 2px;83 height: 20px; 84 84 clear: both; 85 85 color: #000000; 86 86 background-color: #D4DEEF; 87 font-size: 14px; 87 font-size: 12px; 88 line-height: 12px; 89 vertical-align: middle; 88 90 } 89 91 … … 108 110 padding: 4px 8px; 109 111 width: auto; 110 height: 14px; 111 line-height: 14px; 112 height: 12px; 112 113 text-align: center; 113 114 text-decoration: none; … … 115 116 } 116 117 118 #menu ul li + #menu ul li { 119 border-left: 1px solid black; 120 } 121 117 122 #menu a, #menu a:active, #menu a:visited { 118 123 color: #000000; … … 133 138 padding: 4px 4px 4px 4px; 134 139 width: auto; 135 height: 16px;136 line-height: 16px;137 140 } 138 141 … … 590 593 table td.action { 591 594 width: 98px; 595 text-align: right; 592 596 } 593 597 … … 665 669 table.collectionsTable { 666 670 width: 100%; 671 margin-top: 5px; 672 } 673 674 table.collectionsTable th, 675 table.collectionsTable td { 676 vertical-align: top; 667 677 } 668 678 … … 670 680 table.collectionsTable td.title { 671 681 width: 250px; 672 vertical-align: top; 673 } 682 } 683 674 684 675 685 table.collectionsTable th.type, 676 686 table.collectionsTable td.type { 677 687 width: 85px; 678 vertical-align: top;679 688 } 680 689 681 690 table.collectionsTable th.description, 682 691 table.collectionsTable td.description { 683 width: 570px; 684 vertical-align: top; 692 width: 500px; 685 693 } 686 694 … … 688 696 table.collectionsTable td.created { 689 697 width: 95px; 690 vertical-align: top; 691 } 698 } 699 700 table.collectionsTable td.action { 701 white-space: nowrap; 702 }
Note: See TracChangeset
for help on using the changeset viewer.