Skelett till sidstruktur och sortering i filvy och filväljare implementerad
git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@232 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
parent
cf7fd26cfe
commit
8817d6dde3
@ -3,14 +3,16 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<head>
|
||||
<title>LegUp: Wicket Spring JPA 2.0</title>
|
||||
<title>This will be the projects home page</title>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<strong><a href="http://jweekend.com/dev/LegUp">LegUp</a>: <a href="http://wicket.apache.org/">Wicket</a> <a href="http://www.springsource.org/">Spring</a> JPA 2.0</strong>
|
||||
<br/><br/>
|
||||
<a wicket:id="event">Event Page</a>
|
||||
</div>
|
||||
<wicket:extend>
|
||||
<div style="width:800px;border:1px solid red;">
|
||||
<p>
|
||||
This is the homepage
|
||||
</p>
|
||||
</div>
|
||||
</wicket:extend>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
@ -1,32 +1,24 @@
|
||||
package se.su.dsv.scipro;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.markup.html.WebPage;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
|
||||
import se.su.dsv.scipro.basepages.BasePage;
|
||||
import se.su.dsv.scipro.basepages.MenuPage;
|
||||
import se.su.dsv.scipro.basepages.PublicPage;
|
||||
import se.su.dsv.scipro.pages.EventPage;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.loginlogout.pages.LoginPage;
|
||||
|
||||
/**
|
||||
* @author Martin Peters - mpeters@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class HomePage extends PublicPage {
|
||||
public class HomePage extends MenuPage {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Constructor that is invoked when page is invoked without a em.
|
||||
*
|
||||
* @param parameters
|
||||
* Page parameters
|
||||
*/
|
||||
public HomePage(final PageParameters parameters) {
|
||||
|
||||
// Add the simplest type of label
|
||||
add(new BookmarkablePageLink<Void>("event", EventPage.class));
|
||||
|
||||
//add(new BookmarkablePageLink<Void>("loginLink", LoginPage.class));
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,8 @@
|
||||
package se.su.dsv.scipro;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.wicket.Page;
|
||||
@ -11,10 +14,10 @@ import org.apache.wicket.authorization.strategies.CompoundAuthorizationStrategy;
|
||||
import org.apache.wicket.request.target.coding.HybridUrlCodingStrategy;
|
||||
import org.odlabs.wiquery.ui.themes.IThemableApplication;
|
||||
|
||||
import se.su.dsv.scipro.basepages.SystemSettingsPage;
|
||||
import se.su.dsv.scipro.loginlogout.pages.LoginPage;
|
||||
import se.su.dsv.scipro.loginlogout.pages.LogoutPage;
|
||||
import se.su.dsv.scipro.pages.EventPage;
|
||||
import se.su.dsv.scipro.pages.ProjectPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectPage;
|
||||
import se.su.dsv.scipro.repository.RepositoryApplication;
|
||||
import se.su.dsv.scipro.repository.pages.ProjectFilePage;
|
||||
import se.su.dsv.scipro.repository.pages.SysAdminFilePage;
|
||||
@ -23,6 +26,7 @@ import se.su.dsv.scipro.security.auth.ComponentSecurityLogger;
|
||||
import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
|
||||
import se.su.dsv.scipro.security.auth.RoleBasedAuthorizationStrategy;
|
||||
import se.su.dsv.scipro.wiquery.themes.ThemeResourceReference;
|
||||
//import se.su.dsv.scipro.workerthreads.TestWorker;
|
||||
|
||||
/**
|
||||
* Application object for your web application. If you want to run this application without deploying, run the Start class.
|
||||
@ -41,6 +45,8 @@ public class SciProApplication extends RepositoryApplication implements IThemabl
|
||||
private final String jaasPath = "/WEB-INF/classes/jaas.conf";
|
||||
private final String krb5Path = "/WEB-INF/classes/kerb5.conf";
|
||||
|
||||
//private Set<TestWorker> workers = new HashSet<TestWorker>();
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@ -61,12 +67,12 @@ public class SciProApplication extends RepositoryApplication implements IThemabl
|
||||
getMarkupSettings().setDefaultMarkupEncoding("UTF-8");
|
||||
getRequestCycleSettings().setResponseRequestEncoding("UTF-8");
|
||||
|
||||
mountBookmarkablePage("event", EventPage.class);
|
||||
mountBookmarkablePage("adminfiles", SysAdminFilePage.class);
|
||||
mountBookmarkablePage("projectfiles", ProjectFilePage.class);
|
||||
mountBookmarkablePage("admin/files", SysAdminFilePage.class);
|
||||
mountBookmarkablePage("project/files", ProjectFilePage.class);
|
||||
mountBookmarkablePage("login", LoginPage.class);
|
||||
mountBookmarkablePage("logout", LogoutPage.class);
|
||||
mountBookmarkablePage("pp", ProjectPage.class);
|
||||
mountBookmarkablePage("project", ProjectPage.class);
|
||||
mountBookmarkablePage("admin/settings/", SystemSettingsPage.class);
|
||||
|
||||
mount(new HybridUrlCodingStrategy("schedule", SchedulePage.class));
|
||||
|
||||
@ -80,6 +86,16 @@ public class SciProApplication extends RepositoryApplication implements IThemabl
|
||||
//getResourceSettings().setThrowExceptionOnMissingResource(false);
|
||||
getResourceSettings().addStringResourceLoader(new JpaStringResourceLoader());
|
||||
getSecuritySettings().setUnauthorizedComponentInstantiationListener(new ComponentSecurityLogger());
|
||||
|
||||
/*
|
||||
for(int i=0;i<5;i++){
|
||||
TestWorker t = new TestWorker();
|
||||
t.setName("T"+i);
|
||||
workers.add(t);
|
||||
}
|
||||
for(TestWorker t : workers)
|
||||
t.start();
|
||||
*/
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@ -99,6 +115,15 @@ public class SciProApplication extends RepositoryApplication implements IThemabl
|
||||
System.setProperty("java.security.krb5.conf", krb5RealPath);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
/*
|
||||
for(TestWorker t : workers)
|
||||
t.stopWorking();
|
||||
*/
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.wicket.Application#getHomePage()
|
||||
|
@ -27,6 +27,7 @@ public abstract class BasePage extends WebPage {
|
||||
public final static String CSS_SUFFIX = ".css";
|
||||
|
||||
protected void setCss(String css){
|
||||
/* Solution below is quite inflexible to say the least
|
||||
String languageCode = "";
|
||||
if(getLocale().getLanguage().equalsIgnoreCase("sv"))
|
||||
languageCode = "sv";
|
||||
@ -34,6 +35,7 @@ public abstract class BasePage extends WebPage {
|
||||
languageCode = "en";
|
||||
|
||||
add(CSSPackageResource.getHeaderContribution("styles/" + languageCode + CSS_SUFFIX));
|
||||
*/
|
||||
//add(CSSPackageResource.getHeaderContribution("styles/" + GLOBAL_CSS + CSS_SUFFIX));
|
||||
add(CSSPackageResource.getHeaderContribution("styles/" + css + CSS_SUFFIX));
|
||||
}
|
||||
|
@ -1,5 +1,3 @@
|
||||
|
||||
submit: Submit
|
||||
|
||||
palette.available: Available
|
||||
palette.selected: Selected
|
@ -1,5 +1,3 @@
|
||||
|
||||
submit: Skicka
|
||||
|
||||
palette.available: Valbara
|
||||
palette.selected: Valda
|
13
src/main/java/se/su/dsv/scipro/basepages/MenuPage.html
Normal file
13
src/main/java/se/su/dsv/scipro/basepages/MenuPage.html
Normal file
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:extend>
|
||||
<div wicket:id="headerPanel"></div>
|
||||
<div wicket:id="topRight"></div>
|
||||
<div wicket:id="mainMenu"></div>
|
||||
<wicket:child />
|
||||
</wicket:extend>
|
||||
</body>
|
||||
</html>
|
37
src/main/java/se/su/dsv/scipro/basepages/MenuPage.java
Normal file
37
src/main/java/se/su/dsv/scipro/basepages/MenuPage.java
Normal file
@ -0,0 +1,37 @@
|
||||
package se.su.dsv.scipro.basepages;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
|
||||
import se.su.dsv.scipro.basepanels.HeaderPanel;
|
||||
import se.su.dsv.scipro.basepanels.MainMenu;
|
||||
import se.su.dsv.scipro.basepanels.TopRightPanel;
|
||||
/**
|
||||
*
|
||||
* @author Martin Peters - mpeters@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public abstract class MenuPage extends BasePage {
|
||||
|
||||
private MainMenu mainMenu;
|
||||
|
||||
public MenuPage(){
|
||||
super();
|
||||
setUp();
|
||||
}
|
||||
|
||||
public MenuPage(PageParameters pp){
|
||||
super(pp);
|
||||
setUp();
|
||||
}
|
||||
|
||||
private void setUp(){
|
||||
|
||||
mainMenu = new MainMenu("mainMenu", this.getClass());
|
||||
add(mainMenu);
|
||||
|
||||
add(new HeaderPanel("headerPanel"));
|
||||
add(new TopRightPanel("topRight"));
|
||||
|
||||
}
|
||||
|
||||
}
|
7
src/main/java/se/su/dsv/scipro/basepages/PopupPage.html
Normal file
7
src/main/java/se/su/dsv/scipro/basepages/PopupPage.html
Normal file
@ -0,0 +1,7 @@
|
||||
<html>
|
||||
<body>
|
||||
<wicket:extend>
|
||||
<wicket:child />
|
||||
</wicket:extend>
|
||||
</body>
|
||||
</html>
|
9
src/main/java/se/su/dsv/scipro/basepages/PopupPage.java
Normal file
9
src/main/java/se/su/dsv/scipro/basepages/PopupPage.java
Normal file
@ -0,0 +1,9 @@
|
||||
package se.su.dsv.scipro.basepages;
|
||||
|
||||
public abstract class PopupPage extends BasePage {
|
||||
|
||||
public PopupPage(){
|
||||
setCss(POPUP_CSS);
|
||||
}
|
||||
|
||||
}
|
8
src/main/java/se/su/dsv/scipro/basepages/PublicPage.html
Normal file
8
src/main/java/se/su/dsv/scipro/basepages/PublicPage.html
Normal file
@ -0,0 +1,8 @@
|
||||
<html>
|
||||
<body>
|
||||
<wicket:extend>
|
||||
<div id="publicPageHeader"></div>
|
||||
<wicket:child />
|
||||
</wicket:extend>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:extend>
|
||||
<p>System settings here</p>
|
||||
<p>
|
||||
<a href=# wicket:id="adminlink">Administrate file repository</a>
|
||||
</p>
|
||||
</wicket:extend>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,26 @@
|
||||
package se.su.dsv.scipro.basepages;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
|
||||
import se.su.dsv.scipro.repository.pages.SysAdminFilePage;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
|
||||
@Authorization(authorizedRoles={Roles.SYSADMIN})
|
||||
public class SystemSettingsPage extends MenuPage {
|
||||
|
||||
public SystemSettingsPage() {
|
||||
super();
|
||||
init();
|
||||
}
|
||||
|
||||
public SystemSettingsPage(PageParameters pp){
|
||||
super(pp);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init(){
|
||||
add(SysAdminFilePage.getBookmarkablePageLink("adminlink"));
|
||||
}
|
||||
|
||||
}
|
14
src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.html
Normal file
14
src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.html
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"
|
||||
>
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div style="width:600px;height:40px;border:1px solid purple;">
|
||||
<a href=# wicket:id="homeLink"><span style="font-size:3em;color:solid purple;">SciPro</span></a>
|
||||
</div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
22
src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.java
Normal file
22
src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.java
Normal file
@ -0,0 +1,22 @@
|
||||
package se.su.dsv.scipro.basepanels;
|
||||
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
|
||||
import se.su.dsv.scipro.SciProApplication;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Martin Peters - mpeters@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class HeaderPanel extends Panel {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public HeaderPanel(String id) {
|
||||
super(id);
|
||||
add(new BookmarkablePageLink<Void>("homeLink", SciProApplication.get().getHomePage()));
|
||||
}
|
||||
|
||||
}
|
16
src/main/java/se/su/dsv/scipro/basepanels/MainMenu.html
Normal file
16
src/main/java/se/su/dsv/scipro/basepanels/MainMenu.html
Normal file
@ -0,0 +1,16 @@
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"
|
||||
>
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div style="width:600px;border:1px solid green;">
|
||||
|
||||
<p>Main menu:</p><a href=# wicket:id="homePage">[Home]</a><a href=# wicket:id="projectTestPage">[ProjectTestPage]</a>
|
||||
|
||||
</div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
37
src/main/java/se/su/dsv/scipro/basepanels/MainMenu.java
Normal file
37
src/main/java/se/su/dsv/scipro/basepanels/MainMenu.java
Normal file
@ -0,0 +1,37 @@
|
||||
package se.su.dsv.scipro.basepanels;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
|
||||
import se.su.dsv.scipro.SciProApplication;
|
||||
import se.su.dsv.scipro.project.pages.ProjectPage;
|
||||
/**
|
||||
*
|
||||
* @author Martin Peters - mpeters@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class MainMenu extends Panel {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public MainMenu(String id, Class<? extends Page> containerClass) {
|
||||
super(id);
|
||||
|
||||
add(getMenuLink("homePage", SciProApplication.get().getHomePage(), containerClass));
|
||||
add(getMenuLink("projectTestPage", ProjectPage.class, containerClass));
|
||||
}
|
||||
|
||||
private BookmarkablePageLink<Void> getMenuLink(String id, Class<? extends Page> targetPageClass, Class<? extends Page> containerClass){
|
||||
BookmarkablePageLink<Void> result = new BookmarkablePageLink<Void>(id, targetPageClass);
|
||||
if(containerClass == targetPageClass){
|
||||
result.setEnabled(false);
|
||||
/* TODO:
|
||||
* Here links are disabled if they're pointing to the current page class, might be
|
||||
* a better option to give them som highlighting with css or similar
|
||||
*/
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
16
src/main/java/se/su/dsv/scipro/basepanels/TopRightPanel.html
Normal file
16
src/main/java/se/su/dsv/scipro/basepanels/TopRightPanel.html
Normal file
@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"
|
||||
>
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div style="width:200px;border:1px solid blue;">
|
||||
|
||||
<p>Logged in as: <span wicket:id="loggedInAs"></span> <a href=# wicket:id="logoutLink">Logout</a></p>
|
||||
<p><a href=# wicket:id="systemSettingsLink">System settings</a></p>
|
||||
|
||||
</div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
31
src/main/java/se/su/dsv/scipro/basepanels/TopRightPanel.java
Normal file
31
src/main/java/se/su/dsv/scipro/basepanels/TopRightPanel.java
Normal file
@ -0,0 +1,31 @@
|
||||
package se.su.dsv.scipro.basepanels;
|
||||
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.basepages.SystemSettingsPage;
|
||||
import se.su.dsv.scipro.loginlogout.pages.LogoutPage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Martin Peters - mpeters@dsv.su.se
|
||||
*
|
||||
*/
|
||||
public class TopRightPanel extends org.apache.wicket.markup.html.panel.Panel {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public TopRightPanel(String id) {
|
||||
super(id);
|
||||
|
||||
add(new Label("loggedInAs", SciProSession.get().getUser() != null ? SciProSession.get().getUser().toString() : "ERROR: NO USER!"));
|
||||
add(new BookmarkablePageLink<Void>("logoutLink", LogoutPage.class));
|
||||
|
||||
/*
|
||||
* Because of the annotation to the SystemSettingsPage class this link won't be visible for users without sysadmin role
|
||||
*/
|
||||
add(new BookmarkablePageLink<Void>("systemSettingsLink", SystemSettingsPage.class));
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user