1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.portlets.layout;
18
19 import org.apache.jetspeed.om.page.Fragment;
20 import org.apache.jetspeed.om.page.Page;
21 import org.apache.jetspeed.page.PageManager;
22
23 public class PageManagerLayoutEventListener implements LayoutEventListener
24 {
25 private final PageManager pageManager;
26 private final Page page;
27
28 public PageManagerLayoutEventListener(PageManager pageManager, Page page, String layoutType)
29 {
30 this.pageManager = pageManager;
31 this.page = page;
32 }
33
34 public void handleEvent(LayoutEvent event) throws LayoutEventException
35 {
36 try
37 {
38 if(event.getEventType() == LayoutEvent.ADDED)
39 {
40 page.getRootFragment().getFragments().add(event.getFragment());
41 pageManager.updatePage(page);
42 }
43 else
44 {
45 Fragment fragment = event.getFragment();
46 LayoutCoordinate coordinate = event.getNewCoordinate();
47 fragment.getProperties().put(Fragment.COLUMN_PROPERTY_NAME, String.valueOf(coordinate.getX()));
48 fragment.getProperties().put(Fragment.ROW_PROPERTY_NAME, String.valueOf(coordinate.getY()));
49 pageManager.updatePage(page);
50 }
51 }
52 catch (Exception e)
53 {
54 throw new LayoutEventException("Unable to update page.", e);
55 }
56 }
57
58 }