提交 dad375e4 编写于 作者: J jbarrez

Added some demo data + fixed Skype relative image

上级 8d57e86c
......@@ -13,6 +13,7 @@
package org.activiti.explorer;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;
......@@ -26,8 +27,9 @@ import org.springframework.stereotype.Component;
*/
@Component
@Scope(value="session")
public class I18nManager {
public class I18nManager implements Serializable {
private static final long serialVersionUID = 1L;
protected ResourceBundle messages;
public String getMessage(String key) {
......
......@@ -13,6 +13,7 @@
package org.activiti.explorer;
import java.io.Serializable;
import java.text.MessageFormat;
import org.activiti.explorer.ui.MainWindow;
......@@ -28,8 +29,10 @@ import com.vaadin.ui.Window.Notification;
*/
@Component
@Scope(value="session")
public class NotificationManager {
public class NotificationManager implements Serializable {
private static final long serialVersionUID = 1L;
@Autowired
protected MainWindow mainWindow;
......
......@@ -13,6 +13,7 @@
package org.activiti.explorer;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
......@@ -54,8 +55,9 @@ import com.vaadin.ui.Window;
*/
@Component
@Scope(value="session")
public class ViewManager {
public class ViewManager implements Serializable {
private static final long serialVersionUID = 1L;
public static final String MAIN_NAVIGATION_TASKS = "tasks";
public static final String MAIN_NAVIGATION_FLOWS = "flows";
public static final String MAIN_NAVIGATION_MANAGE = "manage";
......@@ -82,6 +84,7 @@ public class ViewManager {
public void showDefaultContent() {
mainWindow.showDefaultContent();
showInboxPage();
}
public void showPopupWindow(Window window) {
......
......@@ -13,20 +13,15 @@
package org.activiti.explorer.demo;
import java.util.Date;
import java.util.Random;
import java.util.logging.Logger;
import org.activiti.engine.IdentityService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.TaskService;
import org.activiti.engine.identity.Group;
import org.activiti.engine.identity.Picture;
import org.activiti.engine.identity.User;
import org.activiti.engine.impl.util.ClockUtil;
import org.activiti.engine.impl.util.IoUtil;
import org.activiti.engine.impl.util.LogUtil;
import org.activiti.engine.task.Task;
/**
......@@ -57,8 +52,7 @@ public class DemoDataGenerator {
protected void initDemoData() {
initKermit(processEngine);
initRandomUsers(processEngine);
initTasks(processEngine);
initAlfrescoMembers(processEngine);
initProcessDefinitions(processEngine);
}
......@@ -128,91 +122,58 @@ public class DemoDataGenerator {
byte[] pictureBytes = IoUtil.readInputStream(this.getClass().getClassLoader().getResourceAsStream("org/activiti/explorer/images/kermit.jpg"), null);
Picture picture = new Picture(pictureBytes, "image/jpeg");
identityService.setUserPicture("kermit", picture);
// Create other muppets
createUser(identityService, "gonzo", "Gonzo", "The Great", "gonzo", "gonzo@muppets.con", null);
createUser(identityService, "fozzie", "Fozzie", "Bear", "fozzie", "fozzie@muppets.com", "org/activiti/explorer/images/fozzie.jpg");
}
protected void initRandomUsers(ProcessEngine processEngine) {
protected void initAlfrescoMembers(ProcessEngine processEngine) {
IdentityService identityService = processEngine.getIdentityService();
User gonzo = identityService.newUser("gonzo");
gonzo.setEmail("gonzo@muppets.com");
gonzo.setFirstName("gonzo");
gonzo.setLastName("");
gonzo.setPassword("gonzo");
identityService.saveUser(gonzo);
User fozzie = identityService.newUser("fozzie");
fozzie.setEmail("fozzie@muppets.com");
fozzie.setFirstName("fozzie");
fozzie.setLastName("Bear");
fozzie.setPassword("fozzie");
identityService.saveUser(fozzie);
identityService.createMembership("fozzie", "management");
identityService.createMembership("fozzie", "user");
byte[] pictureBytes = IoUtil.readInputStream(this.getClass().getClassLoader().getResourceAsStream("org/activiti/explorer/images/fozzie.jpg"), null);
Picture picture = new Picture(pictureBytes, "image/jpeg");
identityService.setUserPicture("fozzie", picture);
createUser(identityService, "mkiekeboe", "Marcel", "Kiekeboe");
createUser(identityService, "kkiekeboe", "Konstantinopel", "Kiekeboe");
createUser(identityService, "moemoekiekeboe", "Moemoe", "Kiekeboe");
createUser(identityService, "fkiekeboe", "Fanny", "Kiekeboe");
createUser(identityService, "joram", "Joram", "Barrez", "joram", "joram.barrez@alfresco.com", "org/activiti/explorer/images/joram.jpg");
createUser(identityService, "frederik", "Frederik", "Heremans", "frederik", "pluisje@alfresco.com", "org/activiti/explorer/images/fred.jpg");
createUser(identityService, "tom", "Tom", "Baeyens", "tom", "tom@alfresco.com", "org/activiti/explorer/images/tom.jpg");
createUser(identityService, "tijs", "Tijs", "Rademakers", "tijs", "tijs.rademakers@alfresco.com", "org/activiti/explorer/images/tijs.jpg");
createUser(identityService, "linton", "Linton", "Baddeley", "linton", "linton.baddeley@alfresco.com", "org/activiti/explorer/images/linton.jpg");
createUser(identityService, "david", "David", "Caruana", "david", "david.caruana@alfresco.com", "org/activiti/explorer/images/david.jpg");
createUser(identityService, "gavin", "Gavin", "Cornwell", "gavin", "gavin.cornwell@alfresco.com", "org/activiti/explorer/images/gavin.jpg");
createUser(identityService, "johnN", "John", "Newton", "johnN", "john.newton@alfresco.com", "org/activiti/explorer/images/john_newton.jpg");
createUser(identityService, "johnP", "John", "Powell", "johnP", "john.powell@alfresco.com", "org/activiti/explorer/images/john_powell.jpg");
createUser(identityService, "paul", "Paul", "Holmes-Higgin", "paul", "paulhh@alfresco.com", "org/activiti/explorer/images/paul.jpg");
createUser(identityService, "julie", "Julie", "Hall", "julie", "julie.hall@alfresco.com", "org/activiti/explorer/images/julie.jpg");
createUser(identityService, "erik", "Erik", "Winlof", "erik", "erik.witloof@alfresco.com", "org/activiti/explorer/images/erik.jpg");
// Additional info
identityService.setUserInfo("joram", "birthDate", "10-10-1985");
identityService.setUserInfo("joram", "jobTitle", "Activiti core developer");
identityService.setUserInfo("joram", "location", "Welle, Belgium");
identityService.setUserInfo("joram", "phone", "+32485869655");
identityService.setUserInfo("joram", "twitterName", "jbarrez");
identityService.setUserInfo("joram", "skype", "joram.barrez");
}
protected void createUser(IdentityService identityService, String userId, String firstName, String lastName) {
protected void createUser(IdentityService identityService, String userId, String firstName, String lastName,
String password, String email, String imageResource) {
User user = identityService.newUser(userId);
user.setFirstName(firstName);
user.setLastName(lastName);
user.setPassword(password);
user.setEmail(email);
identityService.saveUser(user);
}
protected void initTasks(ProcessEngine processEngine) {
TaskService taskService = processEngine.getTaskService();
for (int i=0; i<50; i++) {
Task task = taskService.newTask();
task.setDescription("This is task nr " + i + ", please do it asap!");
task.setName("Task [" + i + "]");
task.setPriority(Task.PRIORITY_NORMAL);
task.setDueDate(new Date(new Date().getTime() + new Random().nextInt()));
if (i%3==0) {
task.setOwner("fozzie");
}
if (i%5 == 0) {
task.setPriority(99);
}
if (new Random().nextInt(10) < 4) {
task.setAssignee("kermit");
}
ClockUtil.setCurrentTime(new Date(new Date().getTime() - new Random().nextInt()));
taskService.saveTask(task);
ClockUtil.reset();
task = taskService.createTaskQuery().taskId(task.getId()).singleResult();
if (i%4==0) {
taskService.addCandidateGroup(task.getId(), "management");
taskService.addCandidateGroup(task.getId(), "sales");
task.setName(task.getName() + " - for managers and salesdudes");
taskService.saveTask(task);
}
if (i%5==0 || i%6==0) {
taskService.addCandidateGroup(task.getId(), "engineering");
task.setName(task.getName() + " - for the tech people");
taskService.saveTask(task);
}
if (i%7==0) {
taskService.addCandidateGroup(task.getId(), "marketing");
task.setName(task.getName() + " - for marketeers");
taskService.saveTask(task);
}
if (imageResource != null) {
byte[] pictureBytes = IoUtil.readInputStream(this.getClass().getClassLoader().getResourceAsStream(imageResource), null);
Picture picture = new Picture(pictureBytes, "image/jpeg");
identityService.setUserPicture(userId, picture);
}
identityService.createMembership(userId, "management");
identityService.createMembership(userId, "sales");
identityService.createMembership(userId, "marketing");
identityService.createMembership(userId, "engineering");
identityService.createMembership(userId, "user");
identityService.createMembership(userId, "admin");
}
protected void initProcessDefinitions(ProcessEngine processEngine) {
......
......@@ -38,21 +38,24 @@ public class NavigationFragmentChangeListener implements FragmentChangedListener
public void fragmentChanged(FragmentChangedEvent source) {
String fragment = source.getUriFragmentUtility().getFragment();
UriFragment uriFragment = new UriFragment(fragment);
// Find appropriate handler based on the first part of the URI
Navigator navigationHandler = null;
if(uriFragment.getUriParts() != null && uriFragment.getUriParts().size() > 0) {
navigationHandler = navigatorManager.getNavigator(uriFragment.getUriParts().get(0));
}
if(navigationHandler == null) {
navigationHandler = navigatorManager.getDefaultNavigator();
if (fragment != null && !"".equals(fragment)) {
UriFragment uriFragment = new UriFragment(fragment);
// Find appropriate handler based on the first part of the URI
Navigator navigationHandler = null;
if(uriFragment.getUriParts() != null && uriFragment.getUriParts().size() > 0) {
navigationHandler = navigatorManager.getNavigator(uriFragment.getUriParts().get(0));
}
if(navigationHandler == null) {
navigationHandler = navigatorManager.getDefaultNavigator();
}
// Delegate navigation to handler
navigationHandler.handleNavigation(uriFragment);
}
// Delegate navigation to handler
navigationHandler.handleNavigation(uriFragment);
}
}
......@@ -13,6 +13,7 @@
package org.activiti.explorer.navigation;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
......@@ -24,8 +25,9 @@ import org.springframework.stereotype.Component;
* @author Joram Barrez
*/
@Component
public class NavigatorManager implements InitializingBean {
public class NavigatorManager implements InitializingBean, Serializable {
private static final long serialVersionUID = 1L;
protected Map<String, Navigator> navigationHandlers = new HashMap<String, Navigator>();
protected Navigator defaultHandler;
......
......@@ -176,7 +176,7 @@ public class MainMenuBar extends HorizontalLayout {
private class ShowTasksClickListener implements ClickListener {
public void buttonClick(ClickEvent event) {
ExplorerApp.get().getViewManager().showInboxPage();
ExplorerApp.get().getViewManager().showCasesPage();
}
}
......
......@@ -13,6 +13,7 @@
package org.activiti.explorer.ui.content;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
......@@ -34,8 +35,9 @@ import org.springframework.stereotype.Component;
* @author Joram Barrez
*/
@Component
public class AttachmentRendererManager implements InitializingBean {
public class AttachmentRendererManager implements InitializingBean, Serializable {
private static final long serialVersionUID = 1L;
private final List<AttachmentRenderer> renderers = new ArrayList<AttachmentRenderer>();
private final List<AttachmentEditor> editors = new ArrayList<AttachmentEditor>();
......
......@@ -13,7 +13,19 @@
package org.activiti.explorer.ui.custom;
import java.awt.Image;
import org.activiti.explorer.ui.ExplorerLayout;
import org.activiti.explorer.ui.Images;
import com.vaadin.event.MouseEvents.ClickEvent;
import com.vaadin.terminal.ExternalResource;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.Embedded;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Link;
/**
......@@ -21,7 +33,7 @@ import com.vaadin.ui.Label;
*
* @author Joram Barrez
*/
public class SkypeLabel extends Label {
public class SkypeLabel extends CustomComponent {
private static final long serialVersionUID = 1L;
......@@ -29,11 +41,16 @@ public class SkypeLabel extends Label {
* Constructs a {@link SkypeLabel} based on the given Skype id
*/
public SkypeLabel(String skypeId) {
super("<script type='text/javascript' " +
"src='http://download.skype.com/share/skypebuttons/js/skypeCheck.js'></script>" +
"<a href='skype:" + skypeId + "?call'>" +
"<img src='VAADIN/themes/activiti/img/skype.png' style='border: none;' /></a>",
Label.CONTENT_XHTML);
CssLayout layout = new CssLayout();
setCompositionRoot(layout);
Label label = new Label("<script type='text/javascript' src='http://download.skype.com/share/skypebuttons/js/skypeCheck.js'></script>", Label.CONTENT_XHTML);
layout.addComponent(label);
Link link = new Link(null, new ExternalResource("skype:" + skypeId + "?call"));
link.setIcon(Images.SKYPE);
layout.addComponent(link);
setWidth(16, UNITS_PIXELS);
setHeight(16, UNITS_PIXELS);
}
......
......@@ -13,6 +13,7 @@
package org.activiti.explorer.ui.form;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -28,8 +29,9 @@ import org.activiti.engine.form.FormType;
* Note: NOT configured by @Component, but in Spring XML config, to make it
* easy for users to extends with custom renderers.
*/
public class FormPropertyRendererManager {
public class FormPropertyRendererManager implements Serializable {
private static final long serialVersionUID = 1L;
protected Map<Class<? extends FormType>, FormPropertyRenderer> propertyRenderers = new HashMap<Class<? extends FormType>, FormPropertyRenderer>();
protected FormPropertyRenderer noTypePropertyRenderer;
......
......@@ -384,8 +384,7 @@ public class ProfilePanel extends Panel {
skypeIdLabel.setSizeUndefined();
skypeLayout.addComponent(skypeIdLabel);
Label skypeImage = new SkypeLabel(skypeId);
skypeImage.setSizeUndefined();
Component skypeImage = new SkypeLabel(skypeId);
skypeLayout.addComponent(skypeImage);
addProfileEntry(contactLayout, i18nManager.getMessage(Messages.PROFILE_SKYPE), skypeLayout);
......
......@@ -72,6 +72,15 @@ public class TaskMenuBar extends ToolBar {
// TODO: the counts should be done later by eg a Refresher component
// Inbox
long inboxCount = new InboxListQuery().size();
ToolbarEntry inboxEntry = addToolbarEntry(ENTRY_INBOX, i18nManager.getMessage(Messages.TASK_MENU_INBOX), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showInboxPage();
}
});
inboxEntry.setCount(inboxCount);
// Cases
LoggedInUser user = ExplorerApp.get().getLoggedInUser();
long casesCount = new CasesListQuery().size();
......@@ -82,15 +91,6 @@ public class TaskMenuBar extends ToolBar {
});
casesEntry.setCount(casesCount);
// Inbox
long inboxCount = new InboxListQuery().size();
ToolbarEntry inboxEntry = addToolbarEntry(ENTRY_INBOX, i18nManager.getMessage(Messages.TASK_MENU_INBOX), new ToolbarCommand() {
public void toolBarItemSelected() {
viewManager.showInboxPage();
}
});
inboxEntry.setCount(inboxCount);
// Queued
List<Group> groups = identityService.createGroupQuery().groupMember(user.getId()).list();
ToolbarPopupEntry queuedItem = addPopupEntry(ENTRY_QUEUED, (i18nManager.getMessage(Messages.TASK_MENU_QUEUED)));
......
......@@ -85,7 +85,7 @@ case.new = New Case
case.name.required = A name is required for a new case
# Task menu
task.menu.cases = Cases
task.menu.cases = My Cases
task.menu.inbox = Inbox
task.menu.queued = Queued
task.menu.involved = Involved
......
......@@ -44,7 +44,7 @@
<property name="jobExecutorActivate" value="true" />
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean" destroy-method="destroy">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册