Changeset 5559 for VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/MenuItem.java
- Timestamp:
- 08/18/14 14:22:07 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/MenuItem.java
r927 r5559 1 1 package eu.clarin.cmdi.virtualcollectionregistry.gui.pages; 2 2 3 import eu.clarin.cmdi.virtualcollectionregistry.gui.Application; 4 import org.apache.wicket.AttributeModifier; 3 5 import org.apache.wicket.authorization.IAuthorizationStrategy; 4 6 import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction; 5 import org.apache.wicket.markup.ComponentTag;6 7 import org.apache.wicket.markup.html.WebPage; 7 8 import org.apache.wicket.markup.html.basic.Label; … … 9 10 import org.apache.wicket.markup.html.link.Link; 10 11 import org.apache.wicket.markup.html.panel.Panel; 12 import org.apache.wicket.model.AbstractReadOnlyModel; 11 13 import org.apache.wicket.model.IModel; 14 import org.apache.wicket.model.Model; 12 15 import org.apache.wicket.util.lang.Classes; 13 14 import eu.clarin.cmdi.virtualcollectionregistry.gui.Application;15 16 16 17 @SuppressWarnings("serial") 17 18 public class MenuItem<T extends WebPage> extends Panel { 19 18 20 private static final String ENABLE = "ENABLE"; 19 21 private final String pageClassName; … … 22 24 super("menuitem"); 23 25 this.pageClassName = pageClass.getName(); 24 setRenderBodyOnly(true); 25 final Link<T> link = new BookmarkablePageLink<T>("link", pageClass) { 26 final Link<T> link = new BookmarkablePageLink<T>("link", pageClass) 27 .setAutoEnable(false); 28 link.add(new Label("title", title).setRenderBodyOnly(true)); 29 add(link); 30 31 add(new AttributeModifier("class", true, new AbstractReadOnlyModel<String>() { 26 32 @Override 27 protected void onComponentTag(ComponentTag tag) { 28 super.onComponentTag(tag); 29 if (linksTo(getPage())) { 30 tag.setName("span"); 31 tag.getAttributes().remove("href"); 32 tag.getAttributes().put("class", "active"); 33 public String getObject() { 34 if (pageClass.equals(getPage().getClass())) { 35 return "active"; 36 } else { 37 return null; 33 38 } 34 39 } 35 }; 36 link.add(new Label("title", title).setRenderBodyOnly(true)); 37 add(link); 40 })); 38 41 } 39 42 40 43 @Override 41 44 protected void onBeforeRender() { 42 final IAuthorizationStrategy strategy =43 getApplication().getSecuritySettings()45 final IAuthorizationStrategy strategy 46 = getApplication().getSecuritySettings() 44 47 .getAuthorizationStrategy(); 45 48 final Class<T> pageClass = getPageClass(); 46 49 if (!strategy.isInstantiationAuthorized(pageClass)) { 47 50 boolean visible = true; 48 AuthorizeAction action =49 pageClass.getAnnotation(AuthorizeAction.class);51 AuthorizeAction action 52 = pageClass.getAnnotation(AuthorizeAction.class); 50 53 if ((action != null) && ENABLE.equalsIgnoreCase(action.action())) { 51 54 final Application app = (Application) getApplication();
Note: See TracChangeset
for help on using the changeset viewer.