/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.explorer.ui.management;
import org.activiti.explorer.ExplorerApp;
import org.activiti.explorer.I18nManager;
import org.activiti.explorer.Messages;
import org.activiti.explorer.ViewManager;
import org.activiti.explorer.ui.custom.ToolBar;
import org.activiti.explorer.ui.custom.ToolbarEntry.ToolbarCommand;
import org.activiti.explorer.ui.custom.ToolbarPopupEntry;
import org.activiti.explorer.ui.management.deployment.NewDeploymentListener;
/**
* @author Joram Barrez
*/
public class ManagementMenuBar extends ToolBar {
private static final long serialVersionUID = 1L;
public static final String ENTRY_DATABASE = "database";
public static final String ENTRY_DEPLOYMENTS = "deployments";
public static final String ENTRY_ACTIVE_PROCESS_DEFINITIONS = "activeProcessDefinitions";
public static final String ENTRY_SUSPENDED_PROCESS_DEFINITIONS = "suspendedProcessDefinitions";
public static final String ENTRY_JOBS = "jobs";
public static final String ENTRY_USERS = "users";
public static final String ENTRY_GROUPS = "groups";
public static final String ENTRY_ADMIN = "administration";
protected I18nManager i18nManager;
protected ViewManager viewManager;
public ManagementMenuBar() {
this.i18nManager = ExplorerApp.get().getI18nManager();
this.viewManager = ExplorerApp.get().getViewManager();
setWidth("100%");
initToolbarEntries();
}
protected void initToolbarEntries() {
addDatabaseToolbarEntry();
addDeploymentsToolbarEntry();
addActiveProcessDefinitionsEntry();
addSuspendedProcessDefinitionsEntry();
addJobsToolbarEntry();
addUsersToolbarEntry();
addGroupToolbarEntry();
addAdministrationToolbarEntry();
}
protected void addDatabaseToolbarEntry() {
addToolbarEntry(ENTRY_DATABASE, i18nManager.getMessage(Messages.MGMT_MENU_DATABASE), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showDatabasePage();
}
});
}
protected void addDeploymentsToolbarEntry() {
ToolbarPopupEntry deploymentEntry = addPopupEntry(ENTRY_DEPLOYMENTS, i18nManager.getMessage(Messages.MGMT_MENU_DEPLOYMENTS));
deploymentEntry.addMenuItem(i18nManager.getMessage(Messages.MGMT_MENU_DEPLOYMENTS_SHOW_ALL), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showDeploymentPage();
}
});
deploymentEntry.addMenuItem(i18nManager.getMessage(Messages.MGMT_MENU_DEPLOYMENTS_UPLOAD), new NewDeploymentListener());
}
protected void addActiveProcessDefinitionsEntry() {
addToolbarEntry(ENTRY_ACTIVE_PROCESS_DEFINITIONS,
i18nManager.getMessage(Messages.MGMT_MENU_ACTIVE_PROCESS_DEFINITIONS), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showActiveProcessDefinitionsPage();
}
});
}
protected void addSuspendedProcessDefinitionsEntry() {
addToolbarEntry(ENTRY_SUSPENDED_PROCESS_DEFINITIONS,
i18nManager.getMessage(Messages.MGMT_MENU_SUSPENDED_PROCESS_DEFINITIONS), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showSuspendedProcessDefinitionsPage();
}
});
}
protected void addJobsToolbarEntry() {
addToolbarEntry(ENTRY_JOBS, i18nManager.getMessage(Messages.MGMT_MENU_JOBS), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showJobPage();
}
});
}
protected void addUsersToolbarEntry() {
addToolbarEntry(ENTRY_USERS, i18nManager.getMessage(Messages.MGMT_MENU_USERS), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showUserPage();
}
});
}
protected void addGroupToolbarEntry() {
addToolbarEntry(ENTRY_GROUPS, i18nManager.getMessage(Messages.MGMT_MENU_GROUPS), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showGroupPage();
}
});
}
protected void addAdministrationToolbarEntry() {
addToolbarEntry(ENTRY_ADMIN, i18nManager.getMessage(Messages.MGMT_MENU_ADMINISTRATION), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showAdministrationPage();
}
});
}
}