Revision: 3467
Author: ferguson.sebastian
Date: Wed Apr 21 09:00:48 2010
Log: Added a session life cycle listener method 'sessionOpening' so that
special enterprise features can be added through an alternate main()
http://code.google.com/p/power-architect/source/detail?r=3467
Modified:
/trunk/src/main/java/ca/sqlpower/architect/enterprise/ArchitectClientSideSession.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectSwingSessionContextImpl.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/action/PasteSelectedAction.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/olap/OLAPEditSession.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/enterprise/ArchitectClientSideSession.java
Tue Apr 20 15:12:12 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/enterprise/ArchitectClientSideSession.java
Wed Apr 21 09:00:48 2010
@@ -279,6 +279,9 @@
public void
sessionClosing(SessionLifecycleEvent<ArchitectSession> e) {
SQLPowerUtils.unlistenToHierarchy(getWorkspace(), listener);
}
+
+ public void
sessionOpening(SessionLifecycleEvent<ArchitectSession> e) {
+ }
});
}
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
Wed Apr 7 14:53:55 2010
+++ /trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectFrame.java
Wed Apr 21 09:00:48 2010
@@ -818,7 +818,7 @@
menuBar.add(olapMenu);
// Enterprise stuff ...
- JMenu enterpriseMenu = new JMenu("Enterprise");
+ enterpriseMenu = new JMenu("Enterprise");
enterpriseMenu.add(openServerManagerAction);
enterpriseMenu.add(openProjectManagerAction);
openRevisionListAction.setEnabled(session.isEnterpriseSession());
@@ -900,6 +900,12 @@
return menuBar;
}
+ private JMenu enterpriseMenu;
+
+ public JMenu getEnterpriseMenu() {
+ return enterpriseMenu;
+ }
+
private JMenu buildOLAPEditMenu() {
JMenu menu = new
JMenu(Messages.getString("ArchitectFrame.editSchemaMenu")); //$NON-NLS-1$
menu.add(new JMenuItem(new OLAPEditAction(session, null)));
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectSwingSessionContextImpl.java
Tue Apr 6 11:05:39 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/ArchitectSwingSessionContextImpl.java
Wed Apr 21 09:00:48 2010
@@ -172,6 +172,10 @@
if (showGUI) {
session.initGUI();
+ if (externalLifecycleListener != null) {
+ externalLifecycleListener.sessionOpening(
+ new
SessionLifecycleEvent<ArchitectSwingSession>(session));
+ }
}
return session;
@@ -253,6 +257,11 @@
if (initGUI) {
swingSession.initGUI();
+
+ if (externalLifecycleListener != null) {
+ externalLifecycleListener.sessionOpening(
+ new
SessionLifecycleEvent<ArchitectSwingSession>(swingSession));
+ }
}
return swingSession;
@@ -329,7 +338,12 @@
if (showGUI) {
logger.debug("Creating the Architect frame..."); //$NON-NLS-1$
session.initGUI(openingSession);
-
+
+ if (externalLifecycleListener != null) {
+ externalLifecycleListener.sessionOpening(
+ new
SessionLifecycleEvent<ArchitectSwingSession>(session));
+ }
+
if (openingSession == null && getSessions().size() == 1) {
showWelcomeScreen(session.getArchitectFrame());
}
@@ -365,8 +379,21 @@
System.exit(0);
}
}
+
+ public void sessionOpening(SessionLifecycleEvent<ArchitectSession>
e) {
+ }
};
+ /**
+ * Provides a way for architect enterprise to have at the sessions as
they are
+ * created and distroyed.
+ */
+ private SessionLifecycleListener<ArchitectSwingSession>
externalLifecycleListener = null;
+
+ public void
setExternalLifecycleListener(SessionLifecycleListener<ArchitectSwingSession>
externalLifecycleListener) {
+ this.externalLifecycleListener = externalLifecycleListener;
+ }
+
/**
* Defaults to false, which is required by the interface spec.
*/
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/action/PasteSelectedAction.java
Thu Mar 4 08:08:10 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/action/PasteSelectedAction.java
Wed Apr 21 09:00:48 2010
@@ -63,6 +63,9 @@
public void
sessionClosing(SessionLifecycleEvent<ArchitectSession> e) {
session.getPlayPen().removeFocusListener(focusListener);
}
+
+ public void
sessionOpening(SessionLifecycleEvent<ArchitectSession> e) {
+ }
};
session.addSessionLifecycleListener(lifecycleListener);
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/olap/OLAPEditSession.java
Fri Mar 12 08:02:18 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/olap/OLAPEditSession.java
Wed Apr 21 09:00:48 2010
@@ -168,6 +168,9 @@
public void
sessionClosing(SessionLifecycleEvent<ArchitectSession> e) {
close();
}
+
+ public void
sessionOpening(SessionLifecycleEvent<ArchitectSession> e) {
+ }
});
//Don't initialize GUI here for cases where the Architect's frame
has not been created (like loading).
}
--
Subscription settings:
http://groups.google.com/group/architect-commits/subscribe?hl=en