Added access to congif page from service page

This commit is contained in:
Ziver Koc 2015-08-04 12:59:24 +00:00
parent e63a4cc086
commit 78cb41a39c
3 changed files with 36 additions and 15 deletions

View file

@ -50,11 +50,13 @@ public class ServicePage implements WAPage {
private ServiceStatusPage rootStatusPage;
private ArrayList<WAService> services;
private ArrayList<ServiceStatusPage> statusPages;
private ArrayList<ConfigPage> configPages;
public ServicePage(PluginManager pluginManager){
this.services = pluginManager.toArray(WAService.class);
this.rootStatusPage = new ServiceStatusPage(pluginManager);
this.statusPages = new ArrayList<>();
this.configPages = new ArrayList<>();
WANavigation nav = WANavigation.createRootNav(NAVIGATION_NAME);
nav.setResource(this);
@ -64,8 +66,10 @@ public class ServicePage implements WAPage {
WANavigation serviceNav = nav.createSubNav(plugin.getName());
serviceNav.setResource(plugin);
for(WAServiceConfig conf : plugin.getConfigurations()){
ConfigPage page = new ConfigPage(conf);
configPages.add(page);
serviceNav.createSubNav(conf.getName())
.setResource(new ConfigPage(conf));
.setResource(page);
}
}
}
@ -79,15 +83,20 @@ public class ServicePage implements WAPage {
Map<String, String> request) {
try {
int index = services.indexOf(context.getBreadcrumb().get(1).getResource());
if (index >= 0) {
Object resource = context.getBreadcrumb().get(context.getBreadcrumb().size()-1).getResource();
int index;
if((index = configPages.indexOf(resource)) >= 0){
return configPages.get(index).htmlResponse(context, client_info, session, cookie, request);
}
else if ((index = services.indexOf(resource)) >= 0) {
WAService obj = services.get(index);
ServiceStatusPage statusPage = statusPages.get(index);
Templator tmpl = new Templator(FileUtil.find(TMPL_FILE));
tmpl.set("service_status",
statusPage.htmlResponse(context, client_info, session, cookie, request).compile());
//tmpl.set("service_logs",
// statusPage.htmlResponse(context, client_info, session, cookie, request).compile());
return tmpl;
}
else{ // root page

View file

@ -39,9 +39,7 @@ public class ApacheService implements WAService {
private ApacheStatus status;
private ApacheInstaller installer;
private WAServiceConfig[] config = new WAServiceConfig[]{
new ApacheConfigVirtualHost()
};
private WAServiceConfig[] config;
@Override
public String getName() {
@ -64,6 +62,10 @@ public class ApacheService implements WAService {
@Override
public WAServiceConfig[] getConfigurations() {
if(config == null)
config = new WAServiceConfig[]{
new ApacheConfigVirtualHost()
};
return config;
}
}