Guix-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 96 discussions
r1581 - trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt
by kmorin@users.nuiton.org 26 Aug '09
by kmorin@users.nuiton.org 26 Aug '09
26 Aug '09
Author: kmorin
Date: 2009-08-26 10:26:37 +0200 (Wed, 26 Aug 2009)
New Revision: 1581
Modified:
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CellHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RowHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TableHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ToggleButtonHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java
Log:
Reupgrade gwt version to 1.7.0 for better binding
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CellHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CellHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CellHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -75,10 +75,10 @@
else if (attr.getName().equals("ipady")) {
ipady = Integer.valueOf(attr.getValue());
}
- else if (attr.getName().equals("halign")) {
+ else if (attr.getName().equals("horizontalAlignment")) {
horizontalAlignment = getHalign(attr.getValue());
}
- else if (attr.getName().equals("valign")) {
+ else if (attr.getName().equals("verticalAlignment")) {
verticalAlignment = getValign(attr.getValue());
}
else if (attr.getName().equals("fill")) {
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -1,7 +1,7 @@
package org.nuiton.guix.tags.gwt;
-import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.event.logical.shared.ValueChangeHandler;
/**
* Handles the ChackBox tag
@@ -22,6 +22,7 @@
@Override
protected void configureProxyEventInfo() {
super.configureProxyEventInfo();
- addProxyEventInfo("isChecked", ClickListener.class);
+ addProxyEventInfo("isChecked", ValueChangeHandler.class);
+ addProxyEventInfo("getValue", ValueChangeHandler.class);
}
}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -1,6 +1,6 @@
package org.nuiton.guix.tags.gwt;
-import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.event.dom.client.ChangeHandler;
/**
* Handles the combobox tag
@@ -21,6 +21,6 @@
@Override
protected void configureProxyEventInfo() {
super.configureProxyEventInfo();
- addProxyEventInfo("getSelectedIndex", ChangeListener.class);
+ addProxyEventInfo("getSelectedIndex", ChangeHandler.class);
}
}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RowHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RowHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RowHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -60,10 +60,10 @@
else if (attr.getName().equals("ipady")) {
ipady = Integer.valueOf(attr.getValue());
}
- else if (attr.getName().equals("halign")) {
+ else if (attr.getName().equals("horizontalAlignment")) {
horizontalAlignment = getHalign(attr.getValue());
}
- else if (attr.getName().equals("valign")) {
+ else if (attr.getName().equals("verticalAlignment")) {
verticalAlignment = getValign(attr.getValue());
}
else if (attr.getName().equals("fill")) {
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TableHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TableHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TableHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -45,7 +45,7 @@
public static final String DEFAULT_INSETS = "3, 3, 3, 3";
public static final HorizontalAlignment DEFAULT_HORIZONTAL_ALIGNMENT = HorizontalAlignment.ALIGN_DEFAULT;
public static final VerticalAlignment DEFAULT_VERTICAL_ALIGNMENT = VerticalAlignment.ALIGN_TOP;
- public static final String DEFAULT_FILL = "java.awt.GridBagConstraints.BOTH";
+ public static final String DEFAULT_FILL = "both";
public static final Integer DEFAULT_IPADX = 1;
public static final Integer DEFAULT_IPADY = 1;
public static final Double DEFAULT_WEIGHTX = 0.0;
@@ -73,40 +73,40 @@
*/
public TableHandler(GuixModelObject table) {
for (AttributeDescriptor attr : table.getAttributeDescriptors()) {
- if (attr.getName().equals("weightx")) {
+ if (attr.getName().equalsIgnoreCase("weightx")) {
weightx = Double.valueOf(attr.getValue());
}
- else if (attr.getName().equals("weighty")) {
+ else if (attr.getName().equalsIgnoreCase("weighty")) {
weighty = Double.valueOf(attr.getValue());
}
- else if (attr.getName().equals("ipadx")) {
+ else if (attr.getName().equalsIgnoreCase("ipadx")) {
ipadx = Integer.valueOf(attr.getValue());
}
- else if (attr.getName().equals("ipady")) {
+ else if (attr.getName().equalsIgnoreCase("ipady")) {
ipady = Integer.valueOf(attr.getValue());
}
- else if (attr.getName().equals("halign")) {
+ else if (attr.getName().equalsIgnoreCase("horizontalAlignment")) {
horizontalAlignment = getHalign(attr.getValue());
if (horizontalAlignment == null) {
if (log.isErrorEnabled()) {
- log.error(table.getId() + "'s halign attribute has a wrong value : " + attr.getValue());
+ log.error(table.getId() + "'s horizontalAlignment attribute has a wrong value : " + attr.getValue());
}
horizontalAlignment = HorizontalAlignment.ALIGN_DEFAULT;
}
}
- else if (attr.getName().equals("valign")) {
+ else if (attr.getName().equalsIgnoreCase("verticalAlignment")) {
verticalAlignment = getValign(attr.getValue());
if (verticalAlignment == null) {
if (log.isErrorEnabled()) {
- log.error(table.getId() + "'s halign attribute has a wrong value : " + attr.getValue());
+ log.error(table.getId() + "'s verticalAlignment attribute has a wrong value : " + attr.getValue());
}
verticalAlignment = VerticalAlignment.ALIGN_TOP;
}
}
- else if (attr.getName().equals("fill")) {
+ else if (attr.getName().equalsIgnoreCase("fill")) {
fill = attr.getValue();
}
- else if (attr.getName().equals("insets")) {
+ else if (attr.getName().equalsIgnoreCase("insets")) {
insets = attr.getValue();
}
}
@@ -133,7 +133,7 @@
return fill;
}
- public void setFill(String fill) {
+ public void setFill (String fill) {
this.fill = fill;
}
@@ -202,7 +202,7 @@
}
return null;
}
-
+
/**
* Creates a cell with the right column and generates the code to add it to the table
*
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -17,7 +17,7 @@
* <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
*/
package org.nuiton.guix.tags.gwt;
-import com.google.gwt.user.client.ui.KeyboardListener;
+import com.google.gwt.event.dom.client.KeyPressHandler;
/**
* Handles the Textfield tag
@@ -41,6 +41,6 @@
@Override
protected void configureProxyEventInfo() {
super.configureProxyEventInfo();
- addProxyEventInfo("getText", KeyboardListener.class);
+ addProxyEventInfo("getText", KeyPressHandler.class);
}
}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ToggleButtonHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ToggleButtonHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ToggleButtonHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -18,7 +18,7 @@
*/
package org.nuiton.guix.tags.gwt;
-import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.event.dom.client.ClickHandler;
/**
* Handles the ToggleButton tags
@@ -40,6 +40,6 @@
@Override
public void configureProxyEventInfo() {
super.configureProxyEventInfo();
- addProxyEventInfo("isDown", ClickListener.class);
+ addProxyEventInfo("isDown", ClickHandler.class);
}
}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java 2009-08-26 08:26:15 UTC (rev 1580)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java 2009-08-26 08:26:37 UTC (rev 1581)
@@ -1,6 +1,6 @@
package org.nuiton.guix.tags.gwt;
-import com.google.gwt.user.client.ui.TreeListener;
+import com.google.gwt.event.logical.shared.SelectionHandler;
/**
* Handles the tree tag
@@ -21,6 +21,6 @@
@Override
protected void configureProxyEventInfo() {
super.configureProxyEventInfo();
- addProxyEventInfo("getSelectedItem", TreeListener.class);
+ addProxyEventInfo("getSelectedItem", SelectionHandler.class);
}
}
1
0
Author: kmorin
Date: 2009-08-26 10:26:15 +0200 (Wed, 26 Aug 2009)
New Revision: 1580
Modified:
trunk/pom.xml
Log:
Reupgrade gwt version to 1.7.0 for better binding
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-08-25 22:40:16 UTC (rev 1579)
+++ trunk/pom.xml 2009-08-26 08:26:15 UTC (rev 1580)
@@ -203,7 +203,7 @@
<!-- libs version -->
<spring.version>2.0.5</spring.version>
<maven.version>2.0.10</maven.version>
- <gwt.version>1.5.3</gwt.version>
+ <gwt.version>1.7.0</gwt.version>
</properties>
1
0
Author: tchemit
Date: 2009-08-26 00:40:16 +0200 (Wed, 26 Aug 2009)
New Revision: 1579
Modified:
trunk/pom.xml
trunk/src/site/site.xml
Log:
- bump mavenpom and i18n versions
- clean site.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-08-25 10:51:11 UTC (rev 1578)
+++ trunk/pom.xml 2009-08-25 22:40:16 UTC (rev 1579)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom</artifactId>
- <version>1.0.0</version>
+ <version>1.0.1</version>
</parent>
<artifactId>guix</artifactId>
@@ -214,9 +214,9 @@
<!-- plugin i18n -->
<plugin>
- <groupId>org.nuiton</groupId>
+ <groupId>org.nuiton.i18n</groupId>
<artifactId>maven-i18n-plugin</artifactId>
- <version>1.0.0</version>
+ <version>1.0.1-SNAPSHOT</version>
</plugin>
</plugins>
Modified: trunk/src/site/site.xml
===================================================================
--- trunk/src/site/site.xml 2009-08-25 10:51:11 UTC (rev 1578)
+++ trunk/src/site/site.xml 2009-08-25 22:40:16 UTC (rev 1579)
@@ -1,25 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="${project.name}">
- <publishDate format="dd/MM/yyyy"/>
-
- <skin>
- <groupId>org.nuiton</groupId>
- <artifactId>maven-nuiton-skin</artifactId>
- <version>1.0.0</version>
- </skin>
-
<bannerLeft>
<name>${project.name}</name>
<src>guixLogo.png</src>
<href>index.html</href>
</bannerLeft>
- <bannerRight>
- <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
- <href>${project.organization.url}</href>
- </bannerRight>
-
<poweredBy>
<logo href="http://maven.apache.org" name="Maven"
img="images/logos/maven-feather.png"/>
1
0
r1578 - in trunk/guix-test-swing: . src/main/java/org/nuiton/guix/demo
by kmorin@users.nuiton.org 25 Aug '09
by kmorin@users.nuiton.org 25 Aug '09
25 Aug '09
Author: kmorin
Date: 2009-08-25 12:51:11 +0200 (Tue, 25 Aug 2009)
New Revision: 1578
Modified:
trunk/guix-test-swing/pom.xml
trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/Controller.java
trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo.guix
trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo5.guix
Log:
Upgrade with new features
Modified: trunk/guix-test-swing/pom.xml
===================================================================
--- trunk/guix-test-swing/pom.xml 2009-08-25 10:51:02 UTC (rev 1577)
+++ trunk/guix-test-swing/pom.xml 2009-08-25 10:51:11 UTC (rev 1578)
@@ -35,14 +35,6 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
-
- <!-- sibiling dependencies -->
-
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>guix-runtime-swing</artifactId>
- <version>${project.version}</version>
- </dependency>
</dependencies>
Modified: trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/Controller.java
===================================================================
--- trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/Controller.java 2009-08-25 10:51:02 UTC (rev 1577)
+++ trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/Controller.java 2009-08-25 10:51:11 UTC (rev 1578)
@@ -17,12 +17,15 @@
* <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
*/
package org.nuiton.guix.demo;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
public class Controller {
private java.lang.String text = "controller";
private int num = 0;
private java.lang.String cssText = "";
+ private java.beans.PropertyChangeSupport support = new java.beans.PropertyChangeSupport(this);
public Controller() {
System.out.println("Dude, it's bloody raining");
@@ -37,7 +40,9 @@
}
public void setText(java.lang.String text) {
+ String oldValue = this.text;
this.text = text;
+ support.firePropertyChange("text", oldValue, text);
}
public int getNum() {
@@ -45,7 +50,9 @@
}
public void setNum(int num) {
+ int oldValue = this.num;
this.num = num;
+ support.firePropertyChange("num", oldValue, num);
}
public java.lang.String getCssText() {
@@ -53,7 +60,16 @@
}
public void setCssText(java.lang.String cssText) {
+ String oldValue = this.cssText;
this.cssText = cssText;
+ support.firePropertyChange("cssText", oldValue, cssText);
}
+ public void addPropertyChangeListener(java.beans.PropertyChangeListener listener) {
+ support.addPropertyChangeListener(listener);
+ }
+
+ public void addPropertyChangeListener(String property, java.beans.PropertyChangeListener listener) {
+ support.addPropertyChangeListener(property, listener);
+ }
}
Modified: trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo.guix
===================================================================
--- trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo.guix 2009-08-25 10:51:02 UTC (rev 1577)
+++ trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo.guix 2009-08-25 10:51:11 UTC (rev 1578)
@@ -9,7 +9,7 @@
import java.awt.BorderLayout;
import javax.swing.JFrame;
-private Button b = new Button("test");
+private JButton b = new JButton("test");
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
@@ -39,7 +39,7 @@
System.out.println("before Creation");
}
-public void beforeBinding() {
+public void beforeSettings() {
this.add(b, BorderLayout.SOUTH);
}
@@ -50,7 +50,7 @@
<MenuBar border="new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED)">
<Menu constructor='"menu 1"'>
<MenuItem id="item1" text="item1" />
- <MenuItem text="item2" action='{System.out.println("Action [" + actionEvent.getActionCommand()
+ <MenuItem text="item2" action='{System.out.println("Action [" + event.getActionCommand()
+ "] performed!");}' />
</Menu>
<Menu constructor='"menu 2"'>
@@ -58,19 +58,19 @@
</Menu>
</MenuBar>
<swing:JToolBar>
- <Button id="bouton1" onActionPerformed='{System.out.println("Action [" + actionEvent.getActionCommand()
+ <JButton id="bouton1" onActionPerformed='{System.out.println("Action [" + event.getActionCommand()
+ "] performed!");}' text="bouton1" />
- <Button onActionPerformed='{System.out.println("Action [" + actionEvent.getActionCommand()
+ <Button onActionPerformed='{System.out.println("Action [" + event.getActionCommand()
+ "] performed!");}' text="bouton2" />
- <Button onActionPerformed='{System.out.println("Action [" + actionEvent.getActionCommand()
+ <Button onActionPerformed='{System.out.println("Action [" + event.getActionCommand()
+ "] performed!");}' text="bouton3" />
</swing:JToolBar>
<gwt:FlowPanel id="gwt">
- <Button id="bouton1" onActionPerformed='{System.out.println("Action [" + actionEvent.getActionCommand()
+ <Button id="bouton1" onClick='{System.out.println("Action [" + event.getActionCommand()
+ "] performed!");}' text="bouton1" />
- <Button onActionPerformed='{System.out.println("Action [" + actionEvent.getActionCommand()
+ <Button onClick='{System.out.println("Action [" + event.getActionCommand()
+ "] performed!");}' text="bouton2" />
- <Button onActionPerformed='{System.out.println("Action [" + actionEvent.getActionCommand()
+ <Button onClick='{System.out.println("Action [" + event.getActionCommand()
+ "] performed!");}' text="bouton3" />
</gwt:FlowPanel>
<TabPanel id="tabPanel">
@@ -81,7 +81,7 @@
<TextField id="textfield" constructor='"test"' enabled="{getGd2().getButton().isSelected() && getGd22().getButton().isSelected()}" onFocus='{System.out.println("dude !")}'/>
</Cell>
<Cell>
- <Label id="label" text="label : {textfield.getText()}" styleClass="bold" />
+ <Label id="label" text="label : {textfield.getText()}" visible="{textfield.enabled}" styleClass="bold" />
</Cell>
<Cell rows='3'>
<Label id="label2" text="color" background="java.awt.Color.BLUE" />
Modified: trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo5.guix
===================================================================
--- trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo5.guix 2009-08-25 10:51:02 UTC (rev 1577)
+++ trunk/guix-test-swing/src/main/java/org/nuiton/guix/demo/GuixDemo5.guix 2009-08-25 10:51:11 UTC (rev 1578)
@@ -4,5 +4,5 @@
<Panel id="panel2">
<Label text="GuixDemo5 inherits GuixDemo2" />
</Panel>
- <javax.swing.JCheckBox id="button" text="Push Me again" />
+ <CheckBox id="button" text="Push Me again" />
</org.nuiton.guix.demo.GuixDemo2>
\ No newline at end of file
1
0
r1577 - in trunk/guix-test-gwt: . src/main/java/org/nuiton/guix/client src/main/java/org/nuiton/guix/client/demo
by kmorin@users.nuiton.org 25 Aug '09
by kmorin@users.nuiton.org 25 Aug '09
25 Aug '09
Author: kmorin
Date: 2009-08-25 12:51:02 +0200 (Tue, 25 Aug 2009)
New Revision: 1577
Modified:
trunk/guix-test-gwt/pom.xml
trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/Controller.java
trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/demo/GuixDemo.guix
Log:
Upgrade with new features
Modified: trunk/guix-test-gwt/pom.xml
===================================================================
--- trunk/guix-test-gwt/pom.xml 2009-08-25 10:50:31 UTC (rev 1576)
+++ trunk/guix-test-gwt/pom.xml 2009-08-25 10:51:02 UTC (rev 1577)
@@ -40,6 +40,12 @@
</dependency>
<dependency>
+ <groupId>com.google.code.gwtx</groupId>
+ <artifactId>gwtx</artifactId>
+ <version>1.5.0</version>
+</dependency>
+
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
Modified: trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/Controller.java
===================================================================
--- trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/Controller.java 2009-08-25 10:50:31 UTC (rev 1576)
+++ trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/Controller.java 2009-08-25 10:51:02 UTC (rev 1577)
@@ -22,12 +22,15 @@
private java.lang.String text = "controller";
private int num = 0;
+ private java.lang.String cssText = "";
+ private java.beans.PropertyChangeSupport support = new java.beans.PropertyChangeSupport(this);
public Controller() {
System.out.println("Dude, it's bloody raining");
}
public void test() {
+
}
public java.lang.String getText() {
@@ -35,7 +38,9 @@
}
public void setText(java.lang.String text) {
+ String oldValue = this.text;
this.text = text;
+ support.firePropertyChange("text", oldValue, text);
}
public int getNum() {
@@ -43,6 +48,27 @@
}
public void setNum(int num) {
+ int oldValue = this.num;
this.num = num;
+ support.firePropertyChange("num", oldValue, num);
}
+
+ public java.lang.String getCssText() {
+ return cssText;
+ }
+
+ public void setCssText(java.lang.String cssText) {
+ String oldValue = this.cssText;
+ this.cssText = cssText;
+ support.firePropertyChange("cssText", oldValue, cssText);
+ }
+
+ public void addPropertyChangeListener(java.beans.PropertyChangeListener listener) {
+ support.addPropertyChangeListener(listener);
+ }
+
+ public void addPropertyChangeListener(String property, java.beans.PropertyChangeListener listener) {
+ support.addPropertyChangeListener(property, listener);
+ }
}
+
Modified: trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/demo/GuixDemo.guix
===================================================================
--- trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/demo/GuixDemo.guix 2009-08-25 10:50:31 UTC (rev 1576)
+++ trunk/guix-test-gwt/src/main/java/org/nuiton/guix/client/demo/GuixDemo.guix 2009-08-25 10:51:02 UTC (rev 1577)
@@ -6,6 +6,7 @@
import com.google.gwt.user.client.Command;
private Button b = new Button("test");
+int integer = 0;
private Command cmd = new Command() {
public void execute() {
@@ -26,6 +27,7 @@
table1.setSize(String.valueOf(com.google.gwt.user.client.Random.nextInt(800)) + "px",
String.valueOf(com.google.gwt.user.client.Random.nextInt(400)) + "px");
}
+ integer ++;
}
});
@@ -68,49 +70,55 @@
</MenuBar>
<java.util.ArrayList id="list" />
<TabPanel id="tabPanel" width="800px" height="400px">
- <Table id="table1" name="Table">
- <Row>
- <Cell>
- <!-- javadoc textfield -->
- <TextField id="textfield" text='test' enabled="{gd2.getButton().down && gd22.button.isSelected()}" onFocus='{System.out.println("dude !")}'/>
- </Cell>
- <Cell>
- <Label id="label" visible="{textfield.enabled}" text="{textfield.getText()}" styleClass="bold" />
- </Cell>
- <Cell rows='3'>
- <Label id="label2" text="color" style="color: yellow" />
- </Cell>
- </Row>
- <Row insets="0,0,0,0">
- <Cell columns="3">
- <org.nuiton.guix.client.demo.GuixDemo3 id="bt3" text="bt3" onClick='{System.out.println("beau gosse");list.add("test" + list.size())}'/>
- </Cell>
- </Row>
- <Row id="row3" insets="0,0,0,0">
- <Cell columns="2">
- <org.nuiton.guix.client.otherpackage.GuixDemo4 id="bt31" />
- </Cell>
- <Cell insets="2,2,2,2">
- <org.nuiton.guix.client.km.KevinMorinBis />
- </Cell>
- </Row>
- <Row>
- <Cell columns="3">
- <Label text="{c1.getText()} : {c1.getNum()}" />
- </Cell>
- </Row>
- <Row>
- <Cell columns="3">
- <Label text="{c2.getText()} : {c2.getNum()}" />
- </Cell>
- </Row>
- <Row>
- <Cell columns="2">
- <Label id="label3" text="list size : {list.size()}" style="color: yellow" />
- </Cell>
- </Row>
- </Table>
- <org.nuiton.guix.client.demo.GuixDemo2 id="gd2" name="GD2" />
- <org.nuiton.guix.client.demo.GuixDemo2 id="gd22" name="GD22" />
+ <Tab title='"Table"'>
+ <Table id="table1" name="Table">
+ <Row>
+ <Cell>
+ <!-- javadoc textfield -->
+ <TextField id="textfield" text='test' enabled="{gd2.getButton().down && gd22.button.isSelected()}" onFocus='{System.out.println("dude !")}'/>
+ </Cell>
+ <Cell>
+ <Label id="label" visible="{textfield.enabled}" text="{textfield.getText()}" styleClass="bold" />
+ </Cell>
+ <Cell rows='3'>
+ <Label id="label2" text="color" style="color: yellow" />
+ </Cell>
+ </Row>
+ <Row insets="0,0,0,0">
+ <Cell columns="3">
+ <org.nuiton.guix.client.demo.GuixDemo3 id="bt3" text="bt3" onClick='{System.out.println("beau gosse");list.add("test" + list.size())}'/>
+ </Cell>
+ </Row>
+ <Row id="row3" insets="0,0,0,0">
+ <Cell columns="2">
+ <org.nuiton.guix.client.otherpackage.GuixDemo4 id="bt31" />
+ </Cell>
+ <Cell insets="2,2,2,2">
+ <org.nuiton.guix.client.km.KevinMorinBis />
+ </Cell>
+ </Row>
+ <Row>
+ <Cell columns="3">
+ <Label text="{c1.getText()} : {c1.getNum()}" />
+ </Cell>
+ </Row>
+ <Row>
+ <Cell columns="3">
+ <Label text="{c2.getText()} : {c2.getNum()}" />
+ </Cell>
+ </Row>
+ <Row>
+ <Cell columns="2">
+ <Label id="label3" text="list size : {integer}" style="color: yellow" />
+ </Cell>
+ </Row>
+ </Table>
+ </Tab>
+ <Tab title='"GD2"'>
+ <org.nuiton.guix.client.demo.GuixDemo2 id="gd2" />
+ </Tab>
+ <Tab title='"GD22"'>
+ <org.nuiton.guix.client.demo.GuixDemo2 id="gd22" />
+ </Tab>
</TabPanel>
</Application>
1
0
r1576 - in trunk/guix-compiler-swing/src: main/java/org/nuiton/guix main/java/org/nuiton/guix/generator main/java/org/nuiton/guix/tags/swing test/java/org/nuiton/guix/generator
by kmorin@users.nuiton.org 25 Aug '09
by kmorin@users.nuiton.org 25 Aug '09
25 Aug '09
Author: kmorin
Date: 2009-08-25 12:50:31 +0200 (Tue, 25 Aug 2009)
New Revision: 1576
Added:
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/CheckBoxHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ComboBoxHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/DialogBoxHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ListHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/PasswordFieldHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ProgressBarHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/RadioButtonHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ScrollPanelHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SliderHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SpinnerHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SplitPanelHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TabHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextAreaHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeNodeHandler.java
Modified:
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingEventHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingGuixInitializer.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingAbstractClassGenerator.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingImplementationGenerator.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingMainClassGenerator.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SelectableButtonHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextComponentHandler.java
trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextFieldHandler.java
trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java
Log:
Removed unused classes
Imporved the binding
Add Handlers
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingEventHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingEventHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingEventHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -130,22 +130,18 @@
.append("() {\n");
//for every event handled for the EventSetDescriptor
for(Method m : map.get(e).keySet()) {
- for(Annotation a : m.getDeclaredAnnotations())
+ for(Annotation a : m.getDeclaredAnnotations()) {
result.append(a.toString()).append("\n");
+ }
//add the method that handles the event
result.append("public ")
.append(m.getReturnType().getCanonicalName())
.append(" ")
.append(m.getName())
.append("(");
- for(Class clazz : m.getParameterTypes())
- result.append(clazz.getCanonicalName())
- .append(" ")
- .append(Character.toLowerCase(clazz.getName().charAt(clazz.getName().lastIndexOf('.') + 1)))
- .append(clazz.getName().substring(clazz.getName().lastIndexOf('.') + 2))
- .append(", ");
- result.delete(result.length() - 2, result.length())
- .append(")")
+ Class clazz = m.getParameterTypes()[0];
+ result.append(clazz.getCanonicalName())
+ .append(" event)")
.append("{\n")
.append(map.get(e).get(m))
.append("\n}\n");
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingGuixInitializer.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingGuixInitializer.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/SwingGuixInitializer.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -28,13 +28,28 @@
import org.nuiton.guix.tags.swing.TableHandler;
import org.nuiton.guix.tags.TagManager;
import org.nuiton.guix.tags.swing.ButtonHandler;
+import org.nuiton.guix.tags.swing.CheckBoxHandler;
+import org.nuiton.guix.tags.swing.ComboBoxHandler;
+import org.nuiton.guix.tags.swing.DialogBoxHandler;
import org.nuiton.guix.tags.swing.LabelHandler;
+import org.nuiton.guix.tags.swing.ListHandler;
import org.nuiton.guix.tags.swing.MenuBarHandler;
import org.nuiton.guix.tags.swing.MenuHandler;
import org.nuiton.guix.tags.swing.MenuItemHandler;
+import org.nuiton.guix.tags.swing.PasswordFieldHandler;
+import org.nuiton.guix.tags.swing.ProgressBarHandler;
+import org.nuiton.guix.tags.swing.RadioButtonHandler;
+import org.nuiton.guix.tags.swing.ScrollPanelHandler;
+import org.nuiton.guix.tags.swing.SliderHandler;
+import org.nuiton.guix.tags.swing.SpinnerHandler;
+import org.nuiton.guix.tags.swing.SplitPanelHandler;
+import org.nuiton.guix.tags.swing.TabHandler;
import org.nuiton.guix.tags.swing.TabPanelHandler;
+import org.nuiton.guix.tags.swing.TextAreaHandler;
import org.nuiton.guix.tags.swing.TextFieldHandler;
import org.nuiton.guix.tags.swing.ToggleButtonHandler;
+import org.nuiton.guix.tags.swing.TreeHandler;
+import org.nuiton.guix.tags.swing.TreeNodeHandler;
/**
* Initialize the application
@@ -45,18 +60,35 @@
public static void initialize() {
TagManager.registerGuixClassHandler("Application", FrameHandler.class);
TagManager.registerGuixClassHandler("Frame", FrameHandler.class);
+ TagManager.registerGuixClassHandler("DialogBox", DialogBoxHandler.class);
TagManager.registerGuixClassHandler("Table", TableHandler.class);
TagManager.registerGuixClassHandler("Row", RowHandler.class);
TagManager.registerGuixClassHandler("Cell", CellHandler.class);
TagManager.registerGuixClassHandler("Panel", PanelHandler.class);
+ TagManager.registerGuixClassHandler("HorizontalSplitPanel", SplitPanelHandler.class);
+ TagManager.registerGuixClassHandler("VerticalSplitPanel", SplitPanelHandler.class);
+ TagManager.registerGuixClassHandler("ScrollPanel", ScrollPanelHandler.class);
TagManager.registerGuixClassHandler("Button", ButtonHandler.class);
TagManager.registerGuixClassHandler("TextField", TextFieldHandler.class);
+ TagManager.registerGuixClassHandler("TextArea", TextAreaHandler.class);
TagManager.registerGuixClassHandler("Label", LabelHandler.class);
TagManager.registerGuixClassHandler("ToggleButton", ToggleButtonHandler.class);
+ TagManager.registerGuixClassHandler("CheckBox", CheckBoxHandler.class);
+ TagManager.registerGuixClassHandler("ComboBox", ComboBoxHandler.class);
+ TagManager.registerGuixClassHandler("List", ListHandler.class);
+ TagManager.registerGuixClassHandler("PasswordField", PasswordFieldHandler.class);
+ TagManager.registerGuixClassHandler("ProgressBar", ProgressBarHandler.class);
+ TagManager.registerGuixClassHandler("RadioButton", RadioButtonHandler.class);
+ TagManager.registerGuixClassHandler("Slider", SliderHandler.class);
+ TagManager.registerGuixClassHandler("Spinner", SpinnerHandler.class);
TagManager.registerGuixClassHandler("TabPanel", TabPanelHandler.class);
+ TagManager.registerGuixClassHandler("Tab", TabHandler.class);
+ TagManager.registerGuixClassHandler("Tree", TreeHandler.class);
+ TagManager.registerGuixClassHandler("TreeNode", TreeNodeHandler.class);
TagManager.registerGuixClassHandler("MenuBar", MenuBarHandler.class);
TagManager.registerGuixClassHandler("Menu", MenuHandler.class);
TagManager.registerGuixClassHandler("MenuItem", MenuItemHandler.class);
+
}
}
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingAbstractClassGenerator.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingAbstractClassGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingAbstractClassGenerator.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -25,7 +25,8 @@
import java.io.InputStreamReader;
import java.io.Reader;
import org.nuiton.guix.tags.swing.MenuBarHandler;
-;
+import org.nuiton.guix.tags.swing.SplitPanelHandler;
+import org.nuiton.guix.tags.swing.TreeHandler;
import org.nuiton.guix.model.GuixModelObject;
//~--- JDK imports ------------------------------------------------------------
@@ -37,7 +38,7 @@
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import org.nuiton.guix.databinding.BindingUtils;
+import org.nuiton.guix.BindingUtils;
import org.nuiton.guix.SwingEventHandler;
import org.nuiton.guix.model.AttributeDescriptor;
import org.nuiton.guix.model.Rule;
@@ -58,6 +59,10 @@
*/
public class SwingAbstractClassGenerator extends SwingJavaFileGenerator {
+ private static final String CONSTRAINT_ATTRIBUTE = "constraints";
+ private static final String SETTER_PATTERN = "%1$s oldValue = this.%2$s;\n%3$s\nfirePropertyChange(\"%2$s\", oldValue, %4$s);";
+ private static final String SWING_DEFAULT_PACKAGE = "javax.swing";
+
/** Stylesheets applied to the objects of the class */
List<StyleSheet> styleSheets = new ArrayList<StyleSheet>();
/** map of the different parts of the script associated with gmo */
@@ -81,8 +86,7 @@
gmo.getClassDescriptor().getName() + "Abstract",
null, gmo.getJavadoc());
- ScriptHandler sh = new ScriptHandler();
- script = sh.decomposeScript(gmo.getClassDescriptor().getScript());
+ script = ScriptHandler.decomposeScript(gmo.getClassDescriptor().getScript());
}
public void setSwingGenerator(SwingGenerator swingGenerator) {
@@ -91,19 +95,26 @@
@Override
public JavaFile generate() {
- super.addImports(gmo);
+ super.addImports();
- //add imports
+ //add script imports
for (String s : (List<String>) script.get(ScriptPart.IMPORTS)) {
jf.addImport(s);
}
- //add bodycode
+ //add script fields
+ for(JavaField field : (List<JavaField>) script.get(ScriptPart.FIELDS)) {
+ jf.addField(field, false);
+ }
+
+ //add script bodycode
jf.addBodyCode((String) script.get(ScriptPart.BODYCODE));
try {
- //get creation, initialization and databinding methods content
+ //get creation, setting and displying methods content
Map<Method, String> methodBodies = browseModelObjects(gmo);
+ // get the script initializers
+ String scriptInitializers = ScriptHandler.postProcessInitializers((String)script.get(ScriptPart.INITIALIZERS), jf.getAllFields());
//add constructor
jf.addMethod(new JavaMethod(Modifier.PUBLIC, null, gmo.getClassDescriptor().getName() + "Abstract",
@@ -112,17 +123,18 @@
//add initialization method
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "initialize", null, null,
getMethodName(Method.BEFORE_CREATION) + "();\n" + getMethodName(Method.COMPONENTS_CREATION) + "();\n" +
- getMethodName(Method.COMPONENTS_SETTINGS) + "();\n" +
- (script.get(ScriptPart.INITIALIZERS) != null ? script.get(ScriptPart.INITIALIZERS) + "\n" : "") +
- getMethodName(Method.BEFORE_INITIALIZATION) + "();\n" + getMethodName(Method.COMPONENTS_TREE) + "();\n" +
+ (scriptInitializers != null ? scriptInitializers + "\n" : "") +
+ getMethodName(Method.BEFORE_SETTINGS) + "();\n" + getMethodName(Method.COMPONENTS_SETTINGS) + "();\n" +
+ getMethodName(Method.BEFORE_TREE) + "();\n" + getMethodName(Method.COMPONENTS_TREE) + "();\n" +
getMethodName(Method.BEFORE_BINDING) + "();\n"+ getMethodName(Method.DATABINDING_INIT) + "();\n" + getMethodName(Method.IN_THE_END) + "();",
"initialization"));
//add overridable methods
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_CREATION), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_CREATION) + "();\n" : "", ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_INITIALIZATION), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_INITIALIZATION) + "();\n" : "", ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_BINDING), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_BINDING) + "();\n" : "", ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.IN_THE_END), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.IN_THE_END) + "();\n" : "", ""));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_CREATION), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_CREATION) + "();\n" : "", "Method called before the creation of the components"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_TREE), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_TREE) + "();\n" : "", "Method called before the creation of the component tree"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_SETTINGS), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_SETTINGS) + "();\n" : "", "Method called before the settings of the components"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_BINDING), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_BINDING) + "();\n" : "", "Method called before the binding"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.IN_THE_END), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.IN_THE_END) + "();\n" : "", "Method called in the end of the initialization"));
//add creation and initialization methods
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.COMPONENTS_CREATION), null, null,
@@ -139,11 +151,12 @@
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.DATABINDING_INIT), null, null,
jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.DATABINDING_INIT) + "();\n" :
"", "initilization of databinding"));
-
+
//add script methods
for (JavaMethod m : (List<JavaMethod>) script.get(ScriptPart.METHODS)) {
+ ScriptHandler.postProcessMethodBody(m, jf.getAllFields());
//checks if the method override a generated method
- if ((m.getName().equals(getMethodName(Method.BEFORE_BINDING)) || m.getName().equals(getMethodName(Method.BEFORE_CREATION)) || m.getName().equals(getMethodName(Method.BEFORE_INITIALIZATION)) || m.getName().equals(getMethodName(Method.IN_THE_END))) && m.getReturnType() != null && m.getReturnType().equals("void") && m.getArguments() == null) {
+ if ((m.getName().equals(getMethodName(Method.BEFORE_BINDING)) || m.getName().equals(getMethodName(Method.BEFORE_CREATION)) || m.getName().equals(getMethodName(Method.BEFORE_SETTINGS)) || m.getName().equals(getMethodName(Method.BEFORE_TREE)) || m.getName().equals(getMethodName(Method.IN_THE_END))) && m.getReturnType() != null && m.getReturnType().equals("void") && m.getArguments() == null) {
int i = 0;
boolean methodFound = false;
while (i < jf.getMethods().length && !methodFound) {
@@ -163,6 +176,16 @@
jf.addMethod(m);
}
}
+
+ //Modify the setters by adding the firePropertyChange call
+ for(JavaMethod method : jf.getMethods()) {
+ if(method.getName().startsWith("set") && method.getName().length() > 3
+ && Character.isUpperCase(method.getName().charAt(3)) && method.getArguments() != null) {
+ method.setBodyCode(String.format(SETTER_PATTERN, method.getArguments()[0].getType(),
+ Character.toLowerCase(method.getName().charAt(3)) + method.getName().substring(4),
+ method.getBodyCode(), method.getArguments()[0].getName()));
+ }
+ }
}
catch (ClassNotFoundException eee) {
if (log.isErrorEnabled()) {
@@ -174,6 +197,9 @@
log.error(eee);
}
}
+ catch (NullPointerException eee) {
+ eee.printStackTrace();
+ }
return jf;
}
@@ -194,15 +220,21 @@
String constraint = null;
//do we need to overcharge the field
boolean createField = true;
-
+ //id with the first letter capitalized
+ String capitalizedId = (gmo.getId().length() > 0) ? Character.toUpperCase(gmo.getId().charAt(0)) + gmo.getId().substring(1) : gmo.getId();
+
//if gmo represents a table tag
- if (gmo.getClassDescriptor().getPackageName() == null && gmo.getClassDescriptor().getName().equalsIgnoreCase("Table")) {
+ if ((gmo.getClassDescriptor().getSuperClass() != null
+ && gmo.getClassDescriptor().getSuperClass().getPackageName() == null
+ && gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("Table"))
+ || (gmo.getClassDescriptor().getPackageName() == null
+ && gmo.getClassDescriptor().getName().equalsIgnoreCase("Table"))) {
//matrix of the gridbaglayout : the free zones are represented by null or false
List<List<Boolean>> layout = new ArrayList<List<Boolean>>();
StringBuffer settingsMethod = new StringBuffer();
//Checks in the table tag if any attribute defines constraints for the children
- TableHandler table = new TableHandler(gmo);
- clazz = table.getClassToGenerate();
+ TableHandler tableHandler = new TableHandler(gmo);
+ clazz = tableHandler.getClassToGenerate();
//if the gmo is the parent or if the field is inherited and has the same class, we don't need to overcharge the field
if(gmo.getParent() == null || (jf.getInheritedField(gmo.getId()) != null && jf.getInheritedField(gmo.getId()).getType().equals(clazz.getName()))) {
createField = false;
@@ -222,26 +254,43 @@
if(createField) {
jf.addField(new JavaField(Modifier.PRIVATE,
clazz.getName(),
- gmo.getId(), gmo.getJavadoc(), table),
- true);
+ gmo.getId(), gmo.getJavadoc(), tableHandler),
+ gmo.isJavaBean());
//the layout of the table is the GridBagLayout
componentsCreation.append(gmo.getId()).append(" = new ")
.append(clazz.getName()).append("(new java.awt.GridBagLayout());\n");
+ if(jf.getInheritedField(gmo.getId()) != null) {
+ componentsCreation.append("super.set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ }
}
+ else {
+ settingsMethod.append(gmo.getId()).append(".setLayout(new java.awt.GridBagLayout());\n");
+ }
if(jf.isSuperclassIsGuixObject() && jf.getInheritedField(gmo.getId()) != null) {
settingsMethod.insert(0, "super." + gmo.getId() + "Settings();\n");
}
- constraint = processAttributes(clazz, gmo, settingsMethod, seh, table);
+ constraint = processAttributes(clazz, gmo, settingsMethod, seh, tableHandler);
//add the component to its parent
- componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId());
- //if the constraints exists
- if (constraint != null) {
- componentsTree.append(",").append(constraint);
+ if(gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
}
- componentsTree.append(");\n");
+ else if(!ignoreTag(gmo)) {
+ if((gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("ScrollPanel"))
+ || gmo.getParent().getClassDescriptor().toString().equals("javax.swing.JScrollPane")) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".setViewportView(").append(gmo.getId()).append(");\n");
+ }
+ else {
+ componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId());
+ //if the constraints exists
+ if (constraint != null) {
+ componentsTree.append(",").append(constraint);
+ }
+ componentsTree.append(");\n");
+ }
+ }
for (int r = 0; r < gmo.getChildren().size(); r++) {
GuixModelObject row = gmo.getChildren().get(r);
@@ -253,7 +302,7 @@
}
else {
//Checks in the row tag if any attribute defines constraints for the children
- RowHandler ro = new RowHandler(row, table);
+ RowHandler rowHandler = new RowHandler(row, tableHandler);
int iC = 0;
for (int c = 0; c < row.getChildren().size(); c++) {
GuixModelObject cell = row.getChildren().get(c);
@@ -270,8 +319,8 @@
}
}
else {
- CellHandler cl = new CellHandler(cell, ro);
- componentsTree.append(TableHandler.createCell(gmo.getId(), cl, layout, iC, r));
+ CellHandler cellHandler = new CellHandler(cell, rowHandler);
+ componentsTree.append(TableHandler.createCell(gmo.getId(), cellHandler, layout, iC, r));
//browse the children of the child of the cell
Map<Method, String> methodBodies = browseModelObjects(cell.getChildren().get(0));
@@ -286,11 +335,50 @@
componentsSettings.append(gmo.getId()).append("Settings();\n");
}
+ else if ((gmo.getClassDescriptor().getSuperClass() != null && gmo.getClassDescriptor().getSuperClass().getPackageName() == null && gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("Tab"))
+ || (gmo.getClassDescriptor().getPackageName() == null && gmo.getClassDescriptor().getName().equalsIgnoreCase("Tab"))) {
+ //if the parent has a superclass and this superclass is a TabPanel or if the parent is null or if the parent is a TabPanel
+ if(((gmo.getParent().getClassDescriptor().getSuperClass() != null
+ && ((gmo.getParent().getClassDescriptor().getSuperClass().getPackageName() == null
+ && (gmo.getParent().getClassDescriptor().getSuperClass().getName().equals("TabPanel") || gmo.getParent().getClassDescriptor().getSuperClass().getName().equals("JTabbedPane")))
+ || (gmo.getParent().getClassDescriptor().getSuperClass().toString().equals("javax.swing.JTabbedPane"))))
+ ||(gmo.getParent() == null
+ || (gmo.getParent().getClassDescriptor().getPackageName() == null
+ && (gmo.getParent().getClassDescriptor().getName().equals("TabPanel") || gmo.getParent().getClassDescriptor().getName().equals("JTabbedPane")))
+ || (gmo.getParent().getClassDescriptor().toString().equals("javax.swing.JTabbedPane"))))
+ && gmo.getChildren().size() == 1) {
+ String title = null;
+ for(AttributeDescriptor attribute : gmo.getAttributeDescriptors()) {
+ if(attribute.getName().equals("title")) {
+ title = attribute.getValue();
+ break;
+ }
+ }
+
+ //add the component to its parent
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".addTab(")
+ .append(title != null ? title : "\"" + gmo.getId() + "\"").append(",").append(gmo.getChildren().get(0).getId()).append(");\n");
+
+ Map<Method, String> methodBodies = browseModelObjects(gmo.getChildren().get(0));
+ componentsCreation.append(methodBodies.get(Method.COMPONENTS_CREATION));
+ componentsSettings.append(methodBodies.get(Method.COMPONENTS_SETTINGS));
+ componentsTree.append(methodBodies.get(Method.COMPONENTS_TREE));
+ }
+ else if(log.isErrorEnabled()) {
+ log.error("Tab tags can only be children of TabPanel or JTabbedPane tags, and can have only one child.");
+ }
+ }
//if gmo represents a menubar tag
- else if (gmo.getClassDescriptor().getPackageName() == null && gmo.getClassDescriptor().getName().equalsIgnoreCase("MenuBar")) {
+ else if ((gmo.getClassDescriptor().getSuperClass() != null
+ && ((gmo.getClassDescriptor().getSuperClass().getPackageName() == null
+ && (gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("MenuBar") || gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("JMenuBar")))
+ || gmo.getClassDescriptor().getSuperClass().toString().equals("javax.swing.JMenuBar")))
+ || ((gmo.getClassDescriptor().getPackageName() == null
+ && (gmo.getClassDescriptor().getName().equalsIgnoreCase("MenuBar") || gmo.getClassDescriptor().getName().equalsIgnoreCase("JMenuBar")))
+ || gmo.getClassDescriptor().toString().equals("javax.swing.JMenuBar"))) {
StringBuffer settingsMethod = new StringBuffer();
- MenuBarHandler menuBar = new MenuBarHandler();
- clazz = menuBar.getClassToGenerate();
+ MenuBarHandler menuBarHandler = new MenuBarHandler();
+ clazz = menuBarHandler.getClassToGenerate();
//if the gmo is the parent or if the field is inherited and has the same class, we don't need to overcharge the field
if(gmo.getParent() == null || (jf.getInheritedField(gmo.getId()) != null && jf.getInheritedField(gmo.getId()).getType().equals(clazz.getName()))) {
createField = false;
@@ -311,21 +399,23 @@
if(createField) {
jf.addField(new JavaField(Modifier.PRIVATE,
clazz.getName(),
- gmo.getId(), gmo.getJavadoc(), menuBar),
- true);
+ gmo.getId(), gmo.getJavadoc(), menuBarHandler),
+ gmo.isJavaBean());
componentsCreation.append(gmo.getId()).append(" = new ")
.append(clazz.getName()).append("();\n");
+ if(jf.getInheritedField(gmo.getId()) != null) {
+ componentsCreation.append("super.set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ }
}
if(jf.isSuperclassIsGuixObject() && jf.getInheritedField(gmo.getId()) != null) {
settingsMethod.insert(0, "super." + gmo.getId() + "Settings();\n");
}
- constraint = processAttributes(clazz, gmo, settingsMethod, seh, menuBar);
+ constraint = processAttributes(clazz, gmo, settingsMethod, seh, menuBarHandler);
//add the component to its parent
componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".setJMenuBar(").append(gmo.getId()).append(");\n");
-
-
+
for (GuixModelObject child : gmo.getChildren()) {
//browse the children of the child of the menubar
Map<Method, String> methodBodies = browseModelObjects(child);
@@ -336,6 +426,168 @@
//create the menu
componentsSettings.append(gmo.getId()).append("Settings();\n");
}
+ //if the tag is a SplitPanel (Vertical or Horizontal)
+ else if((gmo.getClassDescriptor().getSuperClass() != null
+ && ((gmo.getClassDescriptor().getSuperClass().getPackageName() == null
+ && (gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("VerticalSplitPanel")
+ || gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("HorizontalSplitPanel")
+ || gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("JSplitPane")))
+ || gmo.getClassDescriptor().getSuperClass().toString().equals("javax.swing.JSplitPane")))
+ || ((gmo.getClassDescriptor().getPackageName() == null
+ && (gmo.getClassDescriptor().getName().equalsIgnoreCase("VerticalSplitPanel")
+ || gmo.getClassDescriptor().getName().equalsIgnoreCase("HorizontalSplitPanel")
+ || gmo.getClassDescriptor().getName().equalsIgnoreCase("JSplitPane")))
+ || gmo.getClassDescriptor().toString().equals("javax.swing.JSplitPane"))) {
+
+ StringBuffer settingsMethod = new StringBuffer();
+ SplitPanelHandler splitPanelHandler = new SplitPanelHandler();
+ clazz = splitPanelHandler.getClassToGenerate();
+
+ //if the gmo is the parent or if the field is inherited and has the same class, we don't need to overcharge the field
+ if(gmo.getParent() == null || (jf.getInheritedField(gmo.getId()) != null && jf.getInheritedField(gmo.getId()).getType().equals(clazz.getName()))) {
+ createField = false;
+ }
+ //if the field is inherited but doesn't hav the same class, check if the types are compatible
+ if(createField && jf.getInheritedField(gmo.getId()) != null) {
+ try {
+ Class inheritedClazz = Class.forName(jf.getInheritedField(gmo.getId()).getType());
+ if(!inheritedClazz.isAssignableFrom(clazz)) {
+ throw new ClassCastException();
+ }
+ }
+ catch(ClassNotFoundException eee) {
+ throw new ClassCastException();
+ }
+ }
+
+ if(createField) {
+ jf.addField(new JavaField(Modifier.PRIVATE,
+ clazz.getName(),
+ gmo.getId(), gmo.getJavadoc(), splitPanelHandler),
+ gmo.isJavaBean());
+
+ componentsCreation.append(gmo.getId()).append(" = new ")
+ .append(clazz.getName()).append("(").append(clazz.getName())
+ .append(gmo.getClassDescriptor().getName().equalsIgnoreCase("VerticalSplitPanel") ? ".VERTICAL_SPLIT" : ".HORIZONTAL_SPLIT").append(");\n");
+ }
+ if(jf.isSuperclassIsGuixObject() && jf.getInheritedField(gmo.getId()) != null) {
+ settingsMethod.insert(0, "super." + gmo.getId() + "Settings();\n");
+ }
+ constraint = processAttributes(clazz, gmo, settingsMethod, seh, splitPanelHandler);
+
+ //add the component to its parent
+ if(gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ }
+ else if(!ignoreTag(gmo)) {
+ if((gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("ScrollPanel"))
+ || gmo.getParent().getClassDescriptor().toString().equals("javax.swing.JScrollPane")) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".setViewportView(").append(gmo.getId()).append(");\n");
+ }
+ else {
+ componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId());
+ //if the constraints exists
+ if (constraint != null) {
+ componentsTree.append(",").append(constraint);
+ }
+ componentsTree.append(");\n");
+ }
+ }
+
+ for (GuixModelObject child : gmo.getChildren()) {
+ Map<Method, String> methodBodies = browseModelObjects(child);
+ componentsCreation.append(methodBodies.get(Method.COMPONENTS_CREATION));
+ componentsSettings.append(methodBodies.get(Method.COMPONENTS_SETTINGS));
+ componentsTree.append(methodBodies.get(Method.COMPONENTS_TREE));
+ }
+ //create the splitpanel
+ componentsSettings.append(gmo.getId()).append("Settings();\n");
+ }
+ //if the tag represents a tree
+ else if((gmo.getClassDescriptor().getSuperClass() != null
+ && ((gmo.getClassDescriptor().getSuperClass().getPackageName() == null
+ && (gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("Tree") || gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("JTree")))
+ || gmo.getClassDescriptor().getSuperClass().toString().equals("javax.swing.JTree")))
+ ||((gmo.getClassDescriptor().getPackageName() == null
+ && (gmo.getClassDescriptor().getName().equalsIgnoreCase("Tree") || gmo.getClassDescriptor().getName().equalsIgnoreCase("JTree")))
+ ||gmo.getClassDescriptor().toString().equals("javax.swing.JTree"))) {
+
+ StringBuffer settingsMethod = new StringBuffer();
+ TreeHandler treeHandler = new TreeHandler();
+ clazz = treeHandler.getClassToGenerate();
+
+ //if the gmo is the parent or if the field is inherited and has the same class, we don't need to overcharge the field
+ if(gmo.getParent() == null || (jf.getInheritedField(gmo.getId()) != null && jf.getInheritedField(gmo.getId()).getType().equals(clazz.getName()))) {
+ createField = false;
+ }
+ //if the field is inherited but doesn't have the same class, check if the types are compatible
+ if(createField && jf.getInheritedField(gmo.getId()) != null) {
+ try {
+ Class inheritedClazz = Class.forName(jf.getInheritedField(gmo.getId()).getType());
+ if(!inheritedClazz.isAssignableFrom(clazz)) {
+ throw new ClassCastException();
+ }
+ }
+ catch(ClassNotFoundException eee) {
+ throw new ClassCastException();
+ }
+ }
+ //browse the children first to be able to ad them to the list after their creation
+ for (GuixModelObject child : gmo.getChildren()) {
+ Map<Method, String> methodBodies = browseModelObjects(child);
+ componentsCreation.append(methodBodies.get(Method.COMPONENTS_CREATION));
+ componentsSettings.append(methodBodies.get(Method.COMPONENTS_SETTINGS));
+ componentsTree.append(methodBodies.get(Method.COMPONENTS_TREE));
+ }
+
+ if(createField) {
+ jf.addField(new JavaField(Modifier.PRIVATE,
+ clazz.getName(),
+ gmo.getId(), gmo.getJavadoc(), treeHandler),
+ gmo.isJavaBean());
+
+ if(gmo.getChildren().size() == 1) {
+ componentsCreation.append(gmo.getId()).append(" = new ")
+ .append(clazz.getName()).append("(").append(gmo.getChildren().get(0).getId()).append(");\n");
+ }
+ else {
+ componentsCreation.append("java.util.Vector<javax.swing.tree.TreeNode> ")
+ .append(gmo.getId()).append("Nodes = new java.util.Vector<javax.swing.tree.TreeNode>();\n");
+ for(GuixModelObject child : gmo.getChildren()) {
+ componentsCreation.append(gmo.getId()).append("Nodes.add(")
+ .append(child.getId()).append(");\n");
+ }
+ componentsCreation.append(gmo.getId()).append(" = new ")
+ .append(clazz.getName()).append("(").append(gmo.getId()).append("Nodes);\n");
+ }
+ }
+ if(jf.isSuperclassIsGuixObject() && jf.getInheritedField(gmo.getId()) != null) {
+ settingsMethod.insert(0, "super." + gmo.getId() + "Settings();\n");
+ }
+ constraint = processAttributes(clazz, gmo, settingsMethod, seh, treeHandler);
+
+ //add the component to its parent
+ if(gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ }
+ else if(!ignoreTag(gmo)) {
+ if((gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("ScrollPanel"))
+ || gmo.getParent().getClassDescriptor().toString().equals("javax.swing.JScrollPane")) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".setViewportView(").append(gmo.getId()).append(");\n");
+ }
+ else {
+ componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId());
+ //if the constraints exists
+ if (constraint != null) {
+ componentsTree.append(",").append(constraint);
+ }
+ componentsTree.append(");\n");
+ }
+ }
+
+ //create the splitpanel
+ componentsSettings.append(gmo.getId()).append("Settings();\n");
+ }
else {
//TagHandler of gmo's class
TagHandler th = null;
@@ -345,8 +597,6 @@
JavaFile jFile = null;
//gmo's first not generated superclass
Class superClazz = null;
- //id with the first letter capitalized
- String capitalizedId = (gmo.getId().length() > 0) ? Character.toUpperCase(gmo.getId().charAt(0)) + gmo.getId().substring(1) : gmo.getId();
StringBuffer settingsMethod = new StringBuffer();
//List of gmo's generated superclasses
List<String> generatedSuperClasses = new ArrayList<String>();
@@ -358,38 +608,51 @@
clazz = th.getClassToGenerate();
}
}
- //check if gmo's superclass has a TagHandler and get the class to generate instead
- else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName()) != null) {
- th = TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName());
- if(th != null) {
- clazz = th.getClassToGenerate();
- }
- }
- //check if gmo's type is a generated class
- else if(gmo.getClassDescriptor() != null && classes.get(gmo.getClassDescriptor().toString()) != null) {
- jFile = classes.get(gmo.getClassDescriptor().toString());
- }
- //check if gmo is the first tag and its superclass is a generated class
- else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && classes.get(gmo.getClassDescriptor().getSuperClass().toString()) != null) {
- jFile = classes.get(gmo.getClassDescriptor().getSuperClass().toString());
- }
- //gmo's class is a basic class or an uncompiled class from the source folder
+ //check if gmo's class has a TagHandler and get the class to generate instead
else {
- try{
- //get the class represented by cd
- clazz = Class.forName(gmo.getClassDescriptor().toString());
+ if(gmo.getClassDescriptor().getPackageName() == null) {
+ gmo.getClassDescriptor().setPackageName(SWING_DEFAULT_PACKAGE);
}
- catch (ClassNotFoundException eee) {
- File f = new File(swingGenerator.getSrcDir(), gmo.getClassDescriptor().toString().replace('.', File.separatorChar) + ".java");
- try {
- Reader isr = new InputStreamReader(new FileInputStream(f));
- jFile = JavaFileParser.parseJavaFile(gmo.getClassDescriptor().toString(), isr);
+ if(TagManager.getGuixClassHandler(gmo.getClassDescriptor().toString()) != null) {
+ th = TagManager.getGuixClassHandler(gmo.getClassDescriptor().toString());
+ if(th != null) {
+ clazz = th.getClassToGenerate();
}
- catch (FileNotFoundException eeee) {
- log.error(eeee);
- throw new ClassNotFoundException();
+ }
+ //check if gmo's superclass has a TagHandler and get the class to generate instead
+ else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName()) != null) {
+ th = TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName());
+ if(th != null) {
+ clazz = th.getClassToGenerate();
}
}
+ //check if gmo's type is a generated class
+ else if(gmo.getClassDescriptor() != null && classes.get(gmo.getClassDescriptor().toString()) != null) {
+ jFile = classes.get(gmo.getClassDescriptor().toString());
+ }
+ //check if gmo is the first tag and its superclass is a generated class
+ else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && classes.get(gmo.getClassDescriptor().getSuperClass().toString()) != null) {
+ jFile = classes.get(gmo.getClassDescriptor().getSuperClass().toString());
+ }
+ //gmo's class is a basic class or an uncompiled class from the source folder
+ else {
+ try{
+ //get the class represented by cd
+ clazz = Class.forName(gmo.getClassDescriptor().toString());
+ }
+ catch (ClassNotFoundException eee) {
+ File f = new File(swingGenerator.getSrcDir(), gmo.getClassDescriptor().toString().replace('.', File.separatorChar) + ".java");
+ try {
+ Reader isr = new InputStreamReader(new FileInputStream(f));
+ jFile = JavaFileParser.parseJavaFile(gmo.getClassDescriptor().toString(), isr);
+ swingGenerator.getPropertyChangeListenerDependencies().add(jFile);
+ }
+ catch (FileNotFoundException eeee) {
+ log.error(eeee);
+ throw new ClassNotFoundException();
+ }
+ }
+ }
}
if(clazz != null) {
@@ -452,13 +715,13 @@
jf.addField(new JavaField(Modifier.PROTECTED,
clazz.getName(),
gmo.getId(), gmo.getJavadoc(), th),
- true);
+ gmo.isJavaBean());
}
- else {
+ else {
jf.addField(new JavaField(Modifier.PROTECTED,
(classes != null && classes.containsKey(gmo.getClassDescriptor().toString())) ? gmo.getClassDescriptor().toString() + "Abstract" : gmo.getClassDescriptor().toString(),
- gmo.getId(), gmo.getJavadoc(), superTh != null ? superTh : th),
- true);
+ gmo.getId(), gmo.getJavadoc(), superTh),
+ gmo.isJavaBean());
}
}
//if gmo does not represents the first tag
@@ -466,7 +729,7 @@
if(jf.isSuperclassIsGuixObject() && jf.getInheritedField(gmo.getId()) != null) {
settingsMethod.insert(0, "super." + gmo.getId() + "Settings();\n");
}
- if(createField) {
+ if(createField || gmo.getConstructor() != null) {
componentsCreation.append(gmo.getId()).append(" = new ");
if(classes != null && classes.containsKey(gmo.getClassDescriptor().toString())) {
componentsCreation.append(gmo.getClassDescriptor().toString() + "Impl");
@@ -495,15 +758,19 @@
constraint = processAttributes(jFile, superClazz, gmo, settingsMethod, seh, superTh);
}
+ if((jFile != null && (jFile.getField(gmo.getId()) != null || jFile.getInheritedField(gmo.getId()) != null))
+ || (gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null)) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ }
//if gmo is not the child of a cell
- if (!(gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("Cell")) && !gmo.getClassDescriptor().toString().equals("javax.swing.JMenuBar")) {
- if((jFile != null && (jFile.getField(gmo.getId()) != null || jFile.getInheritedField(gmo.getId()) != null))
- || (gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null)) {
- componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ else if (!ignoreTag(gmo)) {
+ if((gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("ScrollPanel"))
+ || gmo.getParent().getClassDescriptor().toString().equals("javax.swing.JScrollPane")) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".setViewportView(").append(gmo.getId()).append(");\n");
}
//add the component to its parent
- else
- if(superClazz != null && java.awt.Component.class.isAssignableFrom(superClazz)) {
+ else if((superClazz != null && java.awt.Component.class.isAssignableFrom(superClazz) && !java.awt.Window.class.isAssignableFrom(superClazz))
+ || (gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("TreeNode"))) {
componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".add(").append(gmo.getId());
//with a constraint if it is not null
if (constraint != null) {
@@ -532,6 +799,12 @@
//get the inherited methods from the not generated superclass
if(clazz != null) {
jf.setSuperclassIsGuixObject(false);
+ if(javax.swing.JComponent.class.isAssignableFrom(clazz)) {
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "firePropertyChange",
+ new JavaArgument[]{new JavaArgument("String", "propertyName"), new JavaArgument("Object", "oldValue"), new JavaArgument("Object", "newValue")},
+ null, "super.firePropertyChange(propertyName, oldValue, newValue);", null));
+ }
+
for(java.lang.reflect.Method m : clazz.getMethods()) {
if(Modifier.isPublic(m.getModifiers()) || Modifier.isProtected(m.getModifiers())) {
JavaArgument[] args = new JavaArgument[m.getParameterTypes().length];
@@ -566,7 +839,7 @@
jf.addInheritedField(f);
}
}
- processAttributes(jFile, superClazz, gmo, settingsMethod, seh, superTh);
+ processAttributes(jFile, superClazz, gmo, settingsMethod, seh, superTh != null ? superTh: th);
}
else {
log.error("Allo Houston, on a un probleme !");
@@ -590,6 +863,16 @@
}
+ /**
+ *
+ * @return true if the tag does not represent a real object but is just useful to ease the creation of the UI
+ */
+ private boolean ignoreTag(GuixModelObject gmo) {
+ return (gmo.getParent() != null && (gmo.getParent().getClassDescriptor().getPackageName() == null
+ && (gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("Cell")
+ || gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("Tab"))));
+ }
+
/**
* Generates the code to set the attributes of the gmo
*
@@ -608,7 +891,7 @@
if(th != null && th.getAttrToGenerate(attr.getName()) != null) {
attr.setName(th.getAttrToGenerate(attr.getName()));
}
- boolean addQuote = false;
+ boolean addQuote = false, addSimpleQuote = false;
//the attribute name with the first letter capitalized
String capitalizedAttribute = (attr.getName().length() > 0) ? Character.toUpperCase(attr.getName().charAt(0)) + attr.getName().substring(1) : attr.getName();
//is the attribute a "real" attribute ? false if it represents an event or a constraint
@@ -622,7 +905,7 @@
realAttribute = !seh.addEvent(clazz, lowerCaseAttribute, attr.getValue());
}
//checks if it is a constraint
- else if (attr.getName().equals("constraint")) {
+ else if (attr.getName().equals(CONSTRAINT_ATTRIBUTE)) {
constraint = attr.getValue();
realAttribute = false;
}
@@ -649,9 +932,19 @@
else {
//checks if the parameter of the setter is a String
addQuote = methods[m].getParameterTypes()[0].equals(String.class);
+ addSimpleQuote = methods[m].getParameterTypes()[0].equals(Character.class) || methods[m].getParameterTypes()[0].equals(char.class);
//generates the code to set the attribute to object
if(settingsMethod != null) {
- settingsMethod.append(gmo.getParent() != null ? gmo.getId() : "this").append(".set").append(capitalizedAttribute).append("(").append(addQuote ? "\"" : "").append(attr.getValue()).append(addQuote ? "\"" : "").append(");\n");
+ settingsMethod.append(gmo.getParent() != null ? gmo.getId() : "this").append(".set").append(capitalizedAttribute).append("(");
+ if(addQuote) {
+ settingsMethod.append("\"").append(attr.getValue()).append("\"").append(");\n");
+ }
+ else if(addSimpleQuote) {
+ settingsMethod.append("'").append(attr.getValue()).append("'").append(");\n");
+ }
+ else {
+ settingsMethod.append(attr.getValue()).append(");\n");
+ }
}
}
}
@@ -696,7 +989,7 @@
if(th != null && th.getAttrToGenerate(attr.getName()) != null) {
attr.setName(th.getAttrToGenerate(attr.getName()));
}
- boolean addQuote = false;
+ boolean addQuote = false, addSimpleQuote = false;
//the attribute name with the first letter capitalized
String capitalizedAttribute = (attr.getName().length() > 0) ? Character.toUpperCase(attr.getName().charAt(0)) + attr.getName().substring(1) : attr.getName();
//is the attribute a "real" attribute ? false if it represents an event or a constraint
@@ -710,7 +1003,7 @@
realAttribute = !seh.addEvent(superClazz, lowerCaseAttribute, attr.getValue());
}
//checks if it is a constraint
- else if (attr.getName().equals("constraint")) {
+ else if (attr.getName().equals(CONSTRAINT_ATTRIBUTE)) {
constraint = attr.getValue();
realAttribute = false;
}
@@ -742,8 +1035,18 @@
else {
//checks if the parameter of the setter is a String
addQuote = method.getArguments()[0].getType().equals(String.class.getName());
+ addSimpleQuote = method.getArguments()[0].getType().equals(Character.class.getName()) || method.getArguments()[0].getType().equals(char.class.getName());
//generates the code to set the attribute to object
- settingsMethod.append(gmo.getParent() != null ? gmo.getId() : "this").append(".set").append(capitalizedAttribute).append("(").append(addQuote ? "\"" : "").append(attr.getValue()).append(addQuote ? "\"" : "").append(");\n");
+ settingsMethod.append(gmo.getParent() != null ? gmo.getId() : "this").append(".set").append(capitalizedAttribute).append("(");
+ if(addQuote) {
+ settingsMethod.append("\"").append(attr.getValue()).append("\"").append(");\n");
+ }
+ else if(addSimpleQuote) {
+ settingsMethod.append("'").append(attr.getValue()).append("'").append(");\n");
+ }
+ else {
+ settingsMethod.append(attr.getValue()).append(");\n");
+ }
}
}
else if(log.isErrorEnabled()) {
@@ -877,10 +1180,8 @@
if((sel.getId() == null || sel.getId().equals(gmo.getId()))
&& (sel.getStyleClass() == null || sel.getStyleClass().equals(gmo.getStyleClass()))
&& (sel.getJavaClassName() == null || sel.getJavaClassName().equals(gmo.getClassDescriptor().getName()))) {
- boolean realAttribute = true;
if (sel.getPseudoClass() != null && sel.getPseudoClass().startsWith("on") && Character.isUpperCase(sel.getPseudoClass().charAt(2))) {
//the swing event does not start by "on"
- String lowerCaseAttribute = (sel.getPseudoClass().length() > 2) ? Character.toLowerCase(sel.getPseudoClass().charAt(2)) + sel.getPseudoClass().substring(3) : sel.getPseudoClass();
StringBuffer eventAction = new StringBuffer();
for (Rule rule : sel.getRules()) {
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -169,283 +169,300 @@
String realMethodName = null;
String realAttributename = null;
- //if the part of the binding is a method
- if(binding[i].endsWith(")")) {
- //the method name is all what is before the first open bracket
- realMethodName = binding[i].substring(0, binding[i].indexOf("("));
- //if the parent of the method has a TagHandler, then check that the method is the generic method name for all the libraries
- //or if it is the right name, and then determine the corresponding attribute
- if(prevTh != null) {
- if(binding[i].startsWith("get")) {
- realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf("(")));
- if(realAttributename != null) {
- realMethodName = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ if(Character.isUpperCase(binding[i].charAt(binding[i].lastIndexOf('.') + 1))) {
+ try {
+ Class.forName(binding[i]);
+ }
+ catch (ClassNotFoundException eee) {
+ return null;
+ }
+ bindingExists = false;
+ }
+ else {
+ //if the part of the binding is a method
+ if(binding[i].endsWith(")")) {
+ //the method name is all what is before the first open bracket
+ realMethodName = binding[i].substring(0, binding[i].indexOf('('));
+ //if the parent of the method has a TagHandler, then check that the method is the generic method name for all the libraries
+ //or if it is the right name, and then determine the corresponding attribute
+ if(prevTh != null) {
+ if(binding[i].startsWith("get")) {
+ realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf("(")));
+ if(realAttributename != null) {
+ realMethodName = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ }
}
+ else if(binding[i].startsWith("is")){
+ realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf("(")));
+ if(realAttributename != null) {
+ realMethodName = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ }
+ }
}
- else if(binding[i].startsWith("is")){
- realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf("(")));
- if(realAttributename != null) {
- realMethodName = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ //if the method name is the real one, get the corresponding attribute name
+ if(realAttributename == null) {
+ if(binding[i].startsWith("get")) {
+ realAttributename = Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf('('));
}
+ else if(binding[i].startsWith("is")){
+ realAttributename = Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf('('));
+ }
+ else {
+ realAttributename = binding[i].substring(0, binding[i].indexOf('('));
+ }
}
- }
- //if the method name is the real one, get the corresponding attribute name
- if(realAttributename == null) {
- if(binding[i].startsWith("get")) {
- realAttributename = Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf("("));
+ //if the parent of the method is an instance of a generated class
+ if (jf != null) {
+ bindingExists = jf.getMethod(realMethodName, null) != null;
+ if (bindingExists) {
+ returnType = jf.getMethod(realMethodName, null).getReturnType();
+ JavaField f = jf.getField(realAttributename);
+ if (f != null) {
+ th = f.getTagHandler();
+ }
+ }
}
- else if(binding[i].startsWith("is")){
- realAttributename = Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf("("));
- }
else {
- realAttributename = binding[i].substring(0, binding[i].indexOf("("));
- }
- }
- //if the parent of the method is an instance of a generated class
- if (jf != null) {
- bindingExists = jf.getMethod(realMethodName, null) != null;
- if (bindingExists) {
- returnType = jf.getMethod(realMethodName, null).getReturnType();
- JavaField f = jf.getField(realAttributename);
- if (f != null) {
- th = f.getTagHandler();
+ try {
+ returnType = clazz.getMethod(realMethodName, (Class[])null).getReturnType().getName();
+ bindingExists = true;
}
+ catch (NoSuchMethodException eee) {
+ bindingExists = false;
+ }
}
+ getter = realMethodName + binding[i].substring(binding[i].indexOf('('));
+
}
+ //if the part of the binding is an attribute
else {
- try {
- returnType = clazz.getMethod(realMethodName, (Class[])null).getReturnType().getName();
- bindingExists = true;
+ //if the parent of the attribute has a TagHandler, then check that the attribute is the generic attribute name for all the libraries
+ //or if it is the right name
+ if(prevTh != null) {
+ realAttributename = prevTh.getAttrToGenerate(binding[i]);
}
- catch (NoSuchMethodException eee) {
- bindingExists = false;
+ //if it is its real name
+ if(realAttributename == null) {
+ realAttributename = binding[i];
}
- }
- getter = realMethodName + binding[i].substring(binding[i].indexOf("("));
- //replace the value of the binding by the getter method
- binding[i] = getter;
- }
- //if the part of the binding is an attribute
- else {
- //if the parent of the attribute has a TagHandler, then check that the attribute is the generic attribute name for all the libraries
- //or if it is the right name
- if(prevTh != null) {
- realAttributename = prevTh.getAttrToGenerate(binding[i]);
- }
- //if it is its real name
- if(realAttributename == null) {
- realAttributename = binding[i];
- }
- //if the parent of the attribute is an instance of a generated class
- if (jf != null) {
- bindingExists = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null || jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null;
- if (bindingExists) {
- returnType = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType()
- : jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType();
- }
+ //if the parent of the attribute is an instance of a generated class
+ if (jf != null) {
+ bindingExists = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null || jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null;
+ if (bindingExists) {
+ returnType = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType()
+ : jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType();
+ }
- getter = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()"
- : "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
+ getter = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()"
+ : "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
- JavaField f = jf.getField(realAttributename);
- if (f != null) {
- th = f.getTagHandler();
+ JavaField f = jf.getField(realAttributename);
+ if (f != null) {
+ th = f.getTagHandler();
+ }
}
- }
- else {
- try {
- returnType = clazz.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
- getter = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
- bindingExists = true;
- }
- catch (NoSuchMethodException eee) {
+ else {
try {
- returnType = clazz.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
- getter = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
+ returnType = clazz.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
+ getter = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
bindingExists = true;
}
- catch (NoSuchMethodException eee2) {
- bindingExists = false;
+ catch (NoSuchMethodException eee) {
+ try {
+ returnType = clazz.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
+ getter = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
+ bindingExists = true;
+ }
+ catch (NoSuchMethodException eee2) {
+ bindingExists = false;
+ }
}
}
}
- binding[i] = getter;
- }
- //if the binding binds an existing attribute or method
- if(bindingExists) {
- //if the object has a TagHandler
- if(th != null) {
- String getterWoBraces = getter.substring(0, getter.indexOf("("));
- if(th.hasEventInfosAboutMethod(getterWoBraces)) {
- model = th.getEventInfosModelName(getterWoBraces);
- listener = th.getEventInfosListenerClass(getterWoBraces);
- addMethod = th.getEventInfosAddListenerMethodName(getterWoBraces);
- removeMethod = th.getEventInfosRemoveListenerMethodName(getterWoBraces);
+ //if the binding binds an existing attribute or method
+ if(bindingExists) {
+ //replace the value of the binding by the getter method
+ binding[i] = getter;
+ //if the previous object has a TagHandler
+ if(prevTh != null) {
+ String getterWoBraces = getter.substring(0, getter.indexOf('('));
+ if(prevTh.hasEventInfosAboutMethod(getterWoBraces)) {
+ model = prevTh.getEventInfosModelName(getterWoBraces);
+ listener = prevTh.getEventInfosListenerClass(getterWoBraces);
+ addMethod = prevTh.getEventInfosAddListenerMethodName(getterWoBraces);
+ removeMethod = prevTh.getEventInfosRemoveListenerMethodName(getterWoBraces);
+ }
+ else {
+ listener = PropertyChangeListener.class;
+ addMethod = "addPropertyChangeListener";
+ removeMethod = "removePropertyChangeListener";
+ }
}
- else {
- listener = PropertyChangeListener.class;
- addMethod = "addPropertyChangeListener";
- removeMethod = "removePropertyChangeListener";
+
+ //get the class of the current token or its JavaFile
+ try {
+ nextClazz = Class.forName(returnType);
}
- }
- //if it is the last element of the binding and its parent has a taghandler
- else if(i == binding.length - 1 && prevTh != null) {
- String getterWoBraces = getter.substring(0, getter.indexOf("("));
- if(prevTh.hasEventInfosAboutMethod(getterWoBraces)) {
- model = prevTh.getEventInfosModelName(getterWoBraces);
- listener = prevTh.getEventInfosListenerClass(getterWoBraces);
- addMethod = prevTh.getEventInfosAddListenerMethodName(getterWoBraces);
- removeMethod = prevTh.getEventInfosRemoveListenerMethodName(getterWoBraces);
- }
- else {
- listener = PropertyChangeListener.class;
- addMethod = "addPropertyChangeListener";
- removeMethod = "removePropertyChangeListener";
- }
- }
- try {
- nextClazz = Class.forName(returnType);
- if(listener == null && nextClazz.isAssignableFrom(java.awt.Container.class)) {
- listener = PropertyChangeListener.class;
- addMethod = "addPropertyChangeListener";
- removeMethod = "removePropertyChangeListener";
- }
- }
- catch (ClassNotFoundException eee) {
- for(JavaFile javaFile : generatedFiles.values()) {
- if(returnType.equals(javaFile.getPackageName() + "." + javaFile.getClassName())) {
- nextFile = javaFile;
- break;
+ catch (ClassNotFoundException eee) {
+ for(JavaFile javaFile : generatedFiles.values()) {
+ if(returnType.equals(javaFile.getPackageName() + "." + javaFile.getClassName())) {
+ nextFile = javaFile;
+ break;
+ }
}
+ if(nextFile == null) {
+ for(JavaFile javaFile : propertyChangeListenerDependencies) {
+ if(returnType.equals(javaFile.getPackageName() + "." + javaFile.getClassName())) {
+ nextFile = javaFile;
+ break;
+ }
+ }
+ }
}
- try {
- Class c = Class.forName(nextFile.getSuperClass());
- if(listener == null && c.isAssignableFrom(java.awt.Container.class)) {
+
+ if(listener == null && clazz != null) {
+ try {
+ clazz.getMethod("addPropertyChangeListener", PropertyChangeListener.class);
listener = PropertyChangeListener.class;
addMethod = "addPropertyChangeListener";
removeMethod = "removePropertyChangeListener";
}
+ catch(NoSuchMethodException eee) {
+ }
}
- catch(ClassNotFoundException eeee) {
+ else if(listener == null && jf != null) {
+ for(JavaMethod method : jf.getAllMethods()) {
+ if(method.getName().equals("addPropertyChangeListener")
+ && ((method.getArguments().length == 1 && method.getArguments()[0].getType().equals("java.beans.PropertyChangeListener"))
+ ||(method.getArguments().length == 2 && method.getArguments()[1].getType().equals("java.beans.PropertyChangeListener")))) {
+ listener = PropertyChangeListener.class;
+ addMethod = "addPropertyChangeListener";
+ removeMethod = "removePropertyChangeListener";
+ }
+ }
}
- catch(NullPointerException eeee) {
- }
- }
- if(listener != null) {
- //starts to generate the code
- dbCreation.append("if(");
- dbDeletion.append("if(");
- if(alreadyChecked != null && !alreadyChecked.isEmpty()) {
- //add not null parent condition
- for(int j = 0 ; j < alreadyChecked.size() ; j++) {
- dbCreation.append(alreadyChecked.get(0));
- dbDeletion.append(alreadyChecked.get(0));
- for(int k = 1 ; k <= j ; k++) {
- dbCreation.append(".").append(alreadyChecked.get(k));
- dbDeletion.append(".").append(alreadyChecked.get(k));
+
+ boolean ifAdded = false;
+ if(listener != null) {
+ if(alreadyChecked != null && !alreadyChecked.isEmpty()) {
+ ifAdded = true;
+ //starts to generate the code
+ dbCreation.append("if(");
+ dbDeletion.append("if(");
+ //add not null parent condition
+ for(int j = 0 ; j < alreadyChecked.size() ; j++) {
+ dbCreation.append(alreadyChecked.get(0));
+ dbDeletion.append(alreadyChecked.get(0));
+ for(int k = 1 ; k <= j ; k++) {
+ dbCreation.append(".").append(alreadyChecked.get(k));
+ dbDeletion.append(".").append(alreadyChecked.get(k));
+ }
+ dbCreation.append(" != null && ");
+ dbDeletion.append(" != null && ");
}
- dbCreation.append(" != null && ");
- dbDeletion.append(" != null && ");
+
+ if(binding.length > alreadyChecked.size() + 1 && nextClazz != null && !nextClazz.isPrimitive()) {
+ for(int j = 0 ; j < alreadyChecked.size() ; j++) {
+ dbCreation.append(alreadyChecked.get(j)).append(".");
+ dbDeletion.append(alreadyChecked.get(j)).append(".");
+ }
+ dbCreation.append(getter).append(" != null");
+ dbDeletion.append(getter).append(" != null");
+ }
+ else {
+ dbCreation.delete(dbCreation.length() - 4, dbCreation.length());
+ dbDeletion.delete(dbDeletion.length() - 4, dbDeletion.length());
+ }
+ dbCreation.append(") {\n");
+ dbDeletion.append(") {\n");
}
-
- if(binding.length > alreadyChecked.size() + 1) {
+ else if(nextClazz != null && !nextClazz.isPrimitive()) {
+ ifAdded = true;
+ //starts to generate the code
+ dbCreation.append("if(").append(getter).append(" != null").append(") {\n");
+ dbDeletion.append("if(").append(getter).append(" != null").append(") {\n");
+ }
+ if(alreadyChecked != null) {
for(int j = 0 ; j < alreadyChecked.size() ; j++) {
dbCreation.append(alreadyChecked.get(j)).append(".");
dbDeletion.append(alreadyChecked.get(j)).append(".");
}
- dbCreation.append(getter).append(" != null");
- dbDeletion.append(getter).append(" != null");
}
- else {
- dbCreation.delete(dbCreation.length() - 4, dbCreation.length());
- dbDeletion.delete(dbDeletion.length() - 4, dbDeletion.length());
+ if(model != null && !model.equals("")) {
+ if(alreadyChecked == null) {
+ dbCreation.append(getter).append(".");
+ dbDeletion.append(getter).append(".");
+ }
+ dbCreation.append("get").append(Character.toUpperCase(model.charAt(0)))
+ .append(model.substring(1)).append("()").append(".");
+ dbDeletion.append("get").append(Character.toUpperCase(model.charAt(0)))
+ .append(model.substring(1)).append("()").append(".");
}
- }
- else {
- dbCreation.append(getter).append(" != null");
- dbDeletion.append(getter).append(" != null");
- }
- dbCreation.append(") {\n");
- dbDeletion.append(") {\n");
- if(alreadyChecked != null) {
- for(int j = 0 ; j < alreadyChecked.size() ; j++) {
- dbCreation.append(alreadyChecked.get(j)).append(".");
- dbDeletion.append(alreadyChecked.get(j)).append(".");
+ dbCreation.append(addMethod).append("(");
+ dbDeletion.append(removeMethod).append("(");
+ if(listener == PropertyChangeListener.class) {
+ dbCreation.append("\"").append(realAttributename).append("\", ");
+ dbDeletion.append("\"").append(realAttributename).append("\", ");
}
- }
- if(model != null) {
- dbCreation.append("get").append(Character.toUpperCase(model.charAt(0)))
- .append(model.substring(1)).append("()");
- dbDeletion.append("get").append(Character.toUpperCase(model.charAt(0)))
- .append(model.substring(1)).append("()");
- }
- else {
- dbCreation.append(getter);
- dbDeletion.append(getter);
- }
- // dbCreation.append(".").append(addMethod).append("((")
- // .append(listener.getName()).append(") org.nuiton.guix.runtime.Util.getEventListener(")
- // .append(listener.getName()).append(".class,this,\"onChangeFrom")
- // .append(methodToInvoke).append("\"));\n}\n");
- // dbDeletion.append(".").append(removeMethod).append("((")
- // .append(listener.getName()).append(") org.nuiton.guix.runtime.Util.getEventListener(")
- // .append(listener.getName()).append(".class,this,\"onChangeFrom")
- // .append(methodToInvoke).append("\"));\n}\n");
+ dbCreation.append("new ").append(listener.getName()).append("() {\n");
+ dbDeletion.append("new ").append(listener.getName()).append("() {\n");
+ for(Method m : listener.getMethods()) {
+ StringBuffer sb = new StringBuffer();
+ for(Annotation a : m.getDeclaredAnnotations()) {
+ dbCreation.append(a.toString()).append("\n");
+ }
+ //add the method that handles the event
+ sb.append("public ")
+ .append(m.getReturnType().getCanonicalName())
+ .append(" ")
+ .append(m.getName())
+ .append("(");
+ for(int n = 0 ; n < m.getParameterTypes().length ; n++) {
+ sb.append(m.getParameterTypes()[n].getCanonicalName())
+ .append(" arg")
+ .append(n)
+ .append(", ");
+ }
+ sb.delete(sb.length() - 2, sb.length())
+ .append(")")
+ .append(" {\n")
+ .append("onChangeFrom").append(methodToInvoke)
+ .append("();\n}\n");
+ dbCreation.append(sb);
+ dbDeletion.append(sb);
+ }
+ dbCreation.append("});\n");
+ dbDeletion.append("});\n");
+ if(ifAdded) {
+ dbCreation.append("}\n");
+ dbDeletion.append("}\n");
+ }
- dbCreation.append(".").append(addMethod).append("(new ").append(listener.getName()).append("() {\n");
- dbDeletion.append(".").append(removeMethod).append("(new ").append(listener.getName()).append("() {\n");
- for(Method m : listener.getMethods()) {
- StringBuffer sb = new StringBuffer();
- for(Annotation a : m.getDeclaredAnnotations()) {
- dbCreation.append(a.toString()).append("\n");
+ if(alreadyChecked == null){
+ alreadyChecked = new ArrayList<String>();
}
- //add the method that handles the event
- sb.append("public ")
- .append(m.getReturnType().getCanonicalName())
- .append(" ")
- .append(m.getName())
- .append("(");
- for(int n = 0 ; n < m.getParameterTypes().length ; n++) {
- sb.append(m.getParameterTypes()[n].getCanonicalName())
- .append(" arg")
- .append(n)
- .append(", ");
+ alreadyChecked.add(getter);
+ try {
+ //if it is not the last element of the binding
+ if(i + 1 < binding.length) {
+ result.addAll(generateBindings(dbCreation, dbDeletion, th, nextFile, nextClazz, binding, i+1, alreadyChecked, methodToInvoke, generatedFiles));
+ }
+ if(listener != null && !result.contains(listener)) {
+ result.add(listener);
+ }
}
- sb.delete(sb.length() - 2, sb.length())
- .append(")")
- .append(" {\n")
- .append("onChangeFrom").append(methodToInvoke)
- .append("();\n}\n");
- dbCreation.append(sb);
- dbDeletion.append(sb);
- }
- dbCreation.append("});\n}\n");
- dbDeletion.append("});\n}\n");
-
- if(alreadyChecked == null){
- alreadyChecked = new ArrayList<String>();
- }
- alreadyChecked.add(getter);
- try {
- //if it is not the last element of the binding
- if(i + 1 < binding.length) {
- result.addAll(generateBindings(dbCreation, dbDeletion, th, nextFile, nextClazz, binding, i+1, alreadyChecked, methodToInvoke, generatedFiles));
+ catch(NullPointerException eee) {
+ log.error(i);
+ eee.printStackTrace();
+ return null;
}
- if(listener != null && !result.contains(listener)) {
- result.add(listener);
- }
}
- catch(NullPointerException eee) {
- log.error(i);
- eee.printStackTrace();
- return null;
- }
}
+ else if(log.isErrorEnabled()) {
+ log.error("unable to bind " + binding[i]);
+ }
}
- else if(log.isErrorEnabled()) {
- log.error("unable to bind " + binding[i]);
- }
return result;
}
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingImplementationGenerator.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingImplementationGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingImplementationGenerator.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -47,7 +47,7 @@
@Override
public JavaFile generate() {
- super.addImports(gmo);
+ super.addImports();
//add the constructor
jf.addMethod(new JavaMethod(Modifier.PUBLIC, null, gmo.getClassDescriptor().getName() + "Impl",
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -25,6 +25,8 @@
import java.lang.reflect.Modifier;
import java.util.Map;
+import org.nuiton.guix.tags.TagHandler;
+import org.nuiton.guix.tags.TagManager;
/**
* Generator of interfaces
@@ -51,15 +53,13 @@
@Override
public JavaFile generate() {
- super.addImports(gmo);
+ super.addImports();
addFields(gmo);
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "initialize", null, null, null, "initialization"));
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_CREATION), null, null, null, ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.COMPONENTS_CREATION), null, null, null, "Components creation"));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_INITIALIZATION), null, null, null, ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.COMPONENTS_TREE), null, null, null, "components layout"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_TREE), null, null, null, ""));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_SETTINGS), null, null, null, ""));
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_BINDING), null, null, null, ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.DATABINDING_INIT), null, null, null, "initilization of databinding"));
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.IN_THE_END), null, null, null, ""));
return jf;
@@ -73,21 +73,20 @@
private void addFields(GuixModelObject gmo) {
for (GuixModelObject child : gmo.getChildren()) {
//if gmo represents a Guix tag
- if (child.getClassDescriptor().getPackageName() == null || child.getClassDescriptor().getPackageName().equals("org.nuiton.guix.tags.swing")) {
- //if it is a table
- if (child.getClassDescriptor().getName() != null && child.getClassDescriptor().getName().equals("Table")) {
- //the table is represented by a JPanel
+ if (child.getClassDescriptor().getPackageName() == null
+ && TagManager.getGuixClassHandler(child.getClassDescriptor().getName()) != null) {
+ if(TagManager.getGuixClassHandler(child.getClassDescriptor().getName()).getClassToGenerate() != null) {
jf.addField(new JavaField(Modifier.PRIVATE,
- "javax.swing.JPanel",
+ TagManager.getGuixClassHandler(child.getClassDescriptor().getName()).getClassToGenerate().getName(),
child.getId(), child.getJavadoc()),
- true);
+ gmo.isJavaBean());
}
}
else {
jf.addField(new JavaField(Modifier.PRIVATE,
- (classes != null && classes.containsKey(child.getClassDescriptor().toString())) ? child.getClassDescriptor().getName() + "Abstract" : child.getClassDescriptor().getName(),
+ (classes != null && classes.containsKey(child.getClassDescriptor().toString())) ? child.getClassDescriptor().toString() + "Abstract" : child.getClassDescriptor().toString(),
child.getId(), child.getJavadoc()),
- true);
+ gmo.isJavaBean());
}
addFields(child);
}
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -40,29 +40,10 @@
@Override
/**
* Add imports to the generated file
- *
- * @param gmo GuixModelObject which represents the class to generate
*/
- protected void addImports(GuixModelObject gmo) {for (GuixModelObject child : gmo.getChildren()) {
- if (child.getClassDescriptor().getPackageName() == null
- && TagManager.getGuixClassHandler(child.getClassDescriptor().getName()) != null) {
- TagHandler th = TagManager.getGuixClassHandler(child.getClassDescriptor().getName());
- if(th.getClassToGenerate() != null) {
- Class clazz = th.getClassToGenerate();
- if (imports != null && !imports.contains(clazz.getName())) {
- imports.add(clazz.getName());
- jf.addImport(clazz);
- }
- }
- }
- else {
- if (imports != null && !imports.contains(child.getClassDescriptor().toString())) {
- imports.add(child.getClassDescriptor().toString());
- jf.addImport(classes.containsKey(child.getClassDescriptor().toString()) ? child.getClassDescriptor().toString() + "Abstract" : child.getClassDescriptor().toString());
- }
- }
- addImports(child);
- }
+ protected void addImports() {
+ jf.addImport("javax.swing.*");
+ jf.addImport("java.awt.*");
}
}
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingMainClassGenerator.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingMainClassGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingMainClassGenerator.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -19,7 +19,6 @@
package org.nuiton.guix.generator;
//~--- non-JDK imports --------------------------------------------------------
-import org.nuiton.guix.generator.*;
import org.nuiton.guix.model.GuixModelObject;
//~--- JDK imports ------------------------------------------------------------
@@ -62,8 +61,6 @@
*/
public void generate(File out) {
String gmoClassName = gmo.getClassDescriptor().getName();
- String gmoAttributeName = gmoClassName.replace(gmoClassName.charAt(0),
- Character.toLowerCase(gmoClassName.charAt(0)));
clazz.addImport("java.io.File");
clazz.addImport("org.springframework.beans.factory.ListableBeanFactory");
@@ -71,22 +68,6 @@
clazz.addImport("org.springframework.core.io.FileSystemResource");
StringBuffer mainMethod = new StringBuffer();
- /*mainMethod.append("//usine à beans\n")
- .append("ListableBeanFactory bf = new XmlBeanFactory(")
- .append("new FileSystemResource(new File(\"")
- .append(destDir.getAbsolutePath())
- .append("/config.xml\")));\n")
- .append(gmoClassName)
- .append(" ")
- .append(gmoAttributeName)
- .append(" = (")
- .append(gmoClassName)
- .append(") bf.getBean(\"")
- .append(gmoAttributeName)
- .append("\");\n")
- .append(gmoAttributeName)
- .append(".test();");*/
- //SwingUtilities.invokeLater(new Runnable() { public void run() { new JAXXDemo().setVisible(true); } });
mainMethod.append("javax.swing.SwingUtilities.invokeLater(").append("new Runnable() {").append("public void run() {").append(gmoClassName).append("Impl main = new ").append(gmoClassName).append("Impl();\n").append("main.pack();\n").append("main.setVisible(true);}});");
clazz.addMethod(new JavaMethod(
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/CheckBoxHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/CheckBoxHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/CheckBoxHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,19 @@
+
+package org.nuiton.guix.tags.swing;
+
+/**
+ * Handles the ChackBox tag
+ *
+ * @author kmorin
+ */
+public class CheckBoxHandler extends ToggleButtonHandler {
+
+ public CheckBoxHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JCheckBox.class;
+ }
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ComboBoxHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ComboBoxHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ComboBoxHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,27 @@
+
+package org.nuiton.guix.tags.swing;
+import java.awt.event.ItemListener;
+
+/**
+ * Handles the combobox tag
+ *
+ * @author kmorin
+ */
+public class ComboBoxHandler extends ComponentHandler {
+
+ public ComboBoxHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JComboBox.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getSelectedIndex", ItemListener.class, "");
+ addProxyEventInfo("getSelectedItem", ItemListener.class, "");
+ }
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/DialogBoxHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/DialogBoxHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/DialogBoxHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,20 @@
+package org.nuiton.guix.tags.swing;
+
+
+/**
+ * Handles the DialogBoxHandler
+ *
+ * @author kmorin
+ */
+public class DialogBoxHandler extends ComponentHandler {
+
+ public DialogBoxHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JDialog.class;
+ }
+
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ListHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ListHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ListHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,29 @@
+
+package org.nuiton.guix.tags.swing;
+import javax.swing.event.ListSelectionListener;
+
+/**
+ * Handles the list tag
+ *
+ * @author kmorin
+ */
+public class ListHandler extends ComponentHandler {
+
+ public ListHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JList.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getSelectedIndex", ListSelectionListener.class, "selectionModel");
+ addProxyEventInfo("getSelectedIndices", ListSelectionListener.class, "selectionModel");
+ addProxyEventInfo("getSelectedValue", ListSelectionListener.class, "selectionModel");
+ addProxyEventInfo("getSelectedValues", ListSelectionListener.class, "selectionModel");
+ }
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/PasswordFieldHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/PasswordFieldHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/PasswordFieldHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,27 @@
+
+package org.nuiton.guix.tags.swing;
+
+import javax.swing.event.DocumentListener;
+
+/**
+ * Handles the PasswordField tag
+ *
+ * @author kmorin
+ */
+public class PasswordFieldHandler extends TextComponentHandler {
+
+ public PasswordFieldHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JPasswordField.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getPassword", DocumentListener.class, "document");
+ }
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ProgressBarHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ProgressBarHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ProgressBarHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,27 @@
+
+package org.nuiton.guix.tags.swing;
+import javax.swing.event.ChangeListener;
+
+/**
+ * Handles the progressbar tag
+ *
+ * @author kmorin
+ */
+public class ProgressBarHandler extends ComponentHandler {
+
+ public ProgressBarHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JProgressBar.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getValue", ChangeListener.class, "change");
+ }
+
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/RadioButtonHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/RadioButtonHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/RadioButtonHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,19 @@
+
+package org.nuiton.guix.tags.swing;
+
+/**
+ * Handles the RadioButton tag
+ *
+ * @author kmorin
+ */
+public class RadioButtonHandler extends ToggleButtonHandler {
+
+ public RadioButtonHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JRadioButton.class;
+ }
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ScrollPanelHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ScrollPanelHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/ScrollPanelHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,16 @@
+
+package org.nuiton.guix.tags.swing;
+
+/**
+ * Handles the ScrollPanel tag
+ *
+ * @author kmorin
+ */
+public class ScrollPanelHandler extends ComponentHandler {
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JScrollPane.class;
+ }
+
+}
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SelectableButtonHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SelectableButtonHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SelectableButtonHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -32,7 +32,7 @@
}
@Override
- public void configureProxyEventInfo() {
+ protected void configureProxyEventInfo() {
super.configureProxyEventInfo();
addProxyEventInfo("isSelected", ChangeListener.class, "model");
}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SliderHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SliderHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SliderHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,27 @@
+
+package org.nuiton.guix.tags.swing;
+
+import javax.swing.event.ChangeListener;
+
+/**
+ * Handles the slider tag
+ *
+ * @author kmorin
+ */
+public class SliderHandler extends ComponentHandler {
+
+ public SliderHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JSlider.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getValue", ChangeListener.class, "model");
+ }
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SpinnerHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SpinnerHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SpinnerHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,27 @@
+
+package org.nuiton.guix.tags.swing;
+import javax.swing.event.ChangeListener;
+
+/**
+ * Handles the spinner tag
+ *
+ * @author kmorin
+ */
+public class SpinnerHandler extends ComponentHandler {
+
+ public SpinnerHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JSpinner.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getValue", ChangeListener.class, "model");
+ }
+
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SplitPanelHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SplitPanelHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/SplitPanelHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,16 @@
+
+package org.nuiton.guix.tags.swing;
+
+/**
+ * Handles the VerticalSplitPanel and HorizontalSplitPanel tags
+ *
+ * @author kmorin
+ */
+public class SplitPanelHandler extends ComponentHandler {
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JSplitPane.class;
+ }
+
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TabHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TabHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TabHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,17 @@
+
+package org.nuiton.guix.tags.swing;
+
+import org.nuiton.guix.tags.DefaultTagHandler;
+
+/**
+ *
+ * @author kmorin
+ */
+public class TabHandler extends DefaultTagHandler {
+
+ @Override
+ public Class getClassToGenerate() {
+ return null;
+ }
+
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextAreaHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextAreaHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextAreaHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.swing;
+
+/**
+ * Handles the TextArea tag
+ *
+ * @author kmorin
+ */
+public class TextAreaHandler extends TextComponentHandler {
+
+ public TextAreaHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JTextArea.class;
+ }
+
+}
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextComponentHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextComponentHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextComponentHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -32,7 +32,7 @@
}
@Override
- public void configureProxyEventInfo() {
+ protected void configureProxyEventInfo() {
super.configureProxyEventInfo();
addProxyEventInfo("getText", DocumentListener.class, "document");
}
Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextFieldHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextFieldHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TextFieldHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -36,5 +36,5 @@
public Class getClassToGenerate() {
return javax.swing.JTextField.class;
}
-
+
}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,30 @@
+
+package org.nuiton.guix.tags.swing;
+
+import javax.swing.event.TreeSelectionListener;
+
+/**
+ * Handles the tree tag
+ *
+ * @author kmorin
+ */
+public class TreeHandler extends ComponentHandler {
+
+ public TreeHandler() {
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.JTree.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getSelectionCount", TreeSelectionListener.class, "selectionModel");
+ addProxyEventInfo("getSelectionPath", TreeSelectionListener.class, "selectionModel");
+ addProxyEventInfo("getSelectionPaths", TreeSelectionListener.class, "selectionModel");
+ addProxyEventInfo("getSelectionRows", TreeSelectionListener.class, "selectionModel");
+ addProxyEventInfo("getSelectionValue", TreeSelectionListener.class, "selectionModel");
+ }
+}
Added: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeNodeHandler.java
===================================================================
--- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeNodeHandler.java (rev 0)
+++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/tags/swing/TreeNodeHandler.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.swing;
+
+/**
+ *
+ * @author kmorin
+ */
+public class TreeNodeHandler extends ComponentHandler {
+
+ public TreeNodeHandler() {
+ super();
+ attrMap.put("value", "userObject");
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return javax.swing.tree.DefaultMutableTreeNode.class;
+ }
+
+}
Modified: trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java
===================================================================
--- trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java 2009-08-25 10:50:11 UTC (rev 1575)
+++ trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java 2009-08-25 10:50:31 UTC (rev 1576)
@@ -43,112 +43,112 @@
@Test
public void testGenerateBinding() {
- SwingGuixInitializer.initialize();
- SwingGenerator sg = new SwingGenerator();
- //tests the not null condition for the parameters that needs to be not null
- Assert.assertNull(sg.generateBindings(null, new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
- Assert.assertNull(sg.generateBindings(new StringBuffer(), null, null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
- Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, null, 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
- Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>()));
- Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>()));
- Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, null, new HashMap<GuixGenerator, JavaFile>()));
- Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", null));
- Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, null, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
-
- //tests with a class parameter not null
- //tests without TagHandlers
- List<Class> l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, JToggleButton.class, new String[]{"isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- //tests a successful generation with a method as a binding
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0), ChangeListener.class);
- //tests a successful generation with an attribute as a binding
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0), ChangeListener.class);
-
- //tests with a javafile parameter not null
- //tests if the result is empty without the taghandler associated to the field
- JavaFile jf = new JavaFile();
- jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
-
- //tests a successful generation with a method as a binding
- jf = new JavaFile();
- jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler()));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 2);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0), ChangeListener.class);
- Assert.assertNotNull(l.get(1));
- Assert.assertEquals(l.get(1), PropertyChangeListener.class);
- //tests a successful generation with an attribute as a binding
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"button","selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 2);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0), ChangeListener.class);
- Assert.assertNotNull(l.get(1));
- Assert.assertEquals(l.get(1), PropertyChangeListener.class);
-
- //tests with a javafile parameter not null with an attribute whose type is another generated file
- //tests if the result is empty without the taghandler associated to the field
- jf = new JavaFile();
- jf.addField(new JavaField(Modifier.PRIVATE, "test.Test", "test", null));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "test.Test", "getTest", null, null, "", null));
- JavaFile jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null);
- jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null));
- jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- //test without jf2 in the map of generators with JavaFile
- jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null);
- jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler()));
- jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
-
- Map<GuixGenerator,JavaFile> map = new HashMap<GuixGenerator, JavaFile>();
- map.put(sg, jf2);
- //tests an unsuccessful binding generation with a method as a binding because the superclass of j2 is not assignable from java.awt.Container
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()", "isSelected()"}, 0, null, "", map);
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- //tests a successful generation with a method as a binding
- jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", "java.awt.Container", null);
- jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler()));
- jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
- map = new HashMap<GuixGenerator, JavaFile>();
- map.put(sg, jf2);
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()", "isSelected()"}, 0, null, "", map);
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 2);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0), ChangeListener.class);
- //the PropertyChangeListener is recorded only once
- Assert.assertNotNull(l.get(1));
- Assert.assertEquals(l.get(1), PropertyChangeListener.class);
- //tests a successful generation with an attribute as a binding
- l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"test","button","selected"}, 0, null, "", map);
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 2);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0), ChangeListener.class);
- //the PropertyChangeListener is recorded only once
- Assert.assertNotNull(l.get(1));
- Assert.assertEquals(l.get(1), PropertyChangeListener.class);
+// SwingGuixInitializer.initialize();
+// SwingGenerator sg = new SwingGenerator();
+// //tests the not null condition for the parameters that needs to be not null
+// Assert.assertNull(sg.generateBindings(null, new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
+// Assert.assertNull(sg.generateBindings(new StringBuffer(), null, null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
+// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, null, 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
+// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>()));
+// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>()));
+// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, null, new HashMap<GuixGenerator, JavaFile>()));
+// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", null));
+// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, null, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>()));
+//
+// //tests with a class parameter not null
+// //tests without TagHandlers
+// List<Class> l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, JToggleButton.class, new String[]{"isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// //tests a successful generation with a method as a binding
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0), ChangeListener.class);
+// //tests a successful generation with an attribute as a binding
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0), ChangeListener.class);
+//
+// //tests with a javafile parameter not null
+// //tests if the result is empty without the taghandler associated to the field
+// JavaFile jf = new JavaFile();
+// jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null));
+// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+//
+// //tests a successful generation with a method as a binding
+// jf = new JavaFile();
+// jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler()));
+// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 2);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0), ChangeListener.class);
+// Assert.assertNotNull(l.get(1));
+// Assert.assertEquals(l.get(1), PropertyChangeListener.class);
+// //tests a successful generation with an attribute as a binding
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"button","selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 2);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0), ChangeListener.class);
+// Assert.assertNotNull(l.get(1));
+// Assert.assertEquals(l.get(1), PropertyChangeListener.class);
+//
+// //tests with a javafile parameter not null with an attribute whose type is another generated file
+// //tests if the result is empty without the taghandler associated to the field
+// jf = new JavaFile();
+// jf.addField(new JavaField(Modifier.PRIVATE, "test.Test", "test", null));
+// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "test.Test", "getTest", null, null, "", null));
+// JavaFile jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null);
+// jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null));
+// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton","isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// //test without jf2 in the map of generators with JavaFile
+// jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null);
+// jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler()));
+// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton","isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+//
+// Map<GuixGenerator,JavaFile> map = new HashMap<GuixGenerator, JavaFile>();
+// map.put(sg, jf2);
+// //tests an unsuccessful binding generation with a method as a binding because the superclass of j2 is not assignable from java.awt.Container
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton", "isSelected"}, 0, null, "", map);
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// //tests a successful generation with a method as a binding
+// jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", "java.awt.Container", null);
+// jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler()));
+// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null));
+// map = new HashMap<GuixGenerator, JavaFile>();
+// map.put(sg, jf2);
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton", "isSelected"}, 0, null, "", map);
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 2);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0), ChangeListener.class);
+// //the PropertyChangeListener is recorded only once
+// Assert.assertNotNull(l.get(1));
+// Assert.assertEquals(l.get(1), PropertyChangeListener.class);
+// //tests a successful generation with an attribute as a binding
+// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"test","button","selected"}, 0, null, "", map);
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 2);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0), ChangeListener.class);
+// //the PropertyChangeListener is recorded only once
+// Assert.assertNotNull(l.get(1));
+// Assert.assertEquals(l.get(1), PropertyChangeListener.class);
}
}
1
0
r1575 - in trunk/guix-compiler-gwt: . src/main/java/org/nuiton/guix src/main/java/org/nuiton/guix/generator src/main/java/org/nuiton/guix/tags/gwt src/test/java/org/nuiton/guix/generator
by kmorin@users.nuiton.org 25 Aug '09
by kmorin@users.nuiton.org 25 Aug '09
25 Aug '09
Author: kmorin
Date: 2009-08-25 12:50:11 +0200 (Tue, 25 Aug 2009)
New Revision: 1575
Added:
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/DialogBoxHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/HorizontalSplitPanelHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ListHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/PasswordFieldHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ProgressBarHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RadioButtonHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ScrollPanelHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TabHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextAreaHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeNodeHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/VerticalSplitPanelHandler.java
Removed:
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtConfigGenerator.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator1.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtHtmlGenerator.java
Modified:
trunk/guix-compiler-gwt/pom.xml
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtEventHandler.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtGuixInitializer.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtAbstractClassGenerator.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtImplementationGenerator.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtInterfaceGenerator.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtJavaFileGenerator.java
trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java
trunk/guix-compiler-gwt/src/test/java/org/nuiton/guix/generator/GwtGeneratorTest.java
Log:
Removed unused classes
Imporved the binding
Add Handlers
Modified: trunk/guix-compiler-gwt/pom.xml
===================================================================
--- trunk/guix-compiler-gwt/pom.xml 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/pom.xml 2009-08-25 10:50:11 UTC (rev 1575)
@@ -56,6 +56,12 @@
</dependency>
<dependency>
+ <groupId>net.sf.gwt-widget</groupId>
+ <artifactId>gwt-widgets</artifactId>
+ <version>0.2.0</version>
+ </dependency>
+
+ <dependency>
<groupId>xpp3</groupId>
<artifactId>xpp3</artifactId>
</dependency>
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtEventHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtEventHandler.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtEventHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -119,12 +119,13 @@
.append("(new ")
.append(e.getListenerType().getCanonicalName())
//if only one event is handled for this EventSetDescriptor then add a listener, else add an adapter
- .append(e.getAddListenerMethod().getParameterTypes()[0].getMethods().length == 1 ? "" : "Adapter")
+ .append(e.getAddListenerMethod().getParameterTypes()[0].getMethods().length == map.get(e).keySet().size() ? "" : "Adapter")
.append("() {\n");
//for every event handled for the EventSetDescriptor
for(Method m : map.get(e).keySet()) {
- for(Annotation a : m.getDeclaredAnnotations())
+ for(Annotation a : m.getDeclaredAnnotations()) {
result.append(a.toString()).append("\n");
+ }
//add the method that handles the event
result.append("public ")
.append(m.getReturnType().getCanonicalName())
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtGuixInitializer.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtGuixInitializer.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/GwtGuixInitializer.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -28,13 +28,27 @@
import org.nuiton.guix.tags.gwt.TableHandler;
import org.nuiton.guix.tags.TagManager;
import org.nuiton.guix.tags.gwt.ButtonHandler;
+import org.nuiton.guix.tags.gwt.CheckBoxHandler;
+import org.nuiton.guix.tags.gwt.ComboBoxHandler;
+import org.nuiton.guix.tags.gwt.DialogBoxHandler;
+import org.nuiton.guix.tags.gwt.HorizontalSplitPanelHandler;
import org.nuiton.guix.tags.gwt.LabelHandler;
+import org.nuiton.guix.tags.gwt.ListHandler;
import org.nuiton.guix.tags.gwt.MenuBarHandler;
import org.nuiton.guix.tags.gwt.MenuHandler;
import org.nuiton.guix.tags.gwt.MenuItemHandler;
+import org.nuiton.guix.tags.gwt.PasswordFieldHandler;
+import org.nuiton.guix.tags.gwt.ProgressBarHandler;
+import org.nuiton.guix.tags.gwt.RadioButtonHandler;
+import org.nuiton.guix.tags.gwt.ScrollPanelHandler;
+import org.nuiton.guix.tags.gwt.TabHandler;
import org.nuiton.guix.tags.gwt.TabPanelHandler;
+import org.nuiton.guix.tags.gwt.TextAreaHandler;
import org.nuiton.guix.tags.gwt.TextFieldHandler;
import org.nuiton.guix.tags.gwt.ToggleButtonHandler;
+import org.nuiton.guix.tags.gwt.TreeHandler;
+import org.nuiton.guix.tags.gwt.TreeNodeHandler;
+import org.nuiton.guix.tags.gwt.VerticalSplitPanelHandler;
/**
* Initialize the application
@@ -48,11 +62,25 @@
TagManager.registerGuixClassHandler("Row", RowHandler.class);
TagManager.registerGuixClassHandler("Cell", CellHandler.class);
TagManager.registerGuixClassHandler("Panel", PanelHandler.class);
+ TagManager.registerGuixClassHandler("DialogBox", DialogBoxHandler.class);
+ TagManager.registerGuixClassHandler("ScrollPanel", ScrollPanelHandler.class);
+ TagManager.registerGuixClassHandler("HorizontalSplitPanel", HorizontalSplitPanelHandler.class);
+ TagManager.registerGuixClassHandler("VerticalSplitPanel", VerticalSplitPanelHandler.class);
TagManager.registerGuixClassHandler("Button", ButtonHandler.class);
TagManager.registerGuixClassHandler("TextField", TextFieldHandler.class);
+ TagManager.registerGuixClassHandler("TextArea", TextAreaHandler.class);
TagManager.registerGuixClassHandler("Label", LabelHandler.class);
TagManager.registerGuixClassHandler("ToggleButton", ToggleButtonHandler.class);
+ TagManager.registerGuixClassHandler("CheckBox", CheckBoxHandler.class);
+ TagManager.registerGuixClassHandler("ComboBox", ComboBoxHandler.class);
+ TagManager.registerGuixClassHandler("PasswordField", PasswordFieldHandler.class);
+ TagManager.registerGuixClassHandler("ProgressBar", ProgressBarHandler.class);
+ TagManager.registerGuixClassHandler("RadioButton", RadioButtonHandler.class);
TagManager.registerGuixClassHandler("TabPanel", TabPanelHandler.class);
+ TagManager.registerGuixClassHandler("Tab", TabHandler.class);
+ TagManager.registerGuixClassHandler("Tree", TreeHandler.class);
+ TagManager.registerGuixClassHandler("TreeNode", TreeNodeHandler.class);
+ TagManager.registerGuixClassHandler("List", ListHandler.class);
TagManager.registerGuixClassHandler("MenuBar", MenuBarHandler.class);
TagManager.registerGuixClassHandler("Menu", MenuHandler.class);
TagManager.registerGuixClassHandler("MenuItem", MenuItemHandler.class);
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtAbstractClassGenerator.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtAbstractClassGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtAbstractClassGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -34,7 +34,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.nuiton.guix.databinding.BindingUtils;
+import org.nuiton.guix.BindingUtils;
import org.nuiton.guix.GwtEventHandler;
import org.nuiton.guix.model.AttributeDescriptor;
import org.nuiton.guix.model.StyleSheet;
@@ -56,6 +56,9 @@
*/
public class GwtAbstractClassGenerator extends GwtJavaFileGenerator {
+ private static final String SETTER_PATTERN = "%1$s oldValue = this.%2$s;\n%3$s\nsupport.firePropertyChange(\"%2$s\", oldValue, %4$s);";
+ private static final String GWT_DEFAULT_PACKAGE = "com.google.gwt.user.client.ui";
+
/** Stylesheets applied to the objects of the class */
List<StyleSheet> styleSheets = new ArrayList<StyleSheet>();
/** map of the different parts of the script associated with gmo */
@@ -80,8 +83,7 @@
gmo.getClassDescriptor().getName() + "Abstract",
null, gmo.getJavadoc());
- ScriptHandler sh = new ScriptHandler();
- script = sh.decomposeScript(gmo.getClassDescriptor().getScript());
+ script = ScriptHandler.decomposeScript(gmo.getClassDescriptor().getScript());
}
public void setGwtGenerator(GwtGenerator gwtGenerator) {
@@ -90,19 +92,23 @@
@Override
public JavaFile generate() {
- super.addImports(gmo);
+ super.addImports();
//add imports
for (String s : (List<String>) script.get(ScriptPart.IMPORTS)) {
jf.addImport(s);
}
+ //add fields
+ for(JavaField field : (List<JavaField>) script.get(ScriptPart.FIELDS)) {
+ jf.addField(field, true);
+ }
+
//add bodycode
jf.addBodyCode((String) script.get(ScriptPart.BODYCODE));
-
-
try {
+ //get creation, setting and displying methods content
Map<Method, String> methodBodies = browseModelObjects(gmo);
//add constructor
@@ -112,17 +118,18 @@
//add initialization method
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "initialize", null, null,
getMethodName(Method.BEFORE_CREATION) + "();\n" + getMethodName(Method.COMPONENTS_CREATION) + "();\n" +
- getMethodName(Method.COMPONENTS_SETTINGS) + "();\n" +
(script.get(ScriptPart.INITIALIZERS) != null ? script.get(ScriptPart.INITIALIZERS) + "\n" : "") +
- getMethodName(Method.BEFORE_INITIALIZATION) + "();\n" + getMethodName(Method.COMPONENTS_TREE) + "();\n" +
+ getMethodName(Method.BEFORE_SETTINGS) + "();\n" + getMethodName(Method.COMPONENTS_SETTINGS) + "();\n" +
+ getMethodName(Method.BEFORE_TREE) + "();\n" + getMethodName(Method.COMPONENTS_TREE) + "();\n" +
getMethodName(Method.BEFORE_BINDING) + "();\n" + getMethodName(Method.DATABINDING_INIT) + "();\n" + getMethodName(Method.IN_THE_END) + "();",
"initialization"));
//add overridable methods
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_CREATION), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_CREATION) + "();\n" : "", ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_INITIALIZATION), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_INITIALIZATION) + "();\n" : "", ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_BINDING), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_BINDING) + "();\n" : "", ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.IN_THE_END), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.IN_THE_END) + "();\n" : "", ""));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_CREATION), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_CREATION) + "();\n" : "", "Method called before the creation of the components"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_TREE), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_TREE) + "();\n" : "", "Method called before the creation of the component tree"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_SETTINGS), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_SETTINGS) + "();\n" : "", "Method called before the settings of the components"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_BINDING), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.BEFORE_BINDING) + "();\n" : "", "Method called before the binding"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.IN_THE_END), null, null, jf.isSuperclassIsGuixObject() ? "super." + getMethodName(Method.IN_THE_END) + "();\n" : "", "Method called in the end of the initialization"));
//add creation and initialization methods
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.COMPONENTS_CREATION), null, null,
@@ -143,7 +150,7 @@
//add script methods
for (JavaMethod m : (List<JavaMethod>) script.get(ScriptPart.METHODS)) {
//checks if the method override a generated method
- if ((m.getName().equals(getMethodName(Method.BEFORE_BINDING)) || m.getName().equals(getMethodName(Method.BEFORE_CREATION)) || m.getName().equals(getMethodName(Method.BEFORE_INITIALIZATION)) || m.getName().equals(getMethodName(Method.IN_THE_END))) && m.getReturnType() != null && m.getReturnType().equals("void") && m.getArguments() == null) {
+ if ((m.getName().equals(getMethodName(Method.BEFORE_BINDING)) || m.getName().equals(getMethodName(Method.BEFORE_CREATION)) || m.getName().equals(getMethodName(Method.BEFORE_TREE)) || m.getName().equals(getMethodName(Method.BEFORE_SETTINGS)) || m.getName().equals(getMethodName(Method.IN_THE_END))) && m.getReturnType() != null && m.getReturnType().equals("void") && m.getArguments() == null) {
int i = 0;
boolean methodFound = false;
while (i < jf.getMethods().length && !methodFound) {
@@ -161,6 +168,27 @@
jf.addMethod(m);
}
}
+ //add the method for the PropertChange management
+ if(!jf.isSuperclassIsGuixObject()) {
+ jf.addField(new JavaField(Modifier.PROTECTED, "java.beans.PropertyChangeSupport", "support", "new java.beans.PropertyChangeSupport(this)", null, null));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "addPropertyChangeListener", new JavaArgument[]{new JavaArgument("java.beans.PropertyChangeListener", "listener")},
+ null, "support.addPropertyChangeListener(listener);", null));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "addPropertyChangeListener", new JavaArgument[]{new JavaArgument("String", "property"), new JavaArgument("java.beans.PropertyChangeListener", "listener")},
+ null, "support.addPropertyChangeListener(property, listener);", null));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "removePropertyChangeListener", new JavaArgument[]{new JavaArgument("java.beans.PropertyChangeListener", "listener")},
+ null, "support.addPropertyChangeListener(listener);", null));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "removePropertyChangeListener", new JavaArgument[]{new JavaArgument("String", "property"), new JavaArgument("java.beans.PropertyChangeListener", "listener")},
+ null, "support.addPropertyChangeListener(property, listener);", null));
+ }
+ //Modify the setters by adding the firePropertyChange call
+ for(JavaMethod method : jf.getMethods()) {
+ if(method.getName().startsWith("set") && method.getName().length() > 3
+ && Character.isUpperCase(method.getName().charAt(3)) && method.getArguments() != null) {
+ method.setBodyCode(String.format(SETTER_PATTERN, method.getArguments()[0].getType(),
+ Character.toLowerCase(method.getName().charAt(3)) + method.getName().substring(4),
+ method.getBodyCode(), method.getArguments()[0].getName()));
+ }
+ }
}
catch (ClassNotFoundException eee) {
if (log.isErrorEnabled()) {
@@ -190,31 +218,24 @@
Class clazz = null;
//do we need to overcharge the field
boolean createField = true;
- //Name of the tab
- String tabName = null;
//id with the first letter capitalized
String capitalizedId = (gmo.getId().length() > 0) ? Character.toUpperCase(gmo.getId().charAt(0)) + gmo.getId().substring(1) : gmo.getId();
- if(gmo.getParent() != null
- && (gmo.getParent().getClassDescriptor().toString().equals(TabPanel.class.getName())
- || (gmo.getParent().getClassDescriptor().getPackageName() == null
- && gmo.getParent().getClassDescriptor().getName().equals("TabPanel")))) {
- int i = 0;
- while(i < gmo.getAttributeDescriptors().size() && tabName == null) {
- if(gmo.getAttributeDescriptors().get(i).getName().equalsIgnoreCase("name")) {
- tabName = "\"" + gmo.getAttributeDescriptors().get(i).getValue() + "\"";
- }
- }
- }
//if gmo represnts a table tag
- if (gmo.getClassDescriptor().getPackageName() == null && gmo.getClassDescriptor().getName().equalsIgnoreCase("Table")) {
+ if ((gmo.getClassDescriptor().getSuperClass() != null
+ && ((gmo.getClassDescriptor().getSuperClass().getPackageName() == null
+ && (gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("Table") || gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("FlexTable")))
+ || gmo.getClassDescriptor().getSuperClass().toString().equals("com.google.gwt.user.client.ui.FlexTable")))
+ || ((gmo.getClassDescriptor().getPackageName() == null
+ && (gmo.getClassDescriptor().getName().equalsIgnoreCase("Table") || gmo.getClassDescriptor().getName().equalsIgnoreCase("FlexTable")))
+ || gmo.getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.FlexTable"))) {
//matrix of the gridbaglayout : the free zones are represented by null or false
List<List<int[]>> layout = new ArrayList<List<int[]>>();
StringBuffer settingsMethod = new StringBuffer();
//Checks in the table tag if any attribute defines constraints for the children
- TableHandler table = new TableHandler(gmo);
+ TableHandler tableHandler = new TableHandler(gmo);
//the table is a FlexPanel
- clazz = table.getClassToGenerate();
+ clazz = tableHandler.getClassToGenerate();
//if the gmo is the parent or if the field is inherited and has the same class, we don't need to overcharge the field
if(gmo.getParent() == null || (jf.getInheritedField(gmo.getId()) != null && jf.getInheritedField(gmo.getId()).getType().equals(clazz.getName()))) {
@@ -223,18 +244,26 @@
//if the field is inherited but doesn't hav the same class, check if the types are compatible
if(createField && jf.getInheritedField(gmo.getId()) != null) {
try {
- Class inheritedClazz = Class.forName(jf.getInheritedField(gmo.getId()).getType());
+ Class inheritedClazz = gwtClassLoader.loadClass(jf.getInheritedField(gmo.getId()).getType());
if(!inheritedClazz.isAssignableFrom(clazz)) {
throw new ClassCastException();
}
}
catch(ClassNotFoundException eee) {
- throw new ClassCastException();
+ try {
+ Class inheritedClazz = ClassLoader.getSystemClassLoader().loadClass(jf.getInheritedField(gmo.getId()).getType());
+ if(!inheritedClazz.isAssignableFrom(clazz)) {
+ throw new ClassCastException();
+ }
+ }
+ catch(ClassNotFoundException eeee) {
+ throw new ClassCastException();
+ }
}
}
if(createField) {
jf.addField(new JavaField(Modifier.PROTECTED,
- clazz.getName(), gmo.getId(), gmo.getJavadoc(), table), true);
+ clazz.getName(), gmo.getId(), gmo.getJavadoc(), tableHandler), gmo.isJavaBean());
componentsCreation.append(gmo.getId()).append(" = new ").append(clazz.getName())
.append("(").append(gmo.getConstructor() != null ? gmo.getConstructor() : "").append(");\n");
@@ -250,14 +279,20 @@
}
settingsMethod.append(gmo.getId())
.append(".addStyleName(\"Table\");\n");
- processAttributes(clazz, gmo, settingsMethod, geh, table);
+ processAttributes(clazz, gmo, settingsMethod, geh, tableHandler);
//add the component to its parent
- componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId());
- if(tabName != null) {
- componentsTree.append(",").append(tabName);
+ if (!ignoreTag(gmo)) {
+ if(gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ }
+ else if(addItemComponent(gmo)) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".addItem(").append(gmo.getId()).append(");\n");
+ }
+ else {
+ componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId()).append(");\n");
+ }
}
- componentsTree.append(");\n");
for (int r = 0; r < gmo.getChildren().size(); r++) {
GuixModelObject row = gmo.getChildren().get(r);
@@ -269,10 +304,10 @@
}
else {
//Checks in the row tag if any attribute defines constraints for the children
- RowHandler ro = new RowHandler(row, table);
+ RowHandler rowHandler = new RowHandler(row, tableHandler);
componentsTree.append(gmo.getId())
.append(".getRowFormatter().addStyleName(")
- .append(ro.getRow() > 0 ? ro.getRow() : r).append(",\"Row\");\n");
+ .append(rowHandler.getRow() > 0 ? rowHandler.getRow() : r).append(",\"Row\");\n");
int iC = 0;
for (int c = 0; c < row.getChildren().size(); c++) {
GuixModelObject cell = row.getChildren().get(c);
@@ -289,8 +324,8 @@
}
}
else {
- CellHandler cl = new CellHandler(cell, ro);
- componentsTree.append(TableHandler.createCell(gmo.getId(), cl, layout, iC, r));
+ CellHandler cellHandler = new CellHandler(cell, rowHandler);
+ componentsTree.append(TableHandler.createCell(gmo.getId(), cellHandler, layout, iC, r));
//browse the children of the child of the cell
Map<Method, String> methodBodies = browseModelObjects(cell.getChildren().get(0));
@@ -304,11 +339,50 @@
//create the table
componentsSettings.append(gmo.getId()).append("Settings();\n");
}
+ else if ((gmo.getClassDescriptor().getSuperClass() != null && gmo.getClassDescriptor().getSuperClass().getPackageName() == null && gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("Tab"))
+ || (gmo.getClassDescriptor().getPackageName() == null && gmo.getClassDescriptor().getName().equalsIgnoreCase("Tab"))) {
+ //if the parent has a superclass and this superclass is a TabPanel or if the parent is null or if the parent is a TabPanel
+ if(((gmo.getParent().getClassDescriptor().getSuperClass() != null
+ && ((gmo.getParent().getClassDescriptor().getSuperClass().getPackageName() == null
+ && gmo.getParent().getClassDescriptor().getSuperClass().getName().equals("TabPanel"))
+ || (gmo.getParent().getClassDescriptor().getSuperClass().toString().equals("com.google.gwt.user.client.ui.TabPanel"))))
+ ||(gmo.getParent() == null
+ || (gmo.getParent().getClassDescriptor().getPackageName() == null
+ && gmo.getParent().getClassDescriptor().getName().equals("TabPanel"))
+ || (gmo.getParent().getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.TabPanel"))))
+ && gmo.getChildren().size() == 1) {
+ String title = null;
+ for(AttributeDescriptor attribute : gmo.getAttributeDescriptors()) {
+ if(attribute.getName().equals("title")) {
+ title = attribute.getValue();
+ break;
+ }
+ }
+
+ //add the component to its parent
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".add(")
+ .append(gmo.getChildren().get(0).getId()).append(",").append(title != null ? title : "\"" + gmo.getId() + "\"").append(");\n");
+
+ Map<Method, String> methodBodies = browseModelObjects(gmo.getChildren().get(0));
+ componentsCreation.append(methodBodies.get(Method.COMPONENTS_CREATION));
+ componentsSettings.append(methodBodies.get(Method.COMPONENTS_SETTINGS));
+ componentsTree.append(methodBodies.get(Method.COMPONENTS_TREE));
+ }
+ else if(log.isErrorEnabled()) {
+ log.error("Tab tags can only be children of TabPanel tags, and can have only one child.");
+ }
+ }
//if gmo represnts a menubar tag
- else if (gmo.getClassDescriptor().getPackageName() == null && gmo.getClassDescriptor().getName().equalsIgnoreCase("MenuBar")) {
+ else if ((gmo.getClassDescriptor().getSuperClass() != null
+ && ((gmo.getClassDescriptor().getSuperClass().getPackageName() == null
+ && gmo.getClassDescriptor().getSuperClass().getName().equalsIgnoreCase("MenuBar"))
+ || gmo.getClassDescriptor().getSuperClass().toString().equals("com.google.gwt.user.client.ui.MenuBar")))
+ || ((gmo.getClassDescriptor().getPackageName() == null
+ && gmo.getClassDescriptor().getName().equalsIgnoreCase("MenuBar"))
+ || gmo.getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.MenuBar"))) {
StringBuffer settingsMethod = new StringBuffer();
- MenuBarHandler menuBar = new MenuBarHandler();
- clazz = menuBar.getClassToGenerate();
+ MenuBarHandler menuBarHandler = new MenuBarHandler();
+ clazz = menuBarHandler.getClassToGenerate();
//if the gmo is the parent or if the field is inherited and has the same class, we don't need to overcharge the field
if(gmo.getParent() == null || (jf.getInheritedField(gmo.getId()) != null && jf.getInheritedField(gmo.getId()).getType().equals(clazz.getName()))) {
createField = false;
@@ -316,20 +390,28 @@
//if the field is inherited but doesn't hav the same class, check if the types are compatible
if(createField && jf.getInheritedField(gmo.getId()) != null) {
try {
- Class inheritedClazz = Class.forName(jf.getInheritedField(gmo.getId()).getType());
+ Class inheritedClazz = gwtClassLoader.loadClass(jf.getInheritedField(gmo.getId()).getType());
if(!inheritedClazz.isAssignableFrom(clazz)) {
throw new ClassCastException();
}
}
catch(ClassNotFoundException eee) {
- throw new ClassCastException();
+ try {
+ Class inheritedClazz = ClassLoader.getSystemClassLoader().loadClass(jf.getInheritedField(gmo.getId()).getType());
+ if(!inheritedClazz.isAssignableFrom(clazz)) {
+ throw new ClassCastException();
+ }
+ }
+ catch(ClassNotFoundException eeee) {
+ throw new ClassCastException();
+ }
}
}
if(createField) {
jf.addField(new JavaField(Modifier.PROTECTED,
- clazz.getName(), gmo.getId(), gmo.getJavadoc(), menuBar),
- true);
+ clazz.getName(), gmo.getId(), gmo.getJavadoc(), menuBarHandler),
+ gmo.isJavaBean());
componentsCreation.append(gmo.getId()).append(" = new ").append(clazz.getName())
.append("(").append(gmo.getConstructor() != null ? gmo.getConstructor() : "").append(");\n");
@@ -342,14 +424,20 @@
if(jf.isSuperclassIsGuixObject() && jf.getInheritedField(gmo.getId()) != null) {
settingsMethod.insert(0, "super." + gmo.getId() + "Settings();\n");
}
- processAttributes(clazz, gmo, settingsMethod, geh, menuBar);
+ processAttributes(clazz, gmo, settingsMethod, geh, menuBarHandler);
//add the component to its parent
- componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId());
- if(tabName != null) {
- componentsTree.append(",").append(tabName);
+ if (!ignoreTag(gmo)) {
+ if(gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
+ }
+ else if(addItemComponent(gmo)) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".addItem(").append(gmo.getId()).append(");\n");
+ }
+ else {
+ componentsTree.append(gmo.getParent().getParent() == null ? "this" : gmo.getParent().getId()).append(".add(").append(gmo.getId()).append(");\n");
+ }
}
- componentsTree.append(");\n");
for (GuixModelObject child : gmo.getChildren()) {
//browse the children of the child of the menubar
@@ -361,6 +449,7 @@
//create the menu
componentsSettings.append(gmo.getId()).append("Settings();\n");
}
+
//if gmo represents a "normal" tag
else {
//TagHandler of gmo's class
@@ -382,41 +471,54 @@
clazz = th.getClassToGenerate();
}
}
- //check if gmo's superclass has a TagHandler and get the class to generate instead
- else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName()) != null) {
- th = TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName());
- if(th != null) {
- clazz = th.getClassToGenerate();
- }
- }
- //check if gmo's type is a generated class
- else if(gmo.getClassDescriptor() != null && classes.get(gmo.getClassDescriptor().toString()) != null) {
- jFile = classes.get(gmo.getClassDescriptor().toString());
- }
- //check if gmo is the first tag and its superclass is a generated class
- else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && classes.get(gmo.getClassDescriptor().getSuperClass().toString()) != null) {
- jFile = classes.get(gmo.getClassDescriptor().getSuperClass().toString());
- }
+ //check if gmo's class has a TagHandler and get the class to generate instead
else {
- try{
- //get the class represented by cd
- clazz = gwtClassLoader.loadClass(gmo.getClassDescriptor().toString());
+ if(gmo.getClassDescriptor().getPackageName() == null) {
+ gmo.getClassDescriptor().setPackageName(GWT_DEFAULT_PACKAGE);
}
- catch (ClassNotFoundException eee) {
- try {
- clazz = ClassLoader.getSystemClassLoader().loadClass(gmo.getClassDescriptor().toString());
+ if(TagManager.getGuixClassHandler(gmo.getClassDescriptor().toString()) != null) {
+ th = TagManager.getGuixClassHandler(gmo.getClassDescriptor().toString());
+ if(th != null) {
+ clazz = th.getClassToGenerate();
}
- catch(ClassNotFoundException eeee) {
- File f = new File(gwtGenerator.getSrcDir(), gmo.getClassDescriptor().toString().replace('.', File.separatorChar) + ".java");
+ }
+ //check if gmo's superclass has a TagHandler and get the class to generate instead
+ else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName()) != null) {
+ th = TagManager.getGuixClassHandler(gmo.getClassDescriptor().getSuperClass().getName());
+ if(th != null) {
+ clazz = th.getClassToGenerate();
+ }
+ }
+ //check if gmo's type is a generated class
+ else if(gmo.getClassDescriptor() != null && classes.get(gmo.getClassDescriptor().toString()) != null) {
+ jFile = classes.get(gmo.getClassDescriptor().toString());
+ }
+ //check if gmo is the first tag and its superclass is a generated class
+ else if(gmo.getParent() == null && gmo.getClassDescriptor().getSuperClass() != null && classes.get(gmo.getClassDescriptor().getSuperClass().toString()) != null) {
+ jFile = classes.get(gmo.getClassDescriptor().getSuperClass().toString());
+ }
+ else {
+ try{
+ //get the class represented by cd
+ clazz = gwtClassLoader.loadClass(gmo.getClassDescriptor().toString());
+ }
+ catch (ClassNotFoundException eee) {
try {
- Reader isr = new InputStreamReader(new FileInputStream(f));
- jFile = JavaFileParser.parseJavaFile(gmo.getClassDescriptor().toString(), isr);
+ clazz = ClassLoader.getSystemClassLoader().loadClass(gmo.getClassDescriptor().toString());
}
- catch (FileNotFoundException eeeee) {
- log.error("error : " + gmo.getClassDescriptor().toString());
- log.error(eeeee);
- eeeee.printStackTrace();
- throw new ClassNotFoundException();
+ catch(ClassNotFoundException eeee) {
+ File f = new File(gwtGenerator.getSrcDir(), gmo.getClassDescriptor().toString().replace('.', File.separatorChar) + ".java");
+ try {
+ Reader isr = new InputStreamReader(new FileInputStream(f));
+ jFile = JavaFileParser.parseJavaFile(gmo.getClassDescriptor().toString(), isr);
+ gwtGenerator.getPropertyChangeListenerDependencies().add(jFile);
+ }
+ catch (FileNotFoundException eeeee) {
+ log.error("error : " + gmo.getClassDescriptor().toString());
+ log.error(eeeee);
+ eeeee.printStackTrace();
+ throw new ClassNotFoundException();
+ }
}
}
}
@@ -502,14 +604,12 @@
//if gmo has a TagHandler, add a field to the JavaFile with this TagHandler (used for the databinding generation)
if(th != null && th.getClassToGenerate() != null) {
jf.addField(new JavaField(Modifier.PROTECTED,
- clazz.getName(), gmo.getId(),
- " new " + clazz.getName() + "(" + ((gmo.getConstructor() != null) ? gmo.getConstructor() : "") + ")",
- gmo.getJavadoc(), th), true);
+ clazz.getName(), gmo.getId(), gmo.getJavadoc(), th), gmo.isJavaBean());
}
else {
jf.addField(new JavaField(Modifier.PROTECTED,
(classes != null && classes.containsKey(gmo.getClassDescriptor().toString())) ? gmo.getClassDescriptor().toString() + "Abstract"
- : gmo.getClassDescriptor().toString(), gmo.getId(), gmo.getJavadoc(), superTh != null ? superTh : th), true);
+ : gmo.getClassDescriptor().toString(), gmo.getId(), gmo.getJavadoc(), superTh), gmo.isJavaBean());
}
componentsCreation.append(gmo.getId()).append(" = new ");
@@ -546,19 +646,17 @@
}
//if gmo is the child of a cell
- if (!(gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("Cell")) && !gmo.getClassDescriptor().toString().equals("javax.swing.JMenuBar")) {
+ if (!ignoreTag(gmo)) {
if((jFile != null && (jFile.getField(gmo.getId()) != null || jFile.getInheritedField(gmo.getId()) != null))
|| (gmo.getParent().getParent() == null && jf.getInheritedField(gmo.getId()) != null)) {
componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".set").append(capitalizedId).append("(").append(gmo.getId()).append(");\n");
}
+ else if(addItemComponent(gmo)) {
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".addItem(").append(gmo.getId()).append(");\n");
+ }
//add the component to its parent
else if(superClazz != null && com.google.gwt.user.client.ui.Widget.class.isAssignableFrom(superClazz)) {
- componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".add(").append(gmo.getId());
- //with a tabName if it is not null
- if(tabName != null) {
- componentsTree.append(",").append(tabName);
- }
- componentsTree.append(");\n");
+ componentsTree.append(gmo.getParent().getParent() != null ? gmo.getParent().getId() : "this").append(".add(").append(gmo.getId()).append(");\n");
}
}
}
@@ -610,7 +708,7 @@
jf.addInheritedField(f);
}
}
- processAttributes(jFile, superClazz, gmo, settingsMethod, geh, superTh);
+ processAttributes(jFile, superClazz, gmo, settingsMethod, geh, superTh != null ? superTh: th);
}
else {
log.error("Allo Houston, on a un probleme !");
@@ -633,6 +731,32 @@
}
/**
+ *
+ * @return true if the tag does not represent a real object but is just useful to ease the creation of the UI
+ */
+ private boolean ignoreTag(GuixModelObject gmo) {
+ return (gmo.getParent() != null && (gmo.getParent().getClassDescriptor().getPackageName() == null
+ && (gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("Cell") || gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("Tab")))
+ && !(gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("VerticalSplitPanel"))
+ && !gmo.getParent().getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.VerticalSplitPanel")
+ && !(gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("HorizontalSplitPanel"))
+ && !gmo.getParent().getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.HorizontalSplitPanel"));
+ }
+
+ /**
+ *
+ * @return true if the component parent needs the "addItem" method to add the child
+ */
+ private boolean addItemComponent(GuixModelObject gmo) {
+ return (gmo.getParent() != null && (gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("Tree"))
+ || gmo.getParent().getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.Tree")
+ || (gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("TreeNode"))
+ || gmo.getParent().getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.TreeItem")
+ || (gmo.getParent().getClassDescriptor().getPackageName() == null && gmo.getParent().getClassDescriptor().getName().equalsIgnoreCase("ComboBox"))
+ || gmo.getParent().getClassDescriptor().toString().equals("com.google.gwt.user.client.ui.ListBox"));
+ }
+
+ /**
* Generates the code to set the attributes of the gmo
*
* @param clazz class represented by gmo
@@ -799,7 +923,6 @@
StringBuffer componentsSettings = new StringBuffer("");
StringBuffer componentsTree = new StringBuffer("");
StringBuffer creationMethod = new StringBuffer("");
- StringBuffer bindings = new StringBuffer("");
String text = null, cmd = null;
//gmo's id with the first letter capitalized
String capitalizedId = (gmo.getId().length() > 0) ? Character.toUpperCase(gmo.getId().charAt(0)) + gmo.getId().substring(1) : gmo.getId();
@@ -808,10 +931,7 @@
TagHandler th = new MenuHandler();
Class clazz = th.getClassToGenerate();
jf.addField(new JavaField(Modifier.PROTECTED,
- clazz.getName(), gmo.getId(),
- " new " + clazz.getName() + "(" +
- ((gmo.getConstructor() != null) ? gmo.getConstructor() : "") + ")", gmo.getJavadoc(), th),
- true);
+ clazz.getName(), gmo.getId(), gmo.getJavadoc(), th), gmo.isJavaBean());
componentsCreation.append(gmo.getId()).append(" = new ").append(clazz.getName())
.append("(").append(gmo.getConstructor() != null ? gmo.getConstructor() : "").append(");\n");
@@ -856,7 +976,6 @@
componentsCreation.append(methodBodies.get(Method.COMPONENTS_CREATION));
componentsSettings.append(methodBodies.get(Method.COMPONENTS_SETTINGS));
componentsTree.append(methodBodies.get(Method.COMPONENTS_TREE));
- bindings.append(methodBodies.get(Method.DATABINDING_INIT));
}
}
else if(gmo.getClassDescriptor().getPackageName() == null && gmo.getClassDescriptor().getName().equals("MenuItem")) {
@@ -889,7 +1008,6 @@
result.put(Method.COMPONENTS_CREATION, componentsCreation.toString());
result.put(Method.COMPONENTS_SETTINGS, componentsSettings.toString());
result.put(Method.COMPONENTS_TREE, componentsTree.toString());
- result.put(Method.DATABINDING_INIT, bindings.toString());
return result;
}
Deleted: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtConfigGenerator.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtConfigGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtConfigGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -1,112 +0,0 @@
-/**
- * *##% guix-compiler-gwt
- * Copyright (C) 2009 CodeLutin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
- */
-package org.nuiton.guix.generator;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.guix.model.GuixModelObject;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlPullParserFactory;
-import org.xmlpull.v1.XmlSerializer;
-
-/**
- * Generator of the config file
- *
- * @author kmorin
- */
-public class GwtConfigGenerator {
-
- /** GuixModelObject representing the main class */
- private GuixModelObject gmo;
- /** List of the CSS files needed of the generation */
- protected List<File> cssFiles;
- /** log */
- private Log log = LogFactory.getLog(GwtConfigGenerator.class);
-
- /**
- * Constructor
- *
- * @param gmo GuixModelObject representing the class to generate
- */
- public GwtConfigGenerator(GuixModelObject gmo, List<File> cssFiles) {
- this.gmo = gmo;
- this.cssFiles = cssFiles;
- }
-
- /**
- * Generates the configuration file
- *
- * @param config the file to generate
- */
- public void generate(File config) {
- try {
- XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
-
- XmlSerializer serializer = factory.newSerializer();
-
- serializer.setOutput(new PrintWriter(config));
- serializer.startDocument("UTF-8", null);
- serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");
- serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "\t");
-
- serializer.startTag("", "module");
- serializer.comment("Inherit the core Web Toolkit stuff.");
- serializer.startTag("", "inherits");
- serializer.attribute("", "name", "com.google.gwt.user.User");
- serializer.endTag("","inherits");
-
- serializer.startTag("", "inherits");
- int i = 0;
- while(i < gmo.getAttributeDescriptors().size()
- && !gmo.getAttributeDescriptors().get(i).getName().equals("theme")) {
- i++;
- }
- serializer.attribute("", "name", i < gmo.getAttributeDescriptors().size() ?
- gmo.getAttributeDescriptors().get(i).getValue()
- : "com.google.gwt.user.theme.standard.Standard");
- serializer.endTag("","inherits");
-
- serializer.comment("Specify the app entry point class.");
- serializer.startTag("","entry-point");
- serializer.attribute("", "class", gmo.getClassDescriptor().getPackageName()
- + "." + gmo.getClassDescriptor().getName() + "Impl");
- serializer.endTag("","entry-point");
-
- serializer.comment("Specify the application specific style sheet.");
- for(File f : cssFiles) {
- serializer.startTag("", "stylesheet");
- serializer.attribute("","src", f.getName());
- serializer.endTag("", "stylesheet");
- }
-
- serializer.endTag("", "module");
- serializer.endDocument();
- }
- catch (XmlPullParserException ex) {
- log.error(ex);
- }
- catch (IOException ex) {
- log.error(ex);
- }
- }
-}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -19,6 +19,7 @@
package org.nuiton.guix.generator;
import com.google.gwt.user.client.ui.Label;
+import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -95,23 +96,18 @@
if (mainClass) {
gimg.addMainMethod();
- GwtConfigGenerator gcg = new GwtConfigGenerator(gmo, getCSSFiles());
- GwtHtmlGenerator ghg = new GwtHtmlGenerator(gmo, launcherName);
File javaClientDir = javaOutDir;
while(!javaClientDir.getPath().substring(javaClientDir.getPath().lastIndexOf(File.separatorChar) + 1).equals("client")) {
javaClientDir = javaClientDir.getParentFile();
}
- File outConfigMain = new File(javaClientDir.getParentFile(), launcherName.substring(launcherName.lastIndexOf('.') + 1) + ".gwt.xml");
-// File resourcesClientDir = resourcesOutDir;
-// while(!resourcesClientDir.getPath().substring(resourcesClientDir.getPath().lastIndexOf(File.separatorChar) + 1).equals("client")) {
-// resourcesClientDir = resourcesClientDir.getParentFile();
-// }
+
File publicDir = new File(javaClientDir.getParentFile(), "public");
if (!publicDir.exists()) {
publicDir.mkdirs();
}
- File outHtmlMain = new File(publicDir, launcherName.substring(launcherName.lastIndexOf('.') + 1) + ".html");
- gcg.generate(outConfigMain);
+
+ generateConfig(javaClientDir, publicDir);
+
for(File f : getCSSFiles()) {
try {
File fPublic = new File(publicDir, f.getName());
@@ -131,7 +127,6 @@
log.error(eee);
}
}
- ghg.generate(outHtmlMain);
}
ging.generate();
@@ -145,7 +140,7 @@
serializer.attribute("", "id", gmoClassName.replace(out.getName().charAt(0),
Character.toLowerCase(out.getName().charAt(0)))).attribute("", "class", gmoClassName + "Impl").attribute("", "singleton", "false").endTag("", "bean");
setBindingsToGenerate(gacg.getBindings2Generate());
-g();
+
return jf;
}
catch (IllegalArgumentException eee) {
@@ -178,7 +173,7 @@
return null;
}
- private void g() {
+ private void generateConfig(File javaClientDir, File publicDir) {
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
@@ -192,6 +187,8 @@
if(!webInfDir.exists()) {
webInfDir.mkdirs();
}
+
+ //generates web.xml
serializer.setOutput(new PrintWriter(new File(webInfDir, "web.xml")));
serializer.startDocument("UTF-8", null);
@@ -209,8 +206,8 @@
serializer.endTag("", "web-app");
serializer.endDocument();
+ //generates index.html
serializer = factory.newSerializer();
-
serializer.setOutput(new PrintWriter(new File(webappDir, "index.html")));
serializer.startDocument("UTF-8", null);
serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");
@@ -230,6 +227,113 @@
serializer.endTag("", "html");
serializer.endDocument();
+ //generates the .gwt.xml file
+ serializer = factory.newSerializer();
+
+ serializer.setOutput(new PrintWriter(new File(javaClientDir.getParentFile(), launcherName.substring(launcherName.lastIndexOf('.') + 1) + ".gwt.xml")));
+ serializer.startDocument("UTF-8", null);
+ serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");
+ serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "\t");
+
+ serializer.startTag("", "module");
+ serializer.comment("Inherit the core Web Toolkit stuff.");
+ serializer.startTag("", "inherits");
+ serializer.attribute("", "name", "com.google.gwt.user.User");
+ serializer.endTag("","inherits");
+
+ serializer.startTag("", "inherits");
+ serializer.attribute("", "name", "com.googlecode.gwtx.Java");
+ serializer.endTag("","inherits");
+
+ serializer.startTag("", "inherits");
+ int i = 0;
+ while(i < gmo.getAttributeDescriptors().size()
+ && !gmo.getAttributeDescriptors().get(i).getName().equals("theme")) {
+ i++;
+ }
+ serializer.attribute("", "name", i < gmo.getAttributeDescriptors().size() ?
+ gmo.getAttributeDescriptors().get(i).getValue()
+ : "com.google.gwt.user.theme.standard.Standard");
+ serializer.endTag("","inherits");
+
+ serializer.comment("Specify the app entry point class.");
+ serializer.startTag("","entry-point");
+ serializer.attribute("", "class", gmo.getClassDescriptor().getPackageName()
+ + "." + gmo.getClassDescriptor().getName() + "Impl");
+ serializer.endTag("","entry-point");
+
+ serializer.comment("Specify the application specific style sheet.");
+ for(File f : cssFiles) {
+ serializer.startTag("", "stylesheet");
+ serializer.attribute("","src", f.getName());
+ serializer.endTag("", "stylesheet");
+ }
+
+ serializer.endTag("", "module");
+ serializer.endDocument();
+
+ //generates the .html file
+ serializer = factory.newSerializer();
+
+ serializer.setOutput(new PrintWriter(new File(publicDir, launcherName.substring(launcherName.lastIndexOf('.') + 1) + ".html")));
+ serializer.startDocument("UTF-8", null);
+ serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");
+ serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "\t");
+
+ serializer.docdecl(" HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"");
+ serializer.comment("The HTML 4.01 Transitional DOCTYPE declaration above " +
+ "set at the top of the file will set the browser's rendering engine " +
+ "into \"Quirks Mode\". Replacing this declaration with a \"Standards Mode\" doctype is supported, " +
+ "but may lead to some differences in layout.");
+ serializer.startTag("", "html");
+ serializer.startTag("", "head");
+
+ serializer.startTag("","meta");
+ serializer.attribute("", "http-equiv", "content-type");
+ serializer.attribute("", "content", "text/html; charset=UTF-8");
+ serializer.endTag("","meta");
+
+ serializer.comment("This script loads your compiled module. " +
+ "If you add any GWT meta tags, they must " +
+ "be added before this line.");
+ serializer.startTag("","script");
+ serializer.attribute("", "type", "text/javascript");
+ serializer.attribute("", "language", "javascript");
+ serializer.attribute("", "src", launcherName + ".nocache.js");
+ serializer.text("\n");
+ serializer.endTag("","script");
+
+ serializer.startTag("","title");
+ i = 0;
+ while(i < gmo.getAttributeDescriptors().size()
+ && !gmo.getAttributeDescriptors().get(i).getName().equals("title"))
+ i++;
+ serializer.text(i < gmo.getAttributeDescriptors().size() ?
+ gmo.getAttributeDescriptors().get(i).getValue() :
+ "My Application");
+ serializer.endTag("","title");
+
+
+
+ serializer.endTag("", "head");
+
+ serializer.comment("The body can have arbitrary html, or " +
+ "you can leave the body empty if you want " +
+ "to create a completely dynamic UI.");
+ serializer.startTag("", "body");
+
+ serializer.comment("OPTIONAL: include this if you want history support");
+ serializer.startTag("", "iframe");
+ serializer.attribute("", "src", "javascript:''");
+ serializer.attribute("", "id", "__gwt_historyFrame");
+ serializer.attribute("", "tabIndex", "-1");
+ serializer.attribute("", "style", "position:absolute;width:0;height:0;border:0");
+ serializer.endTag("", "iframe");
+
+ serializer.endTag("", "body");
+ serializer.endTag("", "html");
+ serializer.endDocument();
+
}
catch (XmlPullParserException ex) {
log.error(ex);
@@ -280,128 +384,190 @@
String realMethodName = null;
String realAttributename = null;
- //if the part of the binding is a method
- if (binding[i].endsWith(")")) {
- //the method name is all what is before the first open bracket
- realMethodName = binding[i].substring(0, binding[i].indexOf("("));
- //if the parent of the method has a TagHandler, then check that the method is the generic method name for all the libraries
- //or if it is the right name, and then determine the corresponding attribute
- if(prevTh != null) {
- if(binding[i].startsWith("get")) {
- realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf("(")));
- if(realAttributename != null) {
- realMethodName = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ if(Character.isUpperCase(binding[i].charAt(binding[i].lastIndexOf(".") + 1))) {
+ try {
+ Label.class.getClassLoader().loadClass(binding[i]);
+ }
+ catch (ClassNotFoundException eee) {
+ try {
+ ClassLoader.getSystemClassLoader().loadClass(binding[i]);
+ }
+ catch (ClassNotFoundException eeee) {
+ return null;
+ }
+ }
+ bindingExists = false;
+ }
+ else {
+ //if the part of the binding is a method
+ if (binding[i].endsWith(")")) {
+ //the method name is all what is before the first open bracket
+ realMethodName = binding[i].substring(0, binding[i].indexOf('('));
+ //if the parent of the method has a TagHandler, then check that the method is the generic method name for all the libraries
+ //or if it is the right name, and then determine the corresponding attribute
+ if(prevTh != null) {
+ if(binding[i].startsWith("get")) {
+ realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf("(")));
+ if(realAttributename != null) {
+ realMethodName = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ }
}
+ else if(binding[i].startsWith("is")){
+ realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf("(")));
+ if(realAttributename != null) {
+ realMethodName = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ }
+ }
}
- else if(binding[i].startsWith("is")){
- realAttributename = prevTh.getAttrToGenerate(Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf("(")));
- if(realAttributename != null) {
- realMethodName = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1);
+ //if the method name is the real one, get the corresponding attribute name
+ if(realAttributename == null) {
+ if(binding[i].startsWith("get")) {
+ realAttributename = Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf('('));
}
+ else if(binding[i].startsWith("is")){
+ realAttributename = Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf('('));
+ }
+ else {
+ realAttributename = binding[i].substring(0, binding[i].indexOf('('));
+ }
}
- }
- //if the method name is the real one, get the corresponding attribute name
- if(realAttributename == null) {
- if(binding[i].startsWith("get")) {
- realAttributename = Character.toLowerCase(binding[i].charAt(3)) + binding[i].substring(4, binding[i].indexOf("("));
+ //if the parent of the method is an instance of a generated class
+ if (jf != null) {
+ bindingExists = jf.getMethod(realMethodName, null) != null;
+ if (bindingExists) {
+ returnType = jf.getMethod(realMethodName, null).getReturnType();
+ JavaField f = jf.getField(realAttributename);
+ if (f != null) {
+ th = f.getTagHandler();
+ }
+ }
}
- else if(binding[i].startsWith("is")){
- realAttributename = Character.toLowerCase(binding[i].charAt(2)) + binding[i].substring(3, binding[i].indexOf("("));
- }
else {
- realAttributename = binding[i].substring(0, binding[i].indexOf("("));
+ try {
+ returnType = clazz.getMethod(realMethodName, (Class[])null).getReturnType().getName();
+ bindingExists = true;
+ }
+ catch (NoSuchMethodException eee) {
+ bindingExists = false;
+ }
}
+ getter = realMethodName + binding[i].substring(binding[i].indexOf('('));
}
- //if the parent of the method is an instance of a generated class
- if (jf != null) {
- bindingExists = jf.getMethod(realMethodName, null) != null;
- if (bindingExists) {
- returnType = jf.getMethod(realMethodName, null).getReturnType();
+ //if the part of the binding is an attribute
+ else {
+ //if the parent of the attribute has a TagHandler, then check that the attribute is the generic attribute name for all the libraries
+ //or if it is the right name
+ if(prevTh != null) {
+ realAttributename = prevTh.getAttrToGenerate(binding[i]);
+ }
+ //if it is its real name
+ if(realAttributename == null) {
+ realAttributename = binding[i];
+ }
+ //if the parent of the attribute is an instance of a generated class
+ if (jf != null) {
+ bindingExists = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null || jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null;
+ if (bindingExists) {
+ returnType = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType()
+ : jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType();
+ }
+
+ getter = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()"
+ : "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
+
JavaField f = jf.getField(realAttributename);
if (f != null) {
th = f.getTagHandler();
}
}
- }
- else {
- try {
- returnType = clazz.getMethod(realMethodName, (Class[])null).getReturnType().getName();
- bindingExists = true;
+ else {
+ try {
+ returnType = clazz.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
+ getter = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
+ bindingExists = true;
+ }
+ catch (NoSuchMethodException eee) {
+ try {
+ returnType = clazz.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
+ getter = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
+ bindingExists = true;
+ }
+ catch (NoSuchMethodException eeee) {
+ bindingExists = false;
+ }
+ }
}
- catch (NoSuchMethodException eee) {
- bindingExists = false;
- }
}
- getter = realMethodName + binding[i].substring(binding[i].indexOf("("));
- //replace the value of the binding by the getter method
- binding[i] = getter;
- }
- //if the part of the binding is an attribute
- else {
- //if the parent of the attribute has a TagHandler, then check that the attribute is the generic attribute name for all the libraries
- //or if it is the right name
- if(prevTh != null) {
- realAttributename = prevTh.getAttrToGenerate(binding[i]);
- }
- //if it is its real name
- if(realAttributename == null) {
- realAttributename = binding[i];
- }
- //if the parent of the attribute is an instance of a generated class
- if (jf != null) {
- bindingExists = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null || jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null;
- if (bindingExists) {
- returnType = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType()
- : jf.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null).getReturnType();
+ //if the binding binds an existing attribute or method
+ if (bindingExists) {
+ //replace the value of the binding by the getter method
+ binding[i] = getter;
+ //if the parent has a taghandler
+ if (prevTh != null) {
+ String getterWoBrackets = getter.substring(0, getter.indexOf('('));
+ //for GWT the only objects that can be bound are the ones which have got a TagHandler that defines methods which can be bound
+ if (prevTh.hasEventInfosAboutMethod(getterWoBrackets)) {
+ model = prevTh.getEventInfosModelName(getterWoBrackets);
+ listener = prevTh.getEventInfosListenerClass(getterWoBrackets);
+ addMethod = prevTh.getEventInfosAddListenerMethodName(getterWoBrackets);
+ removeMethod = prevTh.getEventInfosRemoveListenerMethodName(getterWoBrackets);
+ }
}
-
- getter = jf.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), null) != null ? "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()"
- : "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
-
- JavaField f = jf.getField(realAttributename);
- if (f != null) {
- th = f.getTagHandler();
- }
- }
- else {
+ //get the class of the current token or its JavaFile
try {
- returnType = clazz.getMethod("get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
- getter = "get" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
- bindingExists = true;
+ nextClazz = Label.class.getClassLoader().loadClass(returnType);
}
- catch (NoSuchMethodException eee) {
+ catch (ClassNotFoundException eee) {
try {
- returnType = clazz.getMethod("is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1), (Class[])null).getReturnType().getName();
- getter = "is" + Character.toUpperCase(realAttributename.charAt(0)) + realAttributename.substring(1) + "()";
- bindingExists = true;
+ nextClazz = ClassLoader.getSystemClassLoader().loadClass(returnType);
}
- catch (NoSuchMethodException eee2) {
- bindingExists = false;
+ catch (ClassNotFoundException eeee) {
+ for(JavaFile javaFile : generatedFiles.values()) {
+ if(returnType.equals(javaFile.getPackageName() + "." + javaFile.getClassName())) {
+ nextFile = javaFile;
+ break;
+ }
+ }
+ if(nextFile == null) {
+ for(JavaFile javaFile : propertyChangeListenerDependencies) {
+ if(returnType.equals(javaFile.getPackageName() + "." + javaFile.getClassName())) {
+ nextFile = javaFile;
+ break;
+ }
+ }
+ }
}
}
- }
- binding[i] = getter;
- }
- //if the binding binds an existing attribute or method
- if (bindingExists) {
- //if it is the last element of the binding and its parent has a taghandler
- if (i == binding.length - 1 && prevTh != null) {
- String getterWoBrackets = getter.substring(0, getter.indexOf("("));
- //for GWT the only objects that can be bound are the ones which have got a TagHandler that defines methods which can be bound
- if (prevTh.hasEventInfosAboutMethod(getterWoBrackets)) {
- model = prevTh.getEventInfosModelName(getterWoBrackets);
- listener = prevTh.getEventInfosListenerClass(getterWoBrackets);
- addMethod = prevTh.getEventInfosAddListenerMethodName(getterWoBrackets);
- removeMethod = prevTh.getEventInfosRemoveListenerMethodName(getterWoBrackets);
+
+ if(listener == null && clazz != null) {
+ try {
+ clazz.getMethod("addPropertyChangeListener", PropertyChangeListener.class);
+ listener = PropertyChangeListener.class;
+ addMethod = "addPropertyChangeListener";
+ removeMethod = "removePropertyChangeListener";
+ }
+ catch(NoSuchMethodException eee) {
+ }
}
- else {
- log.error("Impossible binding for the " + (realMethodName != null ? "method '" : "attribute '") + realAttributename + "' of the class '" + prevTh.getClassToGenerate().getName() + "'");
+ else if(listener == null && jf != null) {
+ for(JavaMethod method : jf.getAllMethods()) {
+ if(method.getName().equals("addPropertyChangeListener")
+ && ((method.getArguments().length == 1 && method.getArguments()[0].getType().equals("java.beans.PropertyChangeListener"))
+ ||(method.getArguments().length == 2 && method.getArguments()[1].getType().equals("java.beans.PropertyChangeListener")))) {
+ listener = PropertyChangeListener.class;
+ addMethod = "addPropertyChangeListener";
+ removeMethod = "removePropertyChangeListener";
+ }
+ }
}
+
+ boolean ifAdded = false;
if(listener != null) {
- //starts to generate the code
- dbCreation.append("if(");
- dbDeletion.append("if(");
if (alreadyChecked != null && !alreadyChecked.isEmpty()) {
+ ifAdded = true;
+ //starts to generate the code
+ dbCreation.append("if(");
+ dbDeletion.append("if(");
//add not null parent condition
for (int j = 0; j < alreadyChecked.size(); j++) {
dbCreation.append(alreadyChecked.get(0));
@@ -414,7 +580,7 @@
dbDeletion.append(" != null && ");
}
- if (binding.length > alreadyChecked.size() + 1) {
+ if (binding.length > alreadyChecked.size() + 1 && nextClazz != null && !nextClazz.isPrimitive()) {
for (int j = 0; j < alreadyChecked.size(); j++) {
dbCreation.append(alreadyChecked.get(j)).append(".");
dbDeletion.append(alreadyChecked.get(j)).append(".");
@@ -426,13 +592,14 @@
dbCreation.delete(dbCreation.length() - 4, dbCreation.length());
dbDeletion.delete(dbDeletion.length() - 4, dbDeletion.length());
}
+ dbCreation.append(") {\n");
+ dbDeletion.append(") {\n");
}
- else {
- dbCreation.append(getter).append(" != null");
- dbDeletion.append(getter).append(" != null");
+ else if(nextClazz != null && !nextClazz.isPrimitive()) {
+ ifAdded = true;
+ dbCreation.append("if(").append(getter).append(" != null").append(") {\n");
+ dbDeletion.append("if(").append(getter).append(" != null").append(") {\n");
}
- dbCreation.append(") {\n");
- dbDeletion.append(") {\n");
if (alreadyChecked != null) {
for (int j = 0; j < alreadyChecked.size(); j++) {
@@ -444,10 +611,15 @@
dbCreation.append("get").append(Character.toUpperCase(model.charAt(0))).append(model.substring(1)).append("()").append(".");
dbDeletion.append("get").append(Character.toUpperCase(model.charAt(0))).append(model.substring(1)).append("()").append(".");
}
- // dbCreation.append(addMethod).append("((").append(listener.getName()).append(") org.nuiton.guix.runtime.Util.getEventListener(").append(listener.getName()).append(".class,this,\"onChangeFrom").append(methodToInvoke).append("\"));\n}\n");
- // dbDeletion.append(removeMethod).append("((").append(listener.getName()).append(") org.nuiton.guix.runtime.Util.getEventListener(").append(listener.getName()).append(".class,this,\"onChangeFrom").append(methodToInvoke).append("\"));\n}\n");
- dbCreation.append(addMethod).append("(new ").append(listener.getName()).append("() {\n");
- dbDeletion.append(removeMethod).append("(new ").append(listener.getName()).append("() {\n");
+
+ dbCreation.append(addMethod).append("(");
+ dbDeletion.append(removeMethod).append("(");
+ if(listener == PropertyChangeListener.class) {
+ dbCreation.append("\"").append(realAttributename).append("\", ");
+ dbDeletion.append("\"").append(realAttributename).append("\", ");
+ }
+ dbCreation.append("new ").append(listener.getName()).append("() {\n");
+ dbDeletion.append("new ").append(listener.getName()).append("() {\n");
for(Method m : listener.getMethods()) {
StringBuffer sb = new StringBuffer();
for(Annotation a : m.getDeclaredAnnotations()) {
@@ -473,46 +645,37 @@
dbCreation.append(sb);
dbDeletion.append(sb);
}
- dbCreation.append("});\n}\n");
- dbDeletion.append("});\n}\n");
- }
- }
-
- try {
- nextClazz = Label.class.getClassLoader().loadClass(returnType);
- }
- catch (ClassNotFoundException eee) {
- try {
- nextClazz = ClassLoader.getSystemClassLoader().loadClass(returnType);
- }
- catch (ClassNotFoundException eee2) {
- for (JavaFile javaFile : generatedFiles.values()) {
- if (returnType.equals(javaFile.getPackageName() + "." + javaFile.getClassName())) {
- nextFile = javaFile;
- break;
+ dbCreation.append("});\n");
+ dbDeletion.append("});\n");
+ if(ifAdded) {
+ dbCreation.append("}\n");
+ dbDeletion.append("}\n");
+ }
+
+ if (alreadyChecked == null) {
+ alreadyChecked = new ArrayList<String>();
+ }
+ alreadyChecked.add(getter);
+ try {
+ //if it is not the last element of the binding
+ if(i + 1 < binding.length) {
+ result.addAll(generateBindings(dbCreation, dbDeletion, th, nextFile, nextClazz, binding, i+1, alreadyChecked, methodToInvoke, generatedFiles));
}
+ if(listener != null && !result.contains(listener)) {
+ result.add(listener);
+ }
}
+ catch(NullPointerException eee) {
+ log.error(i);
+ eee.printStackTrace();
+ return null;
+ }
}
}
- if (alreadyChecked == null) {
- alreadyChecked = new ArrayList<String>();
+ else if (log.isErrorEnabled()) {
+ log.error("unable to bind " + binding[i]);
}
- alreadyChecked.add(getter);
- //if it is not the last element of the binding
- if (i + 1 < binding.length) {
- return generateBindings(dbCreation, dbDeletion, th, nextFile, nextClazz, binding, i + 1, alreadyChecked, methodToInvoke, generatedFiles);
- }
- else {
- if(listener == null) {
- return null;
- }
- result.add(listener);
- return result;
- }
}
- else if (log.isErrorEnabled()) {
- log.error("unable to bind " + binding[i]);
- }
return result;
}
}
Deleted: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator1.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator1.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtGenerator1.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -1,303 +0,0 @@
-/**
- * *##% guix-compiler-gwt
- * Copyright (C) 2009 CodeLutin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
- */
-package org.nuiton.guix.generator;
-
-import com.google.gwt.user.client.ui.Label;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.guix.tags.TagHandler;
-
-/**
- * Generates the interface, abstract class and implementation class
- * corresponding to the class described by the user,
- * as well as the configuation file and html file if this class is the main class.
- *
- * @author kmorin
- */
-public class GwtGenerator1 extends GuixGenerator {
-
- /** log */
- private Log log = LogFactory.getLog(GwtGenerator1.class);
- Map<GwtJavaFileGenerator, File> generators = new HashMap<GwtJavaFileGenerator, File>();
-
- @Override
- public JavaFile generate() {
- String gmoClassName = gmo.getClassDescriptor().getName();
- File outDir = new File(destDir, "client");
- if (!outDir.exists()) {
- outDir.mkdir();
- }
- File out = new File(outDir, gmoClassName + ".java");
- File outAbstract = new File(outDir, gmoClassName + "Abstract.java");
- File outImpl = new File(outDir, gmoClassName + "Impl.java");
-
- if (lastModification > out.lastModified()) {
- try {
- if (log.isInfoEnabled()) {
- log.info("Generation of " + gmo.getClassDescriptor().getName());
- }
- if (!out.exists()) {
- try {
- out.createNewFile();
- outAbstract.createNewFile();
- outImpl.createNewFile();
- }
- catch (IOException ex) {
- log.error(ex);
- }
- }
- GwtInterfaceGenerator ging = new GwtInterfaceGenerator(gmo, classes);
- GwtAbstractClassGenerator gacg = new GwtAbstractClassGenerator(gmo, classes);
- GwtImplementationGenerator gimg = new GwtImplementationGenerator(gmo, classes);
-
- if (mainClass) {
- gimg.addMainMethod();
- GwtConfigGenerator gcg = new GwtConfigGenerator(gmo, getCSSFiles());
- GwtHtmlGenerator ghg = new GwtHtmlGenerator(gmo, launcherName);
- File outConfigMain = new File(destDir, launcherName.substring(launcherName.lastIndexOf('.') + 1) + ".gwt.xml");
- File publicDir = new File(destDir, "public");
- if (!publicDir.exists()) {
- publicDir.mkdir();
- }
- File outHtmlMain = new File(publicDir, launcherName.substring(launcherName.lastIndexOf('.') + 1) + ".html");
- gcg.generate(outConfigMain);
- ghg.generate(outHtmlMain);
- }
-
- ging.generate();
- generators.put(ging, out);
- JavaFile jf = gacg.generate();
- generators.put(gacg, outAbstract);
- gimg.generate();
- generators.put(gimg, outImpl);
-
- serializer.startTag("", "bean");
- serializer.attribute("", "id", gmoClassName.replace(out.getName().charAt(0),
- Character.toLowerCase(out.getName().charAt(0)))).attribute("", "class", gmoClassName + "Impl").attribute("", "singleton", "false").endTag("", "bean");
- setBindingsToGenerate(gacg.getBindings2Generate());
-
- return jf;
- }
- catch (IllegalArgumentException ex) {
- log.error(ex);
- }
- catch (IllegalStateException ex) {
- log.error(ex);
- }
- catch (IOException ex) {
- log.error(ex);
- }
- }
- else if (log.isWarnEnabled()) {
- log.warn(gmo.getClassDescriptor().getName() + " has already been generated and is up to date.");
- }
- return null;
- }
-
- @Override
- public void saveFiles() {
- for (JavaFileGenerator gen : generators.keySet()) {
- gen.saveFile(generators.get(gen));
- }
- }
-
- @Override
- public List<Class> generateBindings(StringBuffer dbCreation, StringBuffer dbDeletion, TagHandler prevTh,
- JavaFile jf, Class clazz,String[] binding, int i, List<String> alreadyChecked, String methodToInvoke, Map<GuixGenerator, JavaFile> generatedFiles) {
- boolean bindingExists = false;
- String returnType = null;
- String getter = null;
- JavaFile nextFile = null;
- Class nextClazz = null;
- TagHandler th = null;
- String model = null;
- Class listener = null;
- String addMethod = null;
- String removeMethod = null;
- List<Class> result = new ArrayList<Class>();
-
- if (binding[i].endsWith(")")) {
- if (jf != null) {
- bindingExists = jf.getMethod(binding[i].substring(0, binding[i].lastIndexOf("(")), null) != null;
- if (bindingExists) {
- returnType = jf.getMethod(binding[i].substring(0, binding[i].lastIndexOf("(")), null).getReturnType();
- String s = binding[i];
- if (s.startsWith("get")) {
- s = Character.toLowerCase(s.charAt(3)) + s.substring(4, s.lastIndexOf("("));
- }
- else if (s.startsWith("is")) {
- s = Character.toLowerCase(s.charAt(2)) + s.substring(3, s.lastIndexOf("("));
- }
- JavaField f = jf.getField(s);
- if (f != null) {
- th = f.getTagHandler();
- }
- }
- }
- else {
- try {
- clazz.getMethod(binding[i].substring(0, binding[i].lastIndexOf("(")), null);
- returnType = clazz.getMethod(binding[i].substring(0, binding[i].lastIndexOf("(")), null).getReturnType().getName();
- bindingExists = true;
- }
- catch (NoSuchMethodException eee) {
- bindingExists = false;
- }
- }
- getter = binding[i];
- }
- else {
- if (jf != null) {
- bindingExists = jf.getMethod("get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null) != null || jf.getMethod("is" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null) != null;
- if (bindingExists) {
- returnType = jf.getMethod("get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null) != null ? jf.getMethod("get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null).getReturnType()
- : jf.getMethod("is" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null).getReturnType();
- }
-
- getter = jf.getMethod("get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null) != null ? "get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1) + "()"
- : "is" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1) + "()";
-
- JavaField f = jf.getField(binding[i]);
- if (f != null) {
- th = f.getTagHandler();
- }
- }
- else {
- try {
- clazz.getMethod("get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null);
- returnType = clazz.getMethod("get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null).getReturnType().getName();
- getter = "get" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1) + "()";
- bindingExists = true;
- }
- catch (NoSuchMethodException eee) {
- try {
- clazz.getMethod("is" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null);
- returnType = clazz.getMethod("is" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1), null).getReturnType().getName();
- getter = "is" + Character.toUpperCase(binding[i].charAt(0)) + binding[i].substring(1) + "()";
- bindingExists = true;
- }
- catch (NoSuchMethodException eee2) {
- bindingExists = false;
- }
- }
- }
- }
- if (bindingExists) {
- if (i == binding.length - 1 && prevTh != null) {
- String getterWoBraces = getter.substring(0, getter.lastIndexOf("("));
- if (prevTh.hasEventInfosAboutMethod(getterWoBraces)) {
- model = prevTh.getEventInfosModelName(getterWoBraces);
- listener = prevTh.getEventInfosListenerClass(getterWoBraces);
- addMethod = prevTh.getEventInfosAddListenerMethodName(getterWoBraces);
- removeMethod = prevTh.getEventInfosRemoveListenerMethodName(getterWoBraces);
- }
- else {
- log.error("Impossible binding");
- return null;
- }
-
- dbCreation.append("if(");
- dbDeletion.append("if(");
- if (alreadyChecked != null && !alreadyChecked.isEmpty()) {
- for (int j = 0; j < alreadyChecked.size(); j++) {
- dbCreation.append(alreadyChecked.get(0));
- dbDeletion.append(alreadyChecked.get(0));
- for (int k = 1; k <= j; k++) {
- dbCreation.append(".").append(alreadyChecked.get(k));
- dbDeletion.append(".").append(alreadyChecked.get(k));
- }
- dbCreation.append(" != null && ");
- dbDeletion.append(" != null && ");
- }
-
- if (binding.length > alreadyChecked.size() + 1) {
- for (int j = 0; j < alreadyChecked.size(); j++) {
- dbCreation.append(alreadyChecked.get(j)).append(".");
- dbDeletion.append(alreadyChecked.get(j)).append(".");
- }
- dbCreation.append(getter).append(" != null");
- dbDeletion.append(getter).append(" != null");
- }
- else {
- dbCreation.delete(dbCreation.length() - 4, dbCreation.length());
- dbDeletion.delete(dbDeletion.length() - 4, dbDeletion.length());
- }
- }
- else {
- dbCreation.append(getter).append(" != null");
- dbDeletion.append(getter).append(" != null");
- }
- dbCreation.append(") {\n");
- dbDeletion.append(") {\n");
-
- if (alreadyChecked != null) {
- for (int j = 0; j < alreadyChecked.size(); j++) {
- dbCreation.append(alreadyChecked.get(j)).append(".");
- dbDeletion.append(alreadyChecked.get(j)).append(".");
- }
- }
- if (model != null) {
- dbCreation.append("get").append(Character.toUpperCase(model.charAt(0))).append(model.substring(1)).append("()").append(".");
- dbDeletion.append("get").append(Character.toUpperCase(model.charAt(0))).append(model.substring(1)).append("()").append(".");
- }
- dbCreation.append(addMethod).append("((").append(listener.getName()).append(") org.nuiton.guix.runtime.Util.getEventListener(").append(listener.getName()).append(".class,this,\"onChangeFrom").append(methodToInvoke).append("\"));\n}\n");
- dbDeletion.append(removeMethod).append("((").append(listener.getName()).append(") org.nuiton.guix.runtime.Util.getEventListener(").append(listener.getName()).append(".class,this,\"onChangeFrom").append(methodToInvoke).append("\"));\n}\n");
- }
-
- try {
- nextClazz = Label.class.getClassLoader().loadClass(returnType);
- }
- catch (ClassNotFoundException eee) {
- try {
- nextClazz = ClassLoader.getSystemClassLoader().loadClass(returnType);
- }
- catch (ClassNotFoundException eee2) {
- for (JavaFile javaFile : generatedFiles.values()) {
- if (returnType.equals(javaFile.getPackageName() + "." + javaFile.getClassName())) {
- nextFile = javaFile;
- break;
- }
- }
- }
- }
- if (alreadyChecked == null) {
- alreadyChecked = new ArrayList<String>();
- }
- alreadyChecked.add(getter);
- if (i + 1 < binding.length) {
- return generateBindings(dbCreation, dbDeletion, th, nextFile, nextClazz,null, i + 1, alreadyChecked, methodToInvoke, generatedFiles);
- }
- else {
- result.add(listener);
- return result;
- }
- }
- else if (log.isErrorEnabled()) {
- log.error("unable to bind " + binding[i]);
- }
- return result;
- }
-}
Deleted: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtHtmlGenerator.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtHtmlGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtHtmlGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -1,127 +0,0 @@
-/**
- * *##% guix-compiler-gwt
- * Copyright (C) 2009 CodeLutin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
- */
-package org.nuiton.guix.generator;
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.guix.model.GuixModelObject;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlPullParserFactory;
-import org.xmlpull.v1.XmlSerializer;
-
-/**
- * Generator of the Html file
- *
- * @author kmorin
- */
-public class GwtHtmlGenerator {
-
- /** GuixModelObject representing the main class */
- private GuixModelObject gmo;
- /** name of the launcher file */
- private String launcherName;
- /** log */
- private Log log = LogFactory.getLog(GwtHtmlGenerator.class);
-
- /**
- * Constructor
- *
- * @param gmo GuixModelObject representing the main class
- * @param launcherName name of the launcher file
- */
- public GwtHtmlGenerator(GuixModelObject gmo, String launcherName) {
- this.gmo = gmo;
- this.launcherName = launcherName;
- }
-
- public void generate(File html) {
- try {
- XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null);
-
- XmlSerializer serializer = factory.newSerializer();
-
- serializer.setOutput(new PrintWriter(html));
- serializer.startDocument("UTF-8", null);
- serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");
- serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "\t");
-
- serializer.docdecl(" HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"");
- serializer.comment("The HTML 4.01 Transitional DOCTYPE declaration above " +
- "set at the top of the file will set the browser's rendering engine " +
- "into \"Quirks Mode\". Replacing this declaration with a \"Standards Mode\" doctype is supported, " +
- "but may lead to some differences in layout.");
- serializer.startTag("", "html");
- serializer.startTag("", "head");
-
- serializer.startTag("","meta");
- serializer.attribute("", "http-equiv", "content-type");
- serializer.attribute("", "content", "text/html; charset=UTF-8");
- serializer.endTag("","meta");
-
- serializer.comment("This script loads your compiled module. " +
- "If you add any GWT meta tags, they must " +
- "be added before this line.");
- serializer.startTag("","script");
- serializer.attribute("", "type", "text/javascript");
- serializer.attribute("", "language", "javascript");
- serializer.attribute("", "src", launcherName + ".nocache.js");
- serializer.text("\n");
- serializer.endTag("","script");
-
- serializer.startTag("","title");
- int i = 0;
- while(i < gmo.getAttributeDescriptors().size()
- && !gmo.getAttributeDescriptors().get(i).getName().equals("title"))
- i++;
- serializer.text(i < gmo.getAttributeDescriptors().size() ?
- gmo.getAttributeDescriptors().get(i).getValue() :
- "My Application");
- serializer.endTag("","title");
-
-
-
- serializer.endTag("", "head");
-
- serializer.comment("The body can have arbitrary html, or " +
- "you can leave the body empty if you want " +
- "to create a completely dynamic UI.");
- serializer.startTag("", "body");
-
- serializer.comment("OPTIONAL: include this if you want history support");
- serializer.startTag("", "iframe");
- serializer.attribute("", "src", "javascript:''");
- serializer.attribute("", "id", "__gwt_historyFrame");
- serializer.attribute("", "tabIndex", "-1");
- serializer.attribute("", "style", "position:absolute;width:0;height:0;border:0");
- serializer.endTag("", "iframe");
-
- serializer.endTag("", "body");
- serializer.endTag("", "html");
- serializer.endDocument();
- }
- catch (XmlPullParserException ex) {
- log.error(ex);
- }
- catch (IOException ex) {
- log.error(ex);
- }
- }
-}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtImplementationGenerator.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtImplementationGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtImplementationGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -52,7 +52,7 @@
@Override
public JavaFile generate() {
- super.addImports(gmo);
+ super.addImports();
jf.addMethod(new JavaMethod(Modifier.PUBLIC, null, gmo.getClassDescriptor().getName() + "Impl",
null, null, "super();", "Constructor"));
return jf;
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtInterfaceGenerator.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtInterfaceGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtInterfaceGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -27,6 +27,7 @@
import java.lang.reflect.Modifier;
import java.util.List;
import java.util.Map;
+import org.nuiton.guix.tags.TagManager;
/**
* Generator of interfaces
@@ -53,16 +54,13 @@
@Override
public JavaFile generate() {
- super.addImports(gmo);
+ super.addImports();
addFields(gmo);
-
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "initialize", null, null, null, "initialization"));
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_CREATION), null, null, null, ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.COMPONENTS_CREATION), null, null, null, "Components creation"));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_INITIALIZATION), null, null, null, ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.COMPONENTS_TREE), null, null, null, "components layout"));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_TREE), null, null, null, ""));
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_SETTINGS), null, null, null, ""));
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.BEFORE_BINDING), null, null, null, ""));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.DATABINDING_INIT), null, null, null, "initilization of databinding"));
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", getMethodName(Method.IN_THE_END), null, null, null, ""));
return jf;
@@ -75,21 +73,20 @@
*/
private void addFields(GuixModelObject gmo) {
for (GuixModelObject child : gmo.getChildren()) {
- if (child.getClassDescriptor().getPackageName() == null || child.getClassDescriptor().getPackageName().equals("org.nuiton.guix.tags.swing")) {
- //if it is a table
- if (child.getClassDescriptor().getName() != null && child.getClassDescriptor().getName().equals("Table")) {
- //the table is represented by a JPanel
- jf.addField(new JavaField(Modifier.FINAL | Modifier.PRIVATE,
- "com.google.gwt.user.client.ui.FlexTable",
+ if (child.getClassDescriptor().getPackageName() == null
+ && TagManager.getGuixClassHandler(child.getClassDescriptor().getName()) != null) {
+ if(TagManager.getGuixClassHandler(child.getClassDescriptor().getName()).getClassToGenerate() != null) {
+ jf.addField(new JavaField(Modifier.PRIVATE,
+ TagManager.getGuixClassHandler(child.getClassDescriptor().getName()).getClassToGenerate().getName(),
child.getId(), child.getJavadoc()),
- false);
+ gmo.isJavaBean());
}
}
else {
- jf.addField(new JavaField(Modifier.FINAL | Modifier.PRIVATE,
- (classes != null && classes.containsKey(child.getClassDescriptor().toString())) ? child.getClassDescriptor().getName() + "Abstract" : child.getClassDescriptor().getName(),
- child.getId(), child.getJavadoc()),
- false);
+ jf.addField(new JavaField(Modifier.PRIVATE,
+ (classes != null && classes.containsKey(child.getClassDescriptor().toString())) ? child.getClassDescriptor().toString() + "Abstract" : child.getClassDescriptor().toString(),
+ child.getId(), child.getJavadoc()),
+ gmo.isJavaBean());
}
addFields(child);
}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtJavaFileGenerator.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtJavaFileGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/generator/GwtJavaFileGenerator.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -41,37 +41,10 @@
@Override
/**
* Add imports to the generated file
- *
- * @param gmo GuixModelObject which represents the class to generate
*/
- protected void addImports(GuixModelObject gmo) {
- if(gmo == null) {
- return;
- }
- for (GuixModelObject child : gmo.getChildren()) {
- if (child.getClassDescriptor().getPackageName() == null
- && TagManager.getGuixClassHandler(child.getClassDescriptor().getName()) != null) {
- Class clazz;
- try {
- clazz = TagManager.getGuixClassHandler(child.getClassDescriptor().getName()).getClassToGenerate();
- if (imports != null && !imports.contains(clazz.getName())) {
- imports.add(clazz.getName());
- jf.addImport(clazz);
- }
- }
- catch(NullPointerException eee) {
- clazz = null;
- }
- }
- else if (imports != null && !imports.contains(child.getClassDescriptor().toString())) {
- imports.add(child.getClassDescriptor().toString());
- jf.addImport(classes.containsKey(child.getClassDescriptor().toString()) ?
- child.getClassDescriptor().getPackageName() + "." +
- child.getClassDescriptor().getName() + "Abstract" :
- child.getClassDescriptor().toString());
- }
- addImports(child);
- }
+ protected void addImports() {
+
+ jf.addImport("com.google.gwt.user.client.ui.*");
}
}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/CheckBoxHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,27 @@
+
+package org.nuiton.guix.tags.gwt;
+
+import com.google.gwt.user.client.ui.ClickListener;
+
+/**
+ * Handles the ChackBox tag
+ *
+ * @author kmorin
+ */
+public class CheckBoxHandler extends UIObjectHandler {
+
+ public CheckBoxHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.CheckBox.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("isChecked", ClickListener.class);
+ }
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ComboBoxHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,26 @@
+
+package org.nuiton.guix.tags.gwt;
+import com.google.gwt.user.client.ui.ChangeListener;
+
+/**
+ * Handles the combobox tag
+ *
+ * @author kmorin
+ */
+public class ComboBoxHandler extends UIObjectHandler {
+
+ public ComboBoxHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.ListBox.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getSelectedIndex", ChangeListener.class);
+ }
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/DialogBoxHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/DialogBoxHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/DialogBoxHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles DialogBox tag
+ *
+ * @author kmorin
+ */
+public class DialogBoxHandler extends UIObjectHandler {
+
+ public DialogBoxHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.DialogBox.class;
+ }
+
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/HorizontalSplitPanelHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/HorizontalSplitPanelHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/HorizontalSplitPanelHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles HorizontalSplitPanel tag
+ *
+ * @author kmorin
+ */
+public class HorizontalSplitPanelHandler extends UIObjectHandler {
+
+ public HorizontalSplitPanelHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.HorizontalSplitPanel.class;
+ }
+
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ListHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ListHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ListHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles the List tag
+ *
+ * @author kmorin
+ */
+public class ListHandler extends UIObjectHandler {
+
+ public ListHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.ListBox.class;
+ }
+
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/PasswordFieldHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/PasswordFieldHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/PasswordFieldHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,19 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles the PasswordField tag
+ *
+ * @author kmorin
+ */
+public class PasswordFieldHandler extends TextFieldHandler {
+
+ public PasswordFieldHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.PasswordTextBox.class;
+ }
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ProgressBarHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ProgressBarHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ProgressBarHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles the ProgressBar tag
+ *
+ * @author kmorin
+ */
+public class ProgressBarHandler extends UIObjectHandler {
+
+ public ProgressBarHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return org.gwtwidgets.client.ui.ProgressBar.class;
+ }
+
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RadioButtonHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RadioButtonHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/RadioButtonHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,19 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles the RadioButton tag
+ *
+ * @author kmorin
+ */
+public class RadioButtonHandler extends CheckBoxHandler {
+
+ public RadioButtonHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.RadioButton.class;
+ }
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ScrollPanelHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ScrollPanelHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/ScrollPanelHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles the ScrollPanel tag
+ *
+ * @author kmorin
+ */
+public class ScrollPanelHandler extends UIObjectHandler {
+
+ public ScrollPanelHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.ScrollPanel.class;
+ }
+
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TabHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TabHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TabHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,16 @@
+
+package org.nuiton.guix.tags.gwt;
+import org.nuiton.guix.tags.DefaultTagHandler;
+
+/**
+ *
+ * @author kmorin
+ */
+public class TabHandler extends DefaultTagHandler {
+
+ @Override
+ public Class getClassToGenerate() {
+ return null;
+ }
+
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextAreaHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextAreaHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextAreaHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,16 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles the TextArea tag
+ *
+ * @author kmorin
+ */
+public class TextAreaHandler extends TextFieldHandler {
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.TextArea.class;
+ }
+
+}
Modified: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TextFieldHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -17,7 +17,6 @@
* <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
*/
package org.nuiton.guix.tags.gwt;
-
import com.google.gwt.user.client.ui.KeyboardListener;
/**
@@ -40,7 +39,7 @@
}
@Override
- public void configureProxyEventInfo() {
+ protected void configureProxyEventInfo() {
super.configureProxyEventInfo();
addProxyEventInfo("getText", KeyboardListener.class);
}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,26 @@
+
+package org.nuiton.guix.tags.gwt;
+import com.google.gwt.user.client.ui.TreeListener;
+
+/**
+ * Handles the tree tag
+ *
+ * @author kmorin
+ */
+public class TreeHandler extends UIObjectHandler {
+
+ public TreeHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.Tree.class;
+ }
+
+ @Override
+ protected void configureProxyEventInfo() {
+ super.configureProxyEventInfo();
+ addProxyEventInfo("getSelectedItem", TreeListener.class);
+ }
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeNodeHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeNodeHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/TreeNodeHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,19 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ *
+ * @author kmorin
+ */
+public class TreeNodeHandler extends UIObjectHandler {
+
+ public TreeNodeHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.TreeItem.class;
+ }
+
+}
Added: trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/VerticalSplitPanelHandler.java
===================================================================
--- trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/VerticalSplitPanelHandler.java (rev 0)
+++ trunk/guix-compiler-gwt/src/main/java/org/nuiton/guix/tags/gwt/VerticalSplitPanelHandler.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -0,0 +1,20 @@
+
+package org.nuiton.guix.tags.gwt;
+
+/**
+ * Handles VerticalSplitPanel tag
+ *
+ * @author kmorin
+ */
+public class VerticalSplitPanelHandler extends UIObjectHandler {
+
+ public VerticalSplitPanelHandler() {
+ super();
+ }
+
+ @Override
+ public Class getClassToGenerate() {
+ return com.google.gwt.user.client.ui.VerticalSplitPanel.class;
+ }
+
+}
Modified: trunk/guix-compiler-gwt/src/test/java/org/nuiton/guix/generator/GwtGeneratorTest.java
===================================================================
--- trunk/guix-compiler-gwt/src/test/java/org/nuiton/guix/generator/GwtGeneratorTest.java 2009-08-25 10:49:26 UTC (rev 1574)
+++ trunk/guix-compiler-gwt/src/test/java/org/nuiton/guix/generator/GwtGeneratorTest.java 2009-08-25 10:50:11 UTC (rev 1575)
@@ -19,7 +19,6 @@
package org.nuiton.guix.generator;
import org.nuiton.guix.*;
-import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.ToggleButton;
import java.lang.reflect.Modifier;
import java.util.HashMap;
@@ -49,117 +48,117 @@
@Test
public void testGenerateBinding() {
- GwtGuixInitializer.initialize();
- GwtGenerator gg = new GwtGenerator();
- //tests the not null condition for the parameters that needs to be not null
- List<Class> l = gg.generateBindings(null, new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- l = gg.generateBindings(new StringBuffer(), null, null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, null, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, null, new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", null);
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, null, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- //tests with a class parameter not null
- //tests if a null listener as result returns null
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, ToggleButton.class, new String[]{"isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNull(l);
- //tests a successful generation with a method as a binding
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
- //tests a successful generation with an attribute as a binding
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"down"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
- //tests a successful generation with a method with the generic name as a binding
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
- //tests a successful generation with an attribute with the generic name as a binding
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
-
- //tests with a javafile parameter not null
- //tests if the result is null without the taghandler associated to the field
- JavaFile jf = new JavaFile();
- jf.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNull(l);
- //tests a successful generation with a method as a binding
- jf = new JavaFile();
- jf.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null, new ToggleButtonHandler()));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
- //tests a successful generation with an attribute as a binding
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"button","down"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
-
- //tests with a javafile parameter not null with an attribute whose type is another generated file
- //tests if the result is null without the taghandler associated to the field
- jf = new JavaFile();
- jf.addField(new JavaField(Modifier.PRIVATE, "test.Test", "test", null));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "test.Test", "getTest", null, null, "", null));
- JavaFile jf2 = new JavaFile(Modifier.PUBLIC, JavaFile.CLASS, "test", "Test", null, null);
- jf2.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null));
- jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- //test without jf2 in the map of generators with JavaFile
- jf2 = new JavaFile(Modifier.PUBLIC, JavaFile.CLASS, "test", "Test", null, null);
- jf2.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null, new ToggleButtonHandler()));
- jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(), 0);
- Map<GuixGenerator,JavaFile> map = new HashMap<GuixGenerator, JavaFile>();
- map.put(gg, jf2);
- //tests a successful generation with a method as a binding
- l =gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()", "isDown()"}, 0, null, "", map);
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
- //tests a successful generation with an attribute as a binding
- l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"test","button","down"}, 0, null, "", map);
- Assert.assertNotNull(l);
- Assert.assertEquals(l.size(),1);
- Assert.assertNotNull(l.get(0));
- Assert.assertEquals(l.get(0),ClickListener.class);
+// GwtGuixInitializer.initialize();
+// GwtGenerator gg = new GwtGenerator();
+// //tests the not null condition for the parameters that needs to be not null
+// List<Class> l = gg.generateBindings(null, new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// l = gg.generateBindings(new StringBuffer(), null, null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, null, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, null, new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", null);
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, null, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// //tests with a class parameter not null
+// //tests if a null listener as result returns null
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, ToggleButton.class, new String[]{"isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNull(l);
+// //tests a successful generation with a method as a binding
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
+// //tests a successful generation with an attribute as a binding
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"down"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
+// //tests a successful generation with a method with the generic name as a binding
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
+// //tests a successful generation with an attribute with the generic name as a binding
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, ToggleButton.class, new String[]{"selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
+//
+// //tests with a javafile parameter not null
+// //tests if the result is null without the taghandler associated to the field
+// JavaFile jf = new JavaFile();
+// jf.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null));
+// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNull(l);
+// //tests a successful generation with a method as a binding
+// jf = new JavaFile();
+// jf.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null, new ToggleButtonHandler()));
+// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
+// //tests a successful generation with an attribute as a binding
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"button","down"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
+//
+// //tests with a javafile parameter not null with an attribute whose type is another generated file
+// //tests if the result is null without the taghandler associated to the field
+// jf = new JavaFile();
+// jf.addField(new JavaField(Modifier.PRIVATE, "test.Test", "test", null));
+// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "test.Test", "getTest", null, null, "", null));
+// JavaFile jf2 = new JavaFile(Modifier.PUBLIC, JavaFile.CLASS, "test", "Test", null, null);
+// jf2.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null));
+// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// //test without jf2 in the map of generators with JavaFile
+// jf2 = new JavaFile(Modifier.PUBLIC, JavaFile.CLASS, "test", "Test", null, null);
+// jf2.addField(new JavaField(Modifier.PRIVATE, "com.google.gwt.user.client.ui.ToggleButton", "button", null, new ToggleButtonHandler()));
+// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "com.google.gwt.user.client.ui.ToggleButton", "getButton", null, null, "", null));
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isDown()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>());
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(), 0);
+// Map<GuixGenerator,JavaFile> map = new HashMap<GuixGenerator, JavaFile>();
+// map.put(gg, jf2);
+// //tests a successful generation with a method as a binding
+// l =gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()", "isDown()"}, 0, null, "", map);
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
+// //tests a successful generation with an attribute as a binding
+// l = gg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"test","button","down"}, 0, null, "", map);
+// Assert.assertNotNull(l);
+// Assert.assertEquals(l.size(),1);
+// Assert.assertNotNull(l.get(0));
+// Assert.assertEquals(l.get(0),ClickHandler.class);
}
}
1
0
r1574 - in trunk/guix-compiler/src/main/java/org/nuiton/guix: . databinding generator model tags
by kmorin@users.nuiton.org 25 Aug '09
by kmorin@users.nuiton.org 25 Aug '09
25 Aug '09
Author: kmorin
Date: 2009-08-25 12:49:26 +0200 (Tue, 25 Aug 2009)
New Revision: 1574
Added:
trunk/guix-compiler/src/main/java/org/nuiton/guix/BindingUtils.java
Removed:
trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher1.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/BindingUtils.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataBinding.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataSource.java
Modified:
trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixCompiler.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/Generator.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/GuixGenerator.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFile.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFileGenerator.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaMethod.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/model/GuixModelObject.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/DefaultTagHandler.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/ScriptHandler.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/StyleHandler.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagHandler.java
trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagManager.java
Log:
Add inherited methods and fields in the Javafile
Imporved the binding
Removed packages with only 1 class or unused classes
Copied: trunk/guix-compiler/src/main/java/org/nuiton/guix/BindingUtils.java (from rev 1572, trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/BindingUtils.java)
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/BindingUtils.java (rev 0)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/BindingUtils.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -0,0 +1,443 @@
+/**
+ * *##% guix-compiler
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
+ */
+package org.nuiton.guix;
+
+import java.beans.Introspector;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.guix.CompilerException;
+import org.nuiton.guix.parser.JavaParserConstants;
+import org.nuiton.guix.parser.JavaParserTreeConstants;
+import org.nuiton.guix.parser.SimpleNode;
+
+/**
+ *
+ * @author kevin
+ */
+public class BindingUtils {
+ /** left brace matcher */
+ protected static Matcher leftBraceMatcher = Pattern.compile("^(\\{)|[^\\\\](\\{)").matcher("");
+ /** right brace matcher */
+ protected static Matcher rightBraceMatcher = Pattern.compile("^(\\})|[^\\\\](\\})").matcher("");
+ /** log */
+ private static Log log = LogFactory.getLog(BindingUtils.class);
+
+ /**
+ * Examine an attribute value for data binding expressions. Returns a 'cooked' expression which
+ * can be used to determine the resulting value. It is expected that this expression will be used
+ * as the source expression in a call to {@link #registerDataBinding}.
+ * If the attribute value does not invoke data binding, this method returns <code>null</code>
+ *
+ * @param stringValue the string value of the property from the XML
+ * @param type the type of the property, from the <code>JAXXPropertyDescriptor</code>
+ * @return a processed version of the expression
+ * @throws jaxx.CompilerException ?
+ */
+ public static String processDataBindings(String stringValue) {
+ int pos = getNextLeftBrace(stringValue, 0);
+ if (pos != -1) {
+ StringBuffer expression = new StringBuffer();
+ int lastPos = 0;
+ while (pos != -1 && pos < stringValue.length()) {
+ if (pos > lastPos) {
+ if (expression.length() > 0) {
+ expression.append(" + ");
+ }
+ expression.append('"');
+ expression.append(escapeJavaString(stringValue.substring(lastPos, pos)));
+ expression.append('"');
+ }
+
+ if (expression.length() > 0) {
+ expression.append(" + ");
+ }
+ int pos2 = getNextRightBrace(stringValue, pos + 1);
+ if (pos2 == -1) {
+ if(log.isErrorEnabled())
+ log.error("unmatched '{' in expression: " + stringValue);
+ return "";
+ }
+ expression.append(stringValue.substring(pos + 1, pos2));
+ pos2++;
+ if (pos2 < stringValue.length()) {
+ pos = getNextLeftBrace(stringValue, pos2);
+ lastPos = pos2;
+ } else {
+ pos = stringValue.length();
+ lastPos = pos;
+ }
+ }
+ if (lastPos < stringValue.length()) {
+ if (expression.length() > 0) {
+ expression.append(" + ");
+ }
+ expression.append('"');
+ expression.append(escapeJavaString(stringValue.substring(lastPos)));
+ expression.append('"');
+ }
+//
+// StringBuffer el = new StringBuffer();
+// Pattern p = Pattern .compile("\\.(get|is)([A-Z])([a-zA-Z0-9]*)\\(\\)");
+// Matcher m = p.matcher(expression.toString());
+// int mEnd = 0;
+// if(m.find()) {
+// do {
+// el.append(expression.toString().substring(mEnd, m.start()))
+// .append(".");
+// mEnd = m.end();
+// el.append(m.group(2).toLowerCase())
+// .append(m.group(3));
+// } while (m.find());
+// }
+// else {
+// el.append(expression.toString());
+// }
+// return el.toString().length() > 0 ? el.toString().substring(0, el.toString().length()) : el.toString();
+ return expression.toString();
+ }
+ return null;
+ }
+
+ protected static int getNextLeftBrace(String string, int pos) {
+ leftBraceMatcher.reset(string);
+ return leftBraceMatcher.find(pos) ? Math.max(leftBraceMatcher.start(1), leftBraceMatcher.start(2)) : -1;
+ }
+
+ protected static int getNextRightBrace(String string, int pos) {
+ leftBraceMatcher.reset(string);
+ rightBraceMatcher.reset(string);
+ int openCount = 1;
+ int rightPos;
+ while (openCount > 0) {
+ pos++;
+ int leftPos = leftBraceMatcher.find(pos) ? Math.max(leftBraceMatcher.start(1), leftBraceMatcher.start(2)) : -1;
+ rightPos = rightBraceMatcher.find(pos) ? Math.max(rightBraceMatcher.start(1), rightBraceMatcher.start(2)) : -1;
+ assert leftPos == -1 || leftPos >= pos;
+ assert rightPos == -1 || rightPos >= pos;
+ if (leftPos != -1 && leftPos < rightPos) {
+ pos = leftPos;
+ openCount++;
+ } else if (rightPos != -1) {
+ pos = rightPos;
+ openCount--;
+ } else {
+ openCount = 0;
+ }
+ }
+ return pos;
+ }
+
+ /**
+ * Escapes a string using standard Java escape sequences, generally in preparation to including it in a string literal
+ * in a compiled Java file.
+ *
+ * @param raw the raw string to be escape
+ * @return a string in which all 'dangerous' characters have been replaced by equivalent Java escape sequences
+ */
+ protected static String escapeJavaString(String raw) {
+ StringBuffer out = new StringBuffer(raw);
+ for (int i = 0; i < out.length(); i++) {
+ char c = out.charAt(i);
+ if (c == '\\' || c == '"') {
+ out.insert(i, '\\');
+ i++;
+ } else if (c == '\n') {
+ out.replace(i, i + 1, "\\n");
+ i++;
+ } else if (c == '\r') {
+ out.replace(i, i + 1, "\\r");
+ i++;
+ } else if (c < 32 || c > 127) {
+ String value = Integer.toString((int) c, 16);
+ while (value.length() < 4) {
+ value = "0" + value;
+ }
+ out.replace(i, i + 1, "\\u" + value);
+ i += 5;
+ }
+ }
+ return out.toString();
+ }
+
+ /**
+ * Examines a node to identify any dependencies it contains.
+ *
+ * @param node node to scan
+ * @throws jaxx.CompilerException ?
+ */
+ public static List<String[]> scanNode(SimpleNode node) throws CompilerException {
+ List<String[]> bindings = new ArrayList<String[]>();
+ switch (node.getId()) {
+ case JavaParserTreeConstants.JJTMETHODDECLARATION:
+ break;
+ case JavaParserTreeConstants.JJTFIELDDECLARATION:
+ break;
+
+ default:
+ int count = node.jjtGetNumChildren();
+ for(int i = 0; i < count; i++) {
+ List<String[]> sss = scanNode(node.getChild(i));
+ if(sss != null) {
+ bindings.addAll(sss);
+ }
+ }
+ String[] sArray = determineNodeType(node);
+ if(sArray != null) {
+ bindings.add(sArray);
+ }
+ }
+ return bindings;
+ }
+
+ /**
+ * Scans through a compound symbol (foo.bar.baz) to identify and track all trackable pieces of it.
+ *
+ * @param symbol symbol to scan
+ * @param contextClass current class context
+ * @param isMethod flag to search a method
+ * @param listenerId id of the listener
+ * @return the type of the symbol (or null if it could not be determined).
+ */
+// private Class scanCompoundSymbol(String symbol, boolean isMethod) {
+// String[] tokens = symbol.split("\\s*\\.\\s*");
+// StringBuffer currentSymbol = new StringBuffer();
+// StringBuffer tokensSeenSoFar = new StringBuffer();
+// boolean accepted; // if this ends up false, it means we weren't able to figure out
+// // which object the method is being invoked on
+// boolean recognizeClassNames = true;
+// for (int j = 0; j < tokens.length - (isMethod ? 1 : 0); j++) {
+// accepted = false;
+//
+// if (tokensSeenSoFar.length() > 0) {
+// tokensSeenSoFar.append('.');
+// }
+// tokensSeenSoFar.append(tokens[j]);
+// if (currentSymbol.length() > 0) {
+// currentSymbol.append('.');
+// }
+// currentSymbol.append(tokens[j]);
+//
+// if (currentSymbol.indexOf(".") == -1) {
+// String memberName = currentSymbol.toString();
+// CompiledObject object = compiler.getCompiledObject(memberName);
+// if (object != null) {
+// contextClass = object.getObjectClass();
+// currentSymbol.setLength(0);
+// accepted = true;
+// recognizeClassNames = false;
+// } else {
+// try {
+// FieldDescriptor field = contextClass.getFieldDescriptor(memberName);
+// contextClass = field.getType();
+// currentSymbol.setLength(0);
+// accepted = true;
+// recognizeClassNames = false;
+// }
+// catch (NoSuchFieldException e) {
+// if (j == 0 || j == 1 && tokens[0].equals(compiler.getRootObject().getId())) { // still in root context
+// FieldDescriptor[] newFields = compiler.getScriptFields();
+// for (FieldDescriptor newField : newFields) {
+// if (newField.getName().equals(memberName)) {
+// addListener(tokensSeenSoFar.toString(),
+// null,
+// "addPropertyChangeListener(\"" + memberName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator(),
+// "removePropertyChangeListener(\"" + memberName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator());
+// contextClass = newField.getType();
+// assert contextClass != null : "script field '" + memberName + "' is defined, but has type null";
+// currentSymbol.setLength(0);
+// accepted = true;
+// recognizeClassNames = false;
+// break;
+// }
+// }
+// }
+// }
+// }
+// }
+// if (currentSymbol.length() > 0 && recognizeClassNames) {
+// contextClass = TagManager.resolveClass(currentSymbol.toString(), compiler);
+// if (contextClass != null) {
+// currentSymbol.setLength(0);
+// //accepted = true;
+// //recognizeClassNames = false;
+// // TODO: for now we don't handle statics
+// return null;
+// }
+// }
+// if (!accepted) {
+// return null;
+// }
+// }
+//
+// return contextClass;
+// }
+
+ /**
+ * Adds type information to nodes where possible, and as a side effect adds event listeners to nodes which
+ * can be tracked.
+ *
+ * @param expression the node to scan
+ * @param listenerId id of the listener
+ * @return the class descriptor of the return type or null
+ */
+ private static String[] determineExpressionType(SimpleNode expression) {
+ assert expression.getId() == JavaParserTreeConstants.JJTPRIMARYEXPRESSION;
+ SimpleNode prefix = expression.getChild(0);
+ if (prefix.jjtGetNumChildren() == 1) {
+// log.info("1 : " + prefix.getChild(0).getText());
+ //return prefix.getChild(0).getText();
+ int type = prefix.getChild(0).getId();
+ if (type == JavaParserTreeConstants.JJTLITERAL || type == JavaParserTreeConstants.JJTEXPRESSION) {
+ return null;
+ } else if (type == JavaParserTreeConstants.JJTNAME && expression.jjtGetNumChildren() == 1) // name with no arguments after it
+ {
+ return prefix.getChild(0).getText().trim().split("\\.");
+ }
+ }
+
+ if (expression.jjtGetNumChildren() == 1) {
+// log.info("2 " + prefix.getText());
+ return null;
+ }
+ else {
+ List<String> result = new ArrayList<String>();
+ int index = 0;
+ for(int i = 0 ; i < expression.jjtGetNumChildren() ; i++) {
+ //log.info(expression.getChild(i).getText().trim());
+ String token = expression.getChild(i).getText().trim();
+
+ if(token.startsWith("(")) {
+ result.set(index - 1, result.get(index - 1) + token);
+ }
+ else {
+ int nbToken = 0;
+ while(token.startsWith(".")) {
+ token = token.substring(1);
+ }
+ String[] splitedToken = token.split("\\.");
+ for(int j = splitedToken.length - 1 ; j >= 0 ; j-- ) {
+ if(Character.isUpperCase(splitedToken[j].charAt(0))) {
+ StringBuffer stringBuffer = new StringBuffer();
+ for(int k = 0 ; k < j ; k++) {
+ stringBuffer.append(splitedToken[k]).append(".");
+ }
+ result.add(index, stringBuffer.append(splitedToken[j]).toString());
+ nbToken ++;
+ break;
+ }
+ else {
+ result.add(index, splitedToken[j]);
+ nbToken++;
+ }
+ }
+ index += nbToken;
+ }
+ }
+ return result.toArray(new String[result.size()]);
+ }
+
+// Class contextClass = prefix.getJavaType();
+// if (contextClass == null) {
+// contextClass = compiler.getRootObject().getObjectClass();
+// }
+// String lastNode = prefix.getText().trim();
+//
+// for (int i = 1; i < expression.jjtGetNumChildren(); i++) {
+// SimpleNode suffix = expression.getChild(i);
+// if (suffix.jjtGetNumChildren() == 1 && suffix.getChild(0).getId() == JavaParserTreeConstants.JJTARGUMENTS) {
+// if (suffix.getChild(0).jjtGetNumChildren() == 0) { // at the moment only no-argument methods are trackable
+// contextClass = scanCompoundSymbol(lastNode, contextClass, true, listenerId);
+// if (contextClass == null) {
+// return null;
+// }
+// int dotPos = lastNode.lastIndexOf(".");
+// String objectCode = dotPos == -1 ? "" : lastNode.substring(0, dotPos);
+// log.info("oc : " + objectCode);
+// for (int j = i - 2; j >= 0; j--) {
+// log.info(expression.getChild(j).getText());
+// }
+// for (int j = i - 2; j >= 0; j--) {
+// objectCode = expression.getChild(j).getText() + objectCode;
+// }
+// return objectCode;
+// if (objectCode.length() == 0) {
+// objectCode = compiler.getRootObject().getJavaCode();
+// }
+// String methodName = lastNode.substring(dotPos + 1).trim();
+// try {
+// MethodDescriptor method = contextClass.getMethodDescriptor(methodName);
+// trackMemberIfPossible(objectCode, contextClass, method.getName(), true, listenerId);
+// return method.getReturnType();
+// }
+// catch (NoSuchMethodException e) {
+// // happens for methods defined in the current JAXX file via scripts
+// String propertyName = null;
+// if (methodName.startsWith("is")) {
+// propertyName = Introspector.decapitalize(methodName.substring("is".length()));
+// } else if (methodName.startsWith("get")) {
+// propertyName = Introspector.decapitalize(methodName.substring("get".length()));
+// }
+// if (propertyName != null) {
+// MethodDescriptor[] newMethods = compiler.getScriptMethods();
+// for (MethodDescriptor newMethod : newMethods) {
+// if (newMethod.getName().equals(methodName)) {
+// addListener(compiler.getRootObject().getId(),
+// null,
+// "addPropertyChangeListener(\"" + propertyName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator(),
+// "removePropertyChangeListener(\"" + propertyName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator());
+// contextClass = newMethod.getReturnType();
+// break;
+// }
+// }
+// }
+// }
+// }
+// }
+// lastNode = suffix.getText().trim();
+// if (lastNode.startsWith(".")) {
+// lastNode = lastNode.substring(1);
+// }
+// }
+//
+// return null;
+ }
+
+ /**
+ * Adds type information to nodes where possible, and as a side effect adds event listeners to nodes which
+ * can be tracked.
+ *
+ * @param node node to scan
+ */
+ private static String[] determineNodeType(SimpleNode node) {
+ String[] result = null;
+ switch (node.getId()) {
+ case JavaParserTreeConstants.JJTPRIMARYEXPRESSION:
+ result = determineExpressionType(node);
+ return result;
+ default:
+ return null;
+ }
+ }
+}
Property changes on: trunk/guix-compiler/src/main/java/org/nuiton/guix/BindingUtils.java
___________________________________________________________________
Added: svn:mergeinfo
+
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixCompiler.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixCompiler.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixCompiler.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -24,7 +24,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.guix.GuixLauncher;
import org.nuiton.guix.model.AttributeDescriptor;
import org.nuiton.guix.model.ClassDescriptor;
import org.nuiton.guix.model.GuixModelObject;
@@ -53,13 +52,17 @@
*/
public class GuixCompiler {
+ private static final String STYLE_TAG = "style";
+ private static final String SCRIPT_TAG = "script";
+ private static final String CONSTRUCTOR_PARAMS_ATTRIBUTE = "constructor";
+ private static final String ID_ATTRIBUTE = "id";
+ private static final String STYLE_CLASS_ATTRIBUTE = "styleClass";
+ private static final String SOURCE_ATTRIBUTE = "source";
+ private static final String JAVA_BEAN_ATTRIBUTE = "javaBean";
+
/** log */
- private static final Log log = LogFactory.getLog(GuixCompiler.class);
-
- /**
- * Integer used to give an id to the objects which don't have one specified
- * by the user
- */
+ private Log log = LogFactory.getLog(GuixCompiler.class);
+ /** Integer used to give an id to the objects which don't have one specified by the user */
private int index = 1;
private StyleHandler styleHandler = new StyleHandler();
private ScriptHandler scriptHandler = new ScriptHandler();
@@ -160,13 +163,13 @@
String tagPackageName = resolvePackageName(tagNameSpace, xpp.getName());
- String id = ((xpp.getAttributeValue("", "id") != null)
- ? xpp.getAttributeValue("", "id")
+ String id = ((xpp.getAttributeValue("", ID_ATTRIBUTE) != null)
+ ? xpp.getAttributeValue("", ID_ATTRIBUTE)
: "_" + tagName + index++);
// creation of the root GuixModelObject
- rootMO = new GuixModelObject(id, xpp.getAttributeValue("", "constructor"),
- doc.toString(), xpp.getAttributeValue("", "styleClass"));
+ rootMO = new GuixModelObject(id, xpp.getAttributeValue("", CONSTRUCTOR_PARAMS_ATTRIBUTE),
+ doc.toString(), xpp.getAttributeValue("", STYLE_CLASS_ATTRIBUTE));
// the class name is the name of the file minus the extension
String className = src.getName().substring(0, src.getName().lastIndexOf('.'));
@@ -286,11 +289,11 @@
if(xpp.getPrefix() == null || xpp.getPrefix().equalsIgnoreCase(generationLanguage)) {
// if the tag is a style tag
- if ((xpp.getName() != null) && xpp.getName().equals("style")) {
+ if ((xpp.getName() != null) && xpp.getName().equals(STYLE_TAG)) {
File styleFile = null;
// the name of the file to load
- String source = xpp.getAttributeValue("", "source");
+ String source = xpp.getAttributeValue("", SOURCE_ATTRIBUTE);
// if the source attribute is specified
if (source != null) {
@@ -312,11 +315,11 @@
// the parent is still the same
prev = previousMO;
} // if the tag is a script tag
- else if ((xpp.getName() != null) && xpp.getName().equals("script")) {
+ else if ((xpp.getName() != null) && xpp.getName().equals(SCRIPT_TAG)) {
File scriptFile = null;
// the name of the file to load
- String source = xpp.getAttributeValue("", "source");
+ String source = xpp.getAttributeValue("", SOURCE_ATTRIBUTE);
// if the source attribute is specified
if (source != null) {
@@ -346,14 +349,16 @@
}
- String id = ((xpp.getAttributeValue("", "id") != null)
- ? xpp.getAttributeValue("", "id")
+ String id = ((xpp.getAttributeValue("", ID_ATTRIBUTE) != null)
+ ? xpp.getAttributeValue("", ID_ATTRIBUTE)
: "_" + tagName + index++);
// create the GuixModelObject representing the tag
- GuixModelObject mo = new GuixModelObject(id, xpp.getAttributeValue("", "constructor"),
- javaDoc, xpp.getAttributeValue("", "styleClass"));
+ GuixModelObject mo = new GuixModelObject(id, xpp.getAttributeValue("", CONSTRUCTOR_PARAMS_ATTRIBUTE),
+ javaDoc, xpp.getAttributeValue("", STYLE_CLASS_ATTRIBUTE));
+ mo.setJavaBean(xpp.getAttributeValue("", JAVA_BEAN_ATTRIBUTE) == null || Boolean.valueOf(xpp.getAttributeValue("", JAVA_BEAN_ATTRIBUTE)));
+
// register the ClassDescriptor
ClassDescriptor cd = launcher.registerClassDescriptor(new ClassDescriptor(tagName, tagPackageName));
mo.setClassDescriptor(cd);
@@ -444,8 +449,6 @@
// if not eof
if (xpp.getEventType() == XmlPullParser.START_TAG) {
-
- log.info(prev.getClassDescriptor());
// compile the rest of the document
result.append(compile(xpp, prev, doc.toString()));
}
@@ -511,8 +514,8 @@
List<AttributeDescriptor> result = new ArrayList<AttributeDescriptor>();
for (int i = 0; i < xpp.getAttributeCount(); i++) {
- if (!xpp.getAttributeName(i).equals("id") && !xpp.getAttributeName(i).equals("constructor")
- && !xpp.getAttributeName(i).equals("styleClass")) {
+ if (!xpp.getAttributeName(i).equals(ID_ATTRIBUTE) && !xpp.getAttributeName(i).equals(CONSTRUCTOR_PARAMS_ATTRIBUTE)
+ && !xpp.getAttributeName(i).equals(STYLE_CLASS_ATTRIBUTE) && ! xpp.getAttributeName(i).equals(JAVA_BEAN_ATTRIBUTE)) {
result.add(new AttributeDescriptor(xpp.getAttributeName(i), xpp.getAttributeValue(i)));
}
}
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -30,10 +30,12 @@
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.guix.BindingUtils;
import org.nuiton.guix.generator.GuixGenerator;
import org.nuiton.guix.generator.JavaArgument;
import org.nuiton.guix.generator.JavaField;
import org.nuiton.guix.generator.JavaFile;
+import org.nuiton.guix.generator.JavaFileGenerator;
import org.nuiton.guix.generator.JavaMethod;
import org.nuiton.guix.model.ClassDescriptor;
import org.nuiton.guix.model.GuixModelObject;
@@ -82,9 +84,8 @@
private String generationLanguage;
/** Name of the class that will launch the application */
private String launcherName;
-
+ /** Maps the ClassDescriptors to generate to the corresponding root GuixModelObject */
private Map<ClassDescriptor, GuixModelObject> rootClassDescriptors = new HashMap<ClassDescriptor, GuixModelObject>();
-
/** Dependencies between the different files to generate */
private Map<GuixModelObject, ArrayList<ClassDescriptor>> dependencies = new HashMap<GuixModelObject, ArrayList<ClassDescriptor>>();
@@ -200,15 +201,12 @@
//if the compilation successed
if (success) {
- int i = 0;
//check if all the objects have an existing clas or a class being generated
- while (success && i < classDescriptors.size()) {
- success = (classDescriptors.get(i).getPackageName() != null || TagManager.getGuixClassHandler(classDescriptors.get(i).getName()) != null);
- i++;
- }
- if (!success) {
- if (log.isErrorEnabled()) {
- log.error("The class '" + classDescriptors.get(--i).getName() + "' has no package.");
+ for(ClassDescriptor classDescriptor : classDescriptors) {
+ if(classDescriptor.getPackageName() == null && TagManager.getGuixClassHandler(classDescriptor.getName()) == null) {
+ if(log.isWarnEnabled()) {
+ log.warn("The class '" + classDescriptor.getName() + "' has no package. Default package will be applied.");
+ }
}
}
if (generatorClass != null) {
@@ -290,79 +288,95 @@
dbCreation.append(dbCreation.length() != 0 ? "else if(\"" : "if(\"").append(field).append(".").append(attr).append("\".equals(_binding)) {\n");
dbDeletion.append(dbDeletion.length() != 0 ? "else if(\"" : "if(\"").append(field).append(".").append(attr).append("\".equals(_binding)) {\n");
dbProcess.append(dbProcess.length() != 0 ? "else if(\"" : "if(\"").append(field).append(".").append(attr).append("\".equals(_binding)) {\n");
- List<String[]> bindings = new ArrayList<String[]>();
- //the parser which decompose the binding into the different elements to bind
- JavaParser p = new JavaParser(new StringReader(gen.getBindingsToGenerate().get(field).get(attr)));
- //start parsing the binding value
- while (!p.Line()) {
- SimpleNode node = p.popNode();
- if (node != null) {
- //get the different elements to bind
- for (String s : browseNode(node)) {
- //decompose the element s into attributes
- List<String> l = new ArrayList<String>();
- //number of open brackets
- int parOuvertes = 0;
- StringBuffer read = new StringBuffer();
- for (char c : s.toCharArray()) {
- if (c == '(') {
- parOuvertes++;
- read.append(c);
- }
- else if (c == ')') {
- parOuvertes--;
- read.append(c);
- }
- else if (c == '.') {
- if (parOuvertes == 0) {
- l.add(read.toString());
- read = new StringBuffer();
- }
- else {
- read.append(c);
- }
- }
- else {
- read.append(c);
- }
+ List<Class> listeners = new ArrayList<Class>();
+
+// if(gen.getBindingsToGenerate().get(field).get(attr).startsWith("new ")) {
+// listeners = null;
+// }
+// else {
+ List<String[]> bindings = new ArrayList<String[]>();
+ //the parser which decompose the binding into the different elements to bind
+ JavaParser p = new JavaParser(new StringReader(gen.getBindingsToGenerate().get(field).get(attr)));
+ //start parsing the binding value
+ while (!p.Line()) {
+ SimpleNode node = p.popNode();
+ if (node != null) {
+ List<String[]> l = BindingUtils.scanNode(node);
+ if(l != null) {
+ bindings.addAll(l);
}
- l.add(read.toString());
- bindings.add(l.toArray(new String[l.size()]));
+
+// if(l != null) {
+// for(String s : l) {
+// bindings.add(s.split("\\.").length > 0 ? s.split("\\.") : new String[]{s});
+// }
+// }
+ //get the different elements to bind
+// for (String s : browseNode(node)) {
+// //decompose the element s into attributes
+// List<String> l = new ArrayList<String>();
+// //number of open brackets
+// int parOuvertes = 0;
+// StringBuffer read = new StringBuffer();
+// for (char c : s.toCharArray()) {
+// if (c == '(') {
+// parOuvertes++;
+// read.append(c);
+// }
+// else if (c == ')') {
+// parOuvertes--;
+// read.append(c);
+// }
+// else if (c == '.') {
+// if (parOuvertes == 0) {
+// l.add(read.toString());
+// read = new StringBuffer();
+// }
+// else {
+// read.append(c);
+// }
+// }
+// else {
+// read.append(c);
+// }
+// }
+// l.add(read.toString());
+// bindings.add(l.toArray(new String[l.size()]));
+// }
}
}
- }
- //generates the code
- List<Class> listeners = new ArrayList<Class>();
- for (String[] binding : bindings) {
- StringBuffer methodToInvoke = new StringBuffer();
- //the binding value before the generator changes it
- StringBuffer oldBinding = new StringBuffer();
- //generates the method name for calling the databinding process method
- for (String s : binding) {
- methodToInvoke.append(s.replaceAll("\\W", ""));
- oldBinding.append(s).append(".");
- }
- oldBinding.setLength(oldBinding.length() - 1);
- //generates the code and modify the simple attribute name in the binding by the getter
- listeners.addAll(gen.generateBindings(dbCreation, dbDeletion, null, jf, null, binding, 0, null, methodToInvoke.toString(), generatedFiles));
- //JavaArgument[] args = new JavaArgument[]{new JavaArgument(parameterType.getName(), "event")};
- //new value of the binding with the getters
- StringBuffer newBinding = new StringBuffer();
- for (String s : binding) {
- newBinding.append(s).append(".");
- }
- newBinding.setLength(newBinding.length() - 1);
- //replaces the old binding by the newer one
- gen.getBindingsToGenerate().get(field).put(attr, gen.getBindingsToGenerate().get(field).get(attr).replace(oldBinding.toString(), newBinding.toString()));
+ //generates the code
+ for (String[] binding : bindings) {
+ StringBuffer methodToInvoke = new StringBuffer();
+ //the binding value before the generator changes it
+ StringBuffer oldBinding = new StringBuffer();
+ //generates the method name for calling the databinding process method
+ for (String s : binding) {
+ methodToInvoke.append(s.replaceAll("\\W", ""));
+ oldBinding.append(s).append(".");
+ }
+ oldBinding.setLength(oldBinding.length() - 1);
+ //generates the code and modify the simple attribute name in the binding by the getter
+ listeners.addAll(gen.generateBindings(dbCreation, dbDeletion, null, jf, null, binding, 0, null, methodToInvoke.toString(), generatedFiles));
+ //JavaArgument[] args = new JavaArgument[]{new JavaArgument(parameterType.getName(), "event")};
+ //new value of the binding with the getters
+ StringBuffer newBinding = new StringBuffer();
+ for (String s : binding) {
+ newBinding.append(s).append(".");
+ }
+ newBinding.setLength(newBinding.length() - 1);
+ //replaces the old binding by the newer one
+ gen.getBindingsToGenerate().get(field).put(attr, gen.getBindingsToGenerate().get(field).get(attr).replace(oldBinding.toString(), newBinding.toString()));
- //method called by the listener
- if (jf.getMethod("onChangeFrom" + methodToInvoke, /*args*/ null) == null) {
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "onChangeFrom" + methodToInvoke.toString(), /*args*/ null, null, /*"_DataSource" + dataSourceNumber + ".propertyChange(null);"*/ "processDataBinding(\"" + field + "." + attr + "\");", "Method called when the objects bound by '" + attr + "' of '" + field + "' change"));
+ //method called by the listener
+ if (jf.getMethod("onChangeFrom" + methodToInvoke, /*args*/ null) == null) {
+ jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "onChangeFrom" + methodToInvoke.toString(), /*args*/ null, null, /*"_DataSource" + dataSourceNumber + ".propertyChange(null);"*/ "processDataBinding(\"" + field + "." + attr + "\");", "Method called when the objects bound by '" + attr + "' of '" + field + "' change"));
+ }
+ else {
+ jf.getMethod("onChangeFrom" + methodToInvoke.toString(), /*args*/ null).appendBodyCode(/*"_DataSource" + dataSourceNumber + ".propertyChange(null);"*/"processDataBinding(\"" + field + "." + attr + "\");", "\n");
+ }
}
- else {
- jf.getMethod("onChangeFrom" + methodToInvoke.toString(), /*args*/ null).appendBodyCode(/*"_DataSource" + dataSourceNumber + ".propertyChange(null);"*/"processDataBinding(\"" + field + "." + attr + "\");", "\n");
- }
- }
+// }
dbCreation.append("}\n");
dbDeletion.append("}\n");
dbProcess.append(field).append(".set").append(Character.toUpperCase(attr.charAt(0))).append(attr.substring(1)).append("(").append(gen.getBindingsToGenerate().get(field).get(attr)).append(");\n}\n");
@@ -402,8 +416,8 @@
}
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "applyDataBinding", new JavaArgument[]{new JavaArgument("String", "_binding")}, null,
(jf.isSuperclassIsGuixObject() ? "super.applyDataBinding(_binding);\n" : "") + dbCreation.toString(), "Adds the listeners to the elements which are bound by another attribute"));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "removeDataBinding", new JavaArgument[]{new JavaArgument("String", "_binding")}, null,
- (jf.isSuperclassIsGuixObject() ? "super.removeDataBinding(_binding);\n" : "") + dbDeletion.toString(), "Removes the listeners to the elements which are bound by another attribute"));
+// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "removeDataBinding", new JavaArgument[]{new JavaArgument("String", "_binding")}, null,
+// (jf.isSuperclassIsGuixObject() ? "super.removeDataBinding(_binding);\n" : "") + dbDeletion.toString(), "Removes the listeners to the elements which are bound by another attribute"));
jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "processDataBinding", new JavaArgument[]{new JavaArgument("String", "_binding")}, null,
(jf.isSuperclassIsGuixObject() ? "super.processDataBinding(_binding);\n" : "") + dbProcess.toString(), "Executes the binding instruction"));
//saves the files
Deleted: trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher1.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher1.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/GuixLauncher1.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -1,372 +0,0 @@
-/**
- * *##% guix-compiler
- * Copyright (C) 2009 CodeLutin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
- */
-package org.nuiton.guix;
-
-import java.beans.BeanInfo;
-import java.beans.PropertyChangeListener;
-import org.nuiton.guix.GuixCompiler;
-import java.io.File;
-import java.io.PrintWriter;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.EventListener;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.guix.generator.Generator;
-import org.nuiton.guix.generator.GuixGenerator;
-import org.nuiton.guix.generator.JavaArgument;
-import org.nuiton.guix.generator.JavaField;
-import org.nuiton.guix.generator.JavaFile;
-import org.nuiton.guix.generator.JavaMethod;
-import org.nuiton.guix.model.ClassDescriptor;
-import org.nuiton.guix.model.GuixModelObject;
-import org.nuiton.guix.tags.TagHandler;
-import org.nuiton.guix.tags.TagManager;
-import org.xmlpull.v1.XmlPullParserFactory;
-import org.xmlpull.v1.XmlSerializer;
-
-/**
- * Launch Guix files compilation
- *
- * @author morin
- */
-public class GuixLauncher1 {
-
- /** log */
- protected static final Log log = LogFactory.getLog(GuixLauncher1.class);
- /** original list of files to compile */
- protected final File[] files;
- /** original list of classes to compile */
- protected final String[] classNames;
- /** Files to be treated while compilation. */
- protected List<File> guixFiles = new ArrayList<File>();
- /** Class names corresponding to the files in the guixFiles list. */
- protected List<String> guixFileClassNames = new ArrayList<String>();
- /** Maps the root GuixModelObjects being compiled to the compiler instance
- * handling the compilation. */
- protected Map<GuixModelObject, Long> rootModelObjects =
- new HashMap<GuixModelObject, Long>();
- /** CLassDescriptor met during the compilation */
- protected List<ClassDescriptor> classDescriptors =
- new ArrayList<ClassDescriptor>();
- private List<File> compiledFiles = new ArrayList<File>();
- private Map<GuixGenerator,JavaFile> generatedFiles = new HashMap<GuixGenerator,JavaFile>();
- protected int compilerCount;
- private File targetDirectory;
- private String rootPackage;
- private String mainClass;
- private Class generatorClass;
- private String launcherName;
-
- /**
- * Constructor
- *
- * @param files the files to compile
- */
- public GuixLauncher1(File[] files, File targetDirectory, String rootPackage,
- File baseDir, String mainClass, Class generatorClass, String launcherName) {
- // Set up a simple configuration that logs on the console.
- this.files = files;
- this.targetDirectory = targetDirectory;
- this.rootPackage = rootPackage != null ? rootPackage : "";
- if (files != null) {
- classNames = new String[files.length];
- for (int i = 0; i < files.length; i++) {
- String path = files[i].getAbsolutePath();
- if (baseDir != null) {
- classNames[i] = rootPackage + "." + path.substring(baseDir.getAbsolutePath().length() + 1,
- path.lastIndexOf('.')).replace(File.separatorChar, '.');
- }
- else {
- classNames[i] = path.substring(0, path.lastIndexOf('.'));
- }
- }
- }
- else {
- classNames = null;
- }
- this.mainClass = mainClass != null ? mainClass : "";
- this.launcherName = launcherName != null ? launcherName : "Main";
- this.generatorClass = generatorClass;
- }
-
- /**
- * Compiled a set of files.
- *
- * @return <code>true</code> if compilation succeeds,
- * <code>false</code> otherwise
- */
- public synchronized boolean compile() {
- compilerCount = 0;
- File destDir = targetDirectory;
- if (files != null) {
- if (log.isInfoEnabled()) {
- log.info("Start compiling");
- }
- guixFiles.addAll(Arrays.asList(files));
- guixFileClassNames.addAll(Arrays.asList(classNames));
- boolean success = true;
-
- try {
- assert guixFiles.size() == guixFileClassNames.size();
-
- for (int i = 0; i < guixFiles.size(); i++) {
- File file = guixFiles.get(i);
- String className = guixFileClassNames.get(i);
-
- //if we have not compiled the file yet
- if (!compiledFiles.contains(file)) {
- if (log.isInfoEnabled()) {
- log.info("Compiling class " + className);
- }
- compiledFiles.add(file);
-
- String classPackage;
- if (targetDirectory != null) {
- int dotPos = className.lastIndexOf(".");
- if (dotPos != -1) {
- destDir = new File(targetDirectory, className.substring(0, dotPos).replace('.', File.separatorChar));
- classPackage = className.substring(0, dotPos);
- }
- else {
- destDir = new File(targetDirectory, className);
- classPackage = className;
- }
- if (!destDir.exists() && !destDir.mkdirs()) {
- if (log.isWarnEnabled()) {
- log.warn("couldn't create directory " + destDir);
- }
- continue;
- }
- }
- else {
- destDir = file.getParentFile();
- classPackage = destDir.getAbsolutePath().replace(File.separatorChar, '.');
- }
- //compile the file
- // GuixCompiler compiler = new GuixCompiler(file, this, classPackage);
- GuixCompiler compiler = null;
-
- GuixModelObject rootModelObject = compiler.compile();
- rootModelObjects.put(rootModelObject, compiler.getLastModification());
-
- if (compiler.isFailed()) {
- success = false;
- }
- }
- else {
- if (log.isWarnEnabled()) {
- log.warn(file.getName() + " has already been compiled.");
- }
- }
- }
-
- if (success) {
- int i = 0;
- while (success && i < classDescriptors.size()) {
- success = (classDescriptors.get(i).getPackageName() != null || TagManager.getGuixClassHandler(classDescriptors.get(i).getName()) != null);
- i++;
- }
- if (!success) {
- if (log.isErrorEnabled()) {
- log.error("The class '" + classDescriptors.get(--i).getName() + "' has no package.");
- }
- }
- }
-
- if (generatorClass != null) {
- //creates the XML serializer for the spring conf
- XmlPullParserFactory factory =
- XmlPullParserFactory.newInstance(
- System.getProperty(XmlPullParserFactory.PROPERTY_NAME),
- null);
- XmlSerializer serializer = factory.newSerializer();
-
- File config = new File(targetDirectory,"config.xml");
-
- serializer.setOutput(new PrintWriter(config));
- serializer.startDocument("UTF-8", null);
- serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n");
- serializer.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "\t");
- serializer.text("\n");
- serializer.docdecl(" beans SYSTEM \"http://www.springframework.org/dtd/spring-beans.dtd\"");
- serializer.text("\n");
- serializer.startTag("", "beans");
-
- for (GuixModelObject mo : rootModelObjects.keySet()) {
- try {
- GuixGenerator gen = (GuixGenerator) generatorClass.newInstance();
- gen.setDestDir(destDir);
- gen.setGmo(mo);
- gen.setLastModification(rootModelObjects.get(mo));
- gen.setMainClass((mo.getClassDescriptor().getPackageName() + "." + mo.getClassDescriptor().getName()).equals(mainClass));
- gen.setSerializer(serializer);
- //gen.setClasses(Arrays.asList(classNames));
- gen.setLauncherName(launcherName);
- generatedFiles.put(gen,gen.generate());
- }
- catch (InstantiationException eee) {
- if(log.isErrorEnabled())
- log.error(eee);
- }
- catch (IllegalAccessException eee) {
- if(log.isErrorEnabled())
- log.error(eee);
- }
- }
- for(GuixGenerator gen : generatedFiles.keySet()) {
- int dataSourceNumber = 0;
- StringBuffer dbCreation = new StringBuffer();
- StringBuffer dbDeletion = new StringBuffer();
- StringBuffer dbProcess = new StringBuffer();
- JavaFile jf = generatedFiles.get(gen);
- for(String field : gen.getBindingsToGenerate().keySet()) {
- for(String attr : gen.getBindingsToGenerate().get(field).keySet()) {
- dbCreation.append(dbCreation.length() != 0 ? "else if(\"" : "if(\"").append(field)
- .append(".").append(attr)
- .append("\".equals(_binding)) {\n");
- dbDeletion.append(dbDeletion.length() != 0 ? "else if(\"" : "if(\"").append(field)
- .append(".").append(attr)
- .append("\".equals(_binding)) {\n");
- dbProcess.append(dbProcess.length() != 0 ? "else if(\"" : "if(\"").append(field)
- .append(".").append(attr)
- .append("\".equals(_binding)) {\n")
- .append(field).append(".set")
- .append(Character.toUpperCase(attr.charAt(0)))
- .append(attr.substring(1))
- .append("(");
- String[] binding = gen.getBindingsToGenerate().get(field).get(attr).split("\\s*\\.\\s*");
- String methodToInvoke = gen.getBindingsToGenerate().get(field).get(attr).replaceAll("\\W", "");
- List<Class> listeners = gen.generateBindings(dbCreation, dbDeletion, null, jf, null,null, 0, null, methodToInvoke, generatedFiles);
- dbCreation.append("}\n");
- dbDeletion.append("}\n");
- dbProcess.append(");\n}\n");
- if(listeners != null) {
- jf.addField(new JavaField(Modifier.PRIVATE, "java.beans.PropertyChangeListener", "_DataSource" + dataSourceNumber, "new org.nuiton.guix.runtime.DataBindingListener(this,\"" + field + "." + attr + "\")", null, null));
- jf.getMethod("initDataBinding", null).appendBodyCode("applyDataBinding(\"" + field + "." + attr + "\");", "\n");
- for(Class listener : listeners) {
- final List<Method> listenerMethods = Arrays.asList(listener.getMethods());
- Class parameterType = listenerMethods.get(0).getParameterTypes()[0];
- JavaArgument[] args = new JavaArgument[]{new JavaArgument(parameterType.getName(), "event")};
- if (jf.getMethod("onChangeFrom" + methodToInvoke, args) == null) {
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "onChangeFrom" + methodToInvoke, args, null, "_DataSource" + dataSourceNumber + ".propertyChange(null);", null));
- }
- else {
- jf.getMethod("onChangeFrom" + methodToInvoke, args).appendBodyCode("_DataSource" + dataSourceNumber + ".propertyChange(null);", "\n");
- }
- }
- }
- dataSourceNumber++;
- }
- }
- if(generatedFiles.get(jf.getSuperClass()) != null) {
- dbCreation.append("else {\nsuper.applyDataBinding(_binding);\n" +
- "return;\n}");
- dbDeletion.append("\nelse {\nsuper.removeDataBinding(_binding);\n}\n");
- }
- dbCreation.append("\nprocessDataBinding(_binding);");
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "applyDataBinding", new JavaArgument[]{new JavaArgument("String", "_binding")}, null, dbCreation.toString(), null));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "removeDataBinding", new JavaArgument[]{new JavaArgument("String", "_binding")}, null, dbDeletion.toString(), null));
- jf.addMethod(new JavaMethod(Modifier.PUBLIC, "void", "processDataBinding", new JavaArgument[]{new JavaArgument("String", "_binding")}, null, dbProcess.toString(), null));
- gen.saveFiles();
- }
- serializer.endTag("", "beans");
- serializer.endDocument();
- }
- else {
- if(log.isWarnEnabled()) {
- log.warn("No generation language given");
- }
- }
- }
- catch (Throwable e) {
- e.printStackTrace();
- return false;
- }
- return success;
- }
- else {
- if (log.isWarnEnabled()) {
- log.warn("No file to compile");
- }
- return true;
- }
- }
-
-
- /**
- * Registers a ClassDescriptor
- *
- * @param classDescriptor the ClassDescripor to register
- * @return false if another ClassDescriptor with the same classname
- * and package has a different script or superclass
- */
- public ClassDescriptor registerClassDescriptor(ClassDescriptor classDescriptor) {
- if (classDescriptor == null || classDescriptor.getName() == null) {
- return null;
- }
- int i = 0;
- while (i < classDescriptors.size() && (!classDescriptors.get(i).getName().equals(classDescriptor.getName()) || (classDescriptors.get(i).getPackageName() != null && classDescriptor.getPackageName() != null && !classDescriptors.get(i).getPackageName().equals(classDescriptor.getPackageName())))) {
- i++;
- }
- //if the ClassDescriptor does not exist
- if (i >= classDescriptors.size()) {
- classDescriptors.add(classDescriptor);
- if (log.isDebugEnabled()) {
- log.debug("new ClassDescriptor " + classDescriptor + " inserted");
- }
- return classDescriptor;
- }
- classDescriptors.get(i).setPackageName(classDescriptor.getPackageName());
- if (classDescriptor.getScript() != null) {
- if (classDescriptors.get(i).getScript() == null) {
- classDescriptors.get(i).setScript(classDescriptor.getScript());
- if (log.isDebugEnabled()) {
- log.debug("add script to ClassDescriptor " + classDescriptor);
- }
- }
- else if (!classDescriptors.get(i).getScript().equals(classDescriptor.getScript())) {
- if (log.isDebugEnabled()) {
- log.error("ClassDescriptor " + classDescriptor + " script already defined and different !");
- }
- return null;
- }
- }
- if (classDescriptor.getSuperClass() != null) {
- if (classDescriptors.get(i).getSuperClass() == null) {
- classDescriptors.get(i).setSuperClass(classDescriptor.getSuperClass());
- if (log.isDebugEnabled()) {
- log.debug("add superclass to ClassDescriptor " + classDescriptor);
- }
- }
- else if (!classDescriptors.get(i).getSuperClass().equals(classDescriptor.getSuperClass())) {
- if (log.isErrorEnabled()) {
- log.error("ClassDescriptor " + classDescriptor + " superclass already defined and different !");
- }
- return null;
- }
- }
- return classDescriptors.get(i);
- }
-}
Deleted: trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/BindingUtils.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/BindingUtils.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/BindingUtils.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -1,174 +0,0 @@
-/**
- * *##% guix-compiler
- * Copyright (C) 2009 CodeLutin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*
- */
-package org.nuiton.guix.databinding;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- *
- * @author kevin
- */
-public class BindingUtils {
- /** left brace matcher */
- protected static Matcher leftBraceMatcher = Pattern.compile("^(\\{)|[^\\\\](\\{)").matcher("");
- /** right brace matcher */
- protected static Matcher rightBraceMatcher = Pattern.compile("^(\\})|[^\\\\](\\})").matcher("");
- /** log */
- private static Log log = LogFactory.getLog(BindingUtils.class);
-
- /**
- * Examine an attribute value for data binding expressions. Returns a 'cooked' expression which
- * can be used to determine the resulting value. It is expected that this expression will be used
- * as the source expression in a call to {@link #registerDataBinding}.
- * If the attribute value does not invoke data binding, this method returns <code>null</code>
- *
- * @param stringValue the string value of the property from the XML
- * @param type the type of the property, from the <code>JAXXPropertyDescriptor</code>
- * @return a processed version of the expression
- * @throws jaxx.CompilerException ?
- */
- public static String processDataBindings(String stringValue) {
- int pos = getNextLeftBrace(stringValue, 0);
- if (pos != -1) {
- StringBuffer expression = new StringBuffer();
- int lastPos = 0;
- while (pos != -1 && pos < stringValue.length()) {
- if (pos > lastPos) {
- if (expression.length() > 0) {
- expression.append(" + ");
- }
- expression.append('"');
- expression.append(escapeJavaString(stringValue.substring(lastPos, pos)));
- expression.append('"');
- }
-
- if (expression.length() > 0) {
- expression.append(" + ");
- }
- int pos2 = getNextRightBrace(stringValue, pos + 1);
- if (pos2 == -1) {
- if(log.isErrorEnabled())
- log.error("unmatched '{' in expression: " + stringValue);
- return "";
- }
- expression.append(stringValue.substring(pos + 1, pos2));
- pos2++;
- if (pos2 < stringValue.length()) {
- pos = getNextLeftBrace(stringValue, pos2);
- lastPos = pos2;
- } else {
- pos = stringValue.length();
- lastPos = pos;
- }
- }
- if (lastPos < stringValue.length()) {
- if (expression.length() > 0) {
- expression.append(" + ");
- }
- expression.append('"');
- expression.append(escapeJavaString(stringValue.substring(lastPos)));
- expression.append('"');
- }
-//
-// StringBuffer el = new StringBuffer();
-// Pattern p = Pattern .compile("\\.(get|is)([A-Z])([a-zA-Z0-9]*)\\(\\)");
-// Matcher m = p.matcher(expression.toString());
-// int mEnd = 0;
-// if(m.find()) {
-// do {
-// el.append(expression.toString().substring(mEnd, m.start()))
-// .append(".");
-// mEnd = m.end();
-// el.append(m.group(2).toLowerCase())
-// .append(m.group(3));
-// } while (m.find());
-// }
-// else {
-// el.append(expression.toString());
-// }
-// return el.toString().length() > 0 ? el.toString().substring(0, el.toString().length()) : el.toString();
- return expression.toString();
- }
- return null;
- }
-
- protected static int getNextLeftBrace(String string, int pos) {
- leftBraceMatcher.reset(string);
- return leftBraceMatcher.find(pos) ? Math.max(leftBraceMatcher.start(1), leftBraceMatcher.start(2)) : -1;
- }
-
- protected static int getNextRightBrace(String string, int pos) {
- leftBraceMatcher.reset(string);
- rightBraceMatcher.reset(string);
- int openCount = 1;
- int rightPos;
- while (openCount > 0) {
- pos++;
- int leftPos = leftBraceMatcher.find(pos) ? Math.max(leftBraceMatcher.start(1), leftBraceMatcher.start(2)) : -1;
- rightPos = rightBraceMatcher.find(pos) ? Math.max(rightBraceMatcher.start(1), rightBraceMatcher.start(2)) : -1;
- assert leftPos == -1 || leftPos >= pos;
- assert rightPos == -1 || rightPos >= pos;
- if (leftPos != -1 && leftPos < rightPos) {
- pos = leftPos;
- openCount++;
- } else if (rightPos != -1) {
- pos = rightPos;
- openCount--;
- } else {
- openCount = 0;
- }
- }
- return pos;
- }
-
- /**
- * Escapes a string using standard Java escape sequences, generally in preparation to including it in a string literal
- * in a compiled Java file.
- *
- * @param raw the raw string to be escape
- * @return a string in which all 'dangerous' characters have been replaced by equivalent Java escape sequences
- */
- protected static String escapeJavaString(String raw) {
- StringBuffer out = new StringBuffer(raw);
- for (int i = 0; i < out.length(); i++) {
- char c = out.charAt(i);
- if (c == '\\' || c == '"') {
- out.insert(i, '\\');
- i++;
- } else if (c == '\n') {
- out.replace(i, i + 1, "\\n");
- i++;
- } else if (c == '\r') {
- out.replace(i, i + 1, "\\r");
- i++;
- } else if (c < 32 || c > 127) {
- String value = Integer.toString((int) c, 16);
- while (value.length() < 4) {
- value = "0" + value;
- }
- out.replace(i, i + 1, "\\u" + value);
- i += 5;
- }
- }
- return out.toString();
- }
-}
Deleted: trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataBinding.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataBinding.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataBinding.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -1,92 +0,0 @@
-/*
- * Copyright 2006 Ethan Nicholas. All rights reserved.
- * Use is subject to license terms.
- */
-package org.nuiton.guix.databinding;
-
-import org.nuiton.guix.CompilerException;
-import org.nuiton.guix.GuixCompiler;
-
-/**
- * Represents a data binding in a JAXX file. <code>DataBinding</code> uses {@link DataSource} to
- * track changes to a source expression and update the destination.
- */
-public class DataBinding {
- private String id;
-
- /** The DatSource which tracks source expression changes. */
- private DataSource dataSource;
-
- /** The data binding destination in the form <code><id>.<propertyName></code>. */
- private String dest;
-
- /**
- * A Java snippet which will cause the destination property to be updated with the current value of
- * the binding.
- */
- private String assignment;
-
- /** The current <code>GuixCompiler</code>. */
- private GuixCompiler compiler;
-
-
- /**
- * Creates a new data binding.
- *
- * @param source the Java source code for the data binding expression
- * @param dest the data binding destination in the form <code><id>.<propertyName></code>
- * @param assignment Java snippet which will cause the destination property to be updated with the current value of the binding
- * @param compiler the current <code>JAXXCompiler</code>
- */
- public DataBinding(String source, String dest, String assignment, GuixCompiler compiler) {
- this.id = dest;
- this.dataSource = new DataSource(id, source);
- this.dest = dest;
- this.assignment = assignment;
- this.compiler = compiler;
- }
-
-
- public String getId() {
- return id;
- }
-
-
- /**
- * Compiles the data binding expression. This method calls methods in <code>JAXXCompiler</code>
- * to add the Java code that performs the data binding setup.
- *
- * @param quickNoDependencies true to optimize bindings with no dependencies by simply running them at startup time
- * @return <code>true</code> if the expression has dependencies, <code>false</code> otherwise
- * @throws CompilerException if a compilation error occurs
- */
-// public boolean compile(boolean quickNoDependencies) throws CompilerException {
-// // DataSource.compile handles all of the listener additions
-// boolean result = dataSource.compile("new jaxx.runtime.DataBindingListener(" + compiler.getRootObject().getJavaCode() + ", " + TypeManager.getJavaCode(id) + ")");
-//
-// if (!result && quickNoDependencies) {
-// if (!dest.endsWith(".layout")) // layout is specially handled early in the chain
-// {
-// compiler.appendInitDataBindings(assignment + JAXXCompiler.getLineSeparator());
-// }
-// return false; // no dependencies, just a static expression
-// }
-// if (compiler.haveProcessDataBinding()) {
-// compiler.appendProcessDataBinding(" else ");
-// } else {
-// compiler.appendProcessDataBinding(" ");
-// }
-// compiler.appendProcessDataBinding("if (" + TypeManager.getJavaCode(id) + ".equals($dest)) {" + JAXXCompiler.getLineSeparator());
-// String objectCode = dataSource.getObjectCode();
-// if (objectCode != null) {
-// compiler.appendProcessDataBinding(" if (" + objectCode + " != null) {" + JAXXCompiler.getLineSeparator());
-// compiler.appendProcessDataBinding(" ");
-// }
-// compiler.appendProcessDataBinding(" " + assignment.trim());
-// if (objectCode != null) {
-// compiler.appendProcessDataBinding(JAXXCompiler.getLineSeparator() + " }");
-// }
-// compiler.appendProcessDataBinding(JAXXCompiler.getLineSeparator() + " }");
-// return true;
-// }
-}
\ No newline at end of file
Deleted: trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataSource.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataSource.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/databinding/DataSource.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -1,460 +0,0 @@
-/*
- * Copyright 2006 Ethan Nicholas. All rights reserved.
- * Use is subject to license terms.
- */
-package org.nuiton.guix.databinding;
-
-import java.beans.Introspector;
-import java.beans.PropertyChangeListener;
-import java.io.StringReader;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.guix.CompilerException;
-import org.nuiton.guix.UnsupportedAttributeException;
-import org.nuiton.guix.generator.JavaField;
-import org.nuiton.guix.parser.JavaParser;
-import org.nuiton.guix.parser.JavaParserConstants;
-import org.nuiton.guix.parser.JavaParserTreeConstants;
-import org.nuiton.guix.parser.SimpleNode;
-import org.nuiton.guix.tags.DefaultTagHandler;
-import org.nuiton.guix.tags.TagHandler;
-import org.nuiton.guix.tags.TagManager;
-
-/**
- * Represents a Java expression which fires a <code>PropertyChangeEvent</code> when it can be
- * determined that its value may have changed. Events are fired on a "best effort" basis, and events
- * may either be fired too often (the value has not actually changed) or not often enough (the value
- * changed but no event was fired).
- */
-public class DataSource {
- private class NULL {
- } // type attached to "null" constants in parsed expressions
-
- private Log log = LogFactory.getLog(DataSource.class);
-
- private String id;
-
- /** The Java source code for the expression. */
- private String source;
-
- /** The current <code>JAXXCompiler</code>. */
- //private JAXXCompiler compiler;
-
- /** List of symbols which this data source expression depends on. */
- private List<String> dependencySymbols = new ArrayList<String>();
-
- private StringBuffer addListenerCode = new StringBuffer();
- private StringBuffer removeListenerCode = new StringBuffer();
- private boolean compiled;
-
- /** the delegate of property to be required */
- private String objectCode;
-
- /**
- * Creates a new data source. After creating a <code>DataSource</code>, use {@link #compile}
- * to cause it to function at runtime.
- *
- * @param id the DataSource's id
- * @param source the Java source code for the data source expression
- * @param compiler the current <code>JAXXCompiler</code>
- */
- public DataSource(String id, String source) {
- this.id = id;
- this.source = source;
- }
-
-
- public String getId() {
- return id;
- }
-
- public String getSource() {
- return source;
- }
-
- public String getObjectCode() {
- return objectCode;
- }
-
- /**
- * Compiles the data source expression and listener. This method calls methods in <code>JAXXCompiler</code>
- * to add the Java code that performs the data source setup. Adding listeners to <code>DataSource</code> is
- * slightly more complicated than with ordinary classes, because <code>DataSource</code> only exists at compile
- * time. You must pass in a Java expression which evaluates to a <code>PropertyChangeListener</code>; this
- * expression will be compiled and evaluated at runtime to yield the <code>DataSource's</code> listener.
- *
- * @param propertyChangeListenerCode Java code snippet which evaluates to a <code>PropertyChangeListener</code>
- * @return <code>true</code> if the expression has dependencies, <code>false</code> otherwise
- * @throws CompilerException if a compilation error occurs
- */
-// public boolean compile(String propertyChangeListenerCode) throws CompilerException {
-// if (compiled) {
-// throw new IllegalStateException(this + " has already been compiled");
-// }
-// String id = "";
-// JavaParser p = new JavaParser(new StringReader(source + ";"));
-// while (!p.Line()) {
-// SimpleNode node = p.popNode();
-// scanNode(node, id);
-// }
-//
-// if (dependencySymbols.size() > 0) {
-// //TC 20081108 prefer add a real JavaField instead of raw code
-// //compiler.appendBodyCode("private PropertyChangeListener " + id + " = " + propertyChangeListenerCode + ";\n");
-// compiler.addSimpleField(new JavaField(Modifier.PRIVATE, PropertyChangeListener.class.getName(), id, propertyChangeListenerCode));
-// }
-//
-// compileListeners();
-// compiled = true;
-//
-// return dependencySymbols.size() > 0;
-// }
-//
-// /** @return a list of symbols on which this data source depends. */
-// public Collection<String> getDependencies() {
-// return Collections.unmodifiableList(dependencySymbols);
-// }
-//
-// /**
-// * Examines a node to identify any dependencies it contains.
-// *
-// * @param node node to scan
-// * @param listenerId id of listener
-// * @throws jaxx.CompilerException ?
-// */
-// private void scanNode(SimpleNode node, String listenerId) throws CompilerException {
-// switch (node.getId()) {
-// case JavaParserTreeConstants.JJTMETHODDECLARATION:
-// break;
-// case JavaParserTreeConstants.JJTFIELDDECLARATION:
-// break;
-//
-// default:
-// int count = node.jjtGetNumChildren();
-// for (int i = 0; i < count; i++) {
-// scanNode(node.getChild(i), listenerId);
-// }
-// determineNodeType(node, listenerId);
-// }
-// }
-//
-// private Class determineLiteralType(SimpleNode node) {
-// assert node.getId() == JavaParserTreeConstants.JJTLITERAL;
-// if (node.jjtGetNumChildren() == 1) {
-// int id = node.getChild(0).getId();
-// if (id == JavaParserTreeConstants.JJTBOOLEANLITERAL) {
-// return boolean.class;
-// }
-// if (id == JavaParserTreeConstants.JJTNULLLITERAL) {
-// return null;
-// }
-// throw new RuntimeException("Expected BooleanLiteral or NullLiteral, found " + JavaParserTreeConstants.jjtNodeName[id]);
-// }
-// int id = node.firstToken.kind;
-// switch (id) {
-// case JavaParserConstants.INTEGER_LITERAL:
-// if (node.firstToken.image.toLowerCase().endsWith("l")) {
-// return long.class;
-// }
-// return int.class;
-// case JavaParserConstants.CHARACTER_LITERAL:
-// return char.class;
-// case JavaParserConstants.FLOATING_POINT_LITERAL:
-// if (node.firstToken.image.toLowerCase().endsWith("f")) {
-// return float.class;
-// }
-// return double.class;
-// case JavaParserConstants.STRING_LITERAL:
-// return String.class;
-// default:
-// throw new RuntimeException("Expected literal token, found " + JavaParserConstants.tokenImage[id]);
-// }
-// }
-//
-// /**
-// * Scans through a compound symbol (foo.bar.baz) to identify and track all trackable pieces of it.
-// *
-// * @param symbol symbol to scan
-// * @param contextClass current class context
-// * @param isMethod flag to search a method
-// * @param listenerId id of the listener
-// * @return the type of the symbol (or null if it could not be determined).
-// */
-// private Class scanCompoundSymbol(String symbol, Class contextClass, boolean isMethod, String listenerId) {
-// String[] tokens = symbol.split("\\s*\\.\\s*");
-// StringBuffer currentSymbol = new StringBuffer();
-// StringBuffer tokensSeenSoFar = new StringBuffer();
-// boolean accepted; // if this ends up false, it means we weren't able to figure out
-// // which object the method is being invoked on
-// boolean recognizeClassNames = true;
-// for (int j = 0; j < tokens.length - (isMethod ? 1 : 0); j++) {
-// accepted = false;
-//
-// if (tokensSeenSoFar.length() > 0) {
-// tokensSeenSoFar.append('.');
-// }
-// tokensSeenSoFar.append(tokens[j]);
-// if (currentSymbol.length() > 0) {
-// currentSymbol.append('.');
-// }
-// currentSymbol.append(tokens[j]);
-//
-// if (currentSymbol.indexOf(".") == -1) {
-// String memberName = currentSymbol.toString();
-// CompiledObject object = compiler.getCompiledObject(memberName);
-// if (object != null) {
-// contextClass = object.getObjectClass();
-// currentSymbol.setLength(0);
-// accepted = true;
-// recognizeClassNames = false;
-// } else {
-// try {
-// FieldDescriptor field = contextClass.getFieldDescriptor(memberName);
-// trackMemberIfPossible(tokensSeenSoFar.toString(), contextClass, field.getName(), false, listenerId);
-// contextClass = field.getType();
-// currentSymbol.setLength(0);
-// accepted = true;
-// recognizeClassNames = false;
-// }
-// catch (NoSuchFieldException e) {
-// if (j == 0 || j == 1 && tokens[0].equals(compiler.getRootObject().getId())) { // still in root context
-// FieldDescriptor[] newFields = compiler.getScriptFields();
-// for (FieldDescriptor newField : newFields) {
-// if (newField.getName().equals(memberName)) {
-// addListener(tokensSeenSoFar.toString(),
-// null,
-// "addPropertyChangeListener(\"" + memberName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator(),
-// "removePropertyChangeListener(\"" + memberName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator());
-// contextClass = newField.getType();
-// assert contextClass != null : "script field '" + memberName + "' is defined, but has type null";
-// currentSymbol.setLength(0);
-// accepted = true;
-// recognizeClassNames = false;
-// break;
-// }
-// }
-// }
-// }
-// }
-// }
-// if (currentSymbol.length() > 0 && recognizeClassNames) {
-// contextClass = TagManager.resolveClass(currentSymbol.toString(), compiler);
-// if (contextClass != null) {
-// currentSymbol.setLength(0);
-// //accepted = true;
-// //recognizeClassNames = false;
-// // TODO: for now we don't handle statics
-// return null;
-// }
-// }
-// if (!accepted) {
-// return null;
-// }
-// }
-//
-// return contextClass;
-// }
-//
-// /**
-// * Adds type information to nodes where possible, and as a side effect adds event listeners to nodes which
-// * can be tracked.
-// *
-// * @param expression the node to scan
-// * @param listenerId id of the listener
-// * @return the class descriptor of the return type or null
-// */
-// private Class determineExpressionType(SimpleNode expression, String listenerId) {
-// assert expression.getId() == JavaParserTreeConstants.JJTPRIMARYEXPRESSION;
-// SimpleNode prefix = expression.getChild(0);
-// if (prefix.jjtGetNumChildren() == 1) {
-// int type = prefix.getChild(0).getId();
-// if (type == JavaParserTreeConstants.JJTLITERAL || type == JavaParserTreeConstants.JJTEXPRESSION) {
-// prefix.setJavaType(prefix.getChild(0).getJavaType());
-// } else if (type == JavaParserTreeConstants.JJTNAME && expression.jjtGetNumChildren() == 1) // name with no arguments after it
-// {
-// prefix.setJavaType(scanCompoundSymbol(prefix.getText().trim(), compiler.getRootObject().getObjectClass(), false, listenerId));
-// }
-// }
-//
-// if (expression.jjtGetNumChildren() == 1) {
-// return prefix.getJavaType();
-// }
-//
-// Class contextClass = prefix.getJavaType();
-// if (contextClass == null) {
-// contextClass = compiler.getRootObject().getObjectClass();
-// }
-// String lastNode = prefix.getText().trim();
-//
-// for (int i = 1; i < expression.jjtGetNumChildren(); i++) {
-// SimpleNode suffix = expression.getChild(i);
-// if (suffix.jjtGetNumChildren() == 1 && suffix.getChild(0).getId() == JavaParserTreeConstants.JJTARGUMENTS) {
-// if (suffix.getChild(0).jjtGetNumChildren() == 0) { // at the moment only no-argument methods are trackable
-// contextClass = scanCompoundSymbol(lastNode, contextClass, true, listenerId);
-// if (contextClass == null) {
-// return null;
-// }
-// int dotPos = lastNode.lastIndexOf(".");
-// String objectCode = dotPos == -1 ? "" : lastNode.substring(0, dotPos);
-// for (int j = i - 2; j >= 0; j--) {
-// objectCode = expression.getChild(j).getText() + objectCode;
-// }
-// if (objectCode.length() == 0) {
-// objectCode = compiler.getRootObject().getJavaCode();
-// }
-// String methodName = lastNode.substring(dotPos + 1).trim();
-// try {
-// MethodDescriptor method = contextClass.getMethodDescriptor(methodName);
-// trackMemberIfPossible(objectCode, contextClass, method.getName(), true, listenerId);
-// return method.getReturnType();
-// }
-// catch (NoSuchMethodException e) {
-// // happens for methods defined in the current JAXX file via scripts
-// String propertyName = null;
-// if (methodName.startsWith("is")) {
-// propertyName = Introspector.decapitalize(methodName.substring("is".length()));
-// } else if (methodName.startsWith("get")) {
-// propertyName = Introspector.decapitalize(methodName.substring("get".length()));
-// }
-// if (propertyName != null) {
-// MethodDescriptor[] newMethods = compiler.getScriptMethods();
-// for (MethodDescriptor newMethod : newMethods) {
-// if (newMethod.getName().equals(methodName)) {
-// addListener(compiler.getRootObject().getId(),
-// null,
-// "addPropertyChangeListener(\"" + propertyName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator(),
-// "removePropertyChangeListener(\"" + propertyName + "\", " + listenerId + ");" + JAXXCompiler.getLineSeparator());
-// contextClass = newMethod.getReturnType();
-// break;
-// }
-// }
-// }
-// }
-// }
-// }
-// lastNode = suffix.getText().trim();
-// if (lastNode.startsWith(".")) {
-// lastNode = lastNode.substring(1);
-// }
-// }
-//
-// return null;
-// }
-//
-//// private void trackMemberIfPossible(String objectCode, Class objectClass, String memberName, boolean method, String listenerId) {
-//// if (objectClass.isInterface()) // might be technically possible to track in some cases, but for now
-//// {
-//// return; // we can't create a DefaultObjectHandler for interfaces
-//// }
-////
-//// TagHandler handler = (TagHandler)TagManager.getGuixClassHandler(objectClass.getName()).newInstance();
-//// try {
-//// if (handler.isMemberBound(memberName)) {
-//// addListener(objectCode + "." + memberName + (method ? "()" : ""),
-//// objectCode,
-//// handler.getAddMemberListenerCode(objectCode, id, memberName, listenerId, compiler),
-//// handler.getRemoveMemberListenerCode(objectCode, id, memberName, listenerId, compiler));
-//// }
-//// }
-//// catch (UnsupportedAttributeException e) {
-//// // ignore -- this is thrown for methods like toString(), for which there is no tracking and
-//// // no setting support
-//// }
-//// }
-//
-// /**
-// * Adds type information to nodes where possible, and as a side effect adds event listeners to nodes which
-// * can be tracked.
-// *
-// * @param node node to scan
-// * @param listenerId the listener id
-// */
-// private void determineNodeType(SimpleNode node, String listenerId) {
-// Class type = null;
-// if (node.jjtGetNumChildren() == 1) {
-// type = node.getChild(0).getJavaType();
-// }
-// switch (node.getId()) {
-// case JavaParserTreeConstants.JJTCLASSORINTERFACETYPE:
-// type = Class.class;
-// break;
-// case JavaParserTreeConstants.JJTPRIMARYEXPRESSION:
-// type = determineExpressionType(node, listenerId);
-// break;
-// case JavaParserTreeConstants.JJTLITERAL:
-// type = determineLiteralType(node);
-// break;
-// case JavaParserTreeConstants.JJTCASTEXPRESSION:
-// try {
-// type = Class.forName(node.getChild(0).getText());
-// }
-// catch (ClassNotFoundException eee) {
-// if(log.isErrorEnabled()) {
-// log.error(eee);
-// }
-// }
-// break;
-// }
-// node.setJavaType(type);
-// }
-//
-// private void addListener(String dependencySymbol, String objectCode, String addCode, String removeCode) {
-// this.objectCode = objectCode;
-// if (!dependencySymbols.contains(dependencySymbol)) {
-// dependencySymbols.add(dependencySymbol);
-// if (objectCode != null) {
-// addListenerCode.append("if (").append(objectCode).append(" != null) {").append(JAXXCompiler.getLineSeparator());
-// addListenerCode.append(" ");
-// }
-// addListenerCode.append(" ").append(addCode);
-// if (objectCode != null) {
-// addListenerCode.append(" ").append("}");
-// }
-//
-// if (objectCode != null) {
-// removeListenerCode.append("if (").append(objectCode).append(" != null) {").append(JAXXCompiler.getLineSeparator());
-// removeListenerCode.append(" ");
-// }
-// removeListenerCode.append(" ").append(removeCode);
-// if (objectCode != null) {
-// removeListenerCode.append(" }");
-// }
-// }
-// }
-//
-// private void compileListeners() {
-// String javaCodeId = TypeManager.getJavaCode(id);
-// if (addListenerCode.length() > 0) {
-// if (compiler.haveApplyDataBinding()) {
-// compiler.appendApplyDataBinding(" else ");
-// }
-// compiler.appendApplyDataBinding("if (" + javaCodeId + ".equals($binding)) {" + JAXXCompiler.getLineSeparator());
-// compiler.appendApplyDataBinding(" " + addListenerCode + JAXXCompiler.getLineSeparator());
-// compiler.appendApplyDataBinding("}");
-// //if (compiler.applyDataBinding.length() > 0)
-// // compiler.applyDataBinding.append("else ");
-// //compiler.applyDataBinding.append("if ($binding.equals(").append(TypeManager.getJavaCode(id)).append(")) {").append(JAXXCompiler.getLineSeparator());
-// //compiler.applyDataBinding.append(" ").append(addListenerCode).append(JAXXCompiler.getLineSeparator());
-// //compiler.applyDataBinding.append("}").append(JAXXCompiler.getLineSeparator());
-// }
-//
-// if (removeListenerCode.length() > 0) {
-// if (compiler.haveRemoveDataBinding()) {
-// compiler.appendRemoveDataBinding(" else ");
-// }
-// compiler.appendRemoveDataBinding("if (" + javaCodeId + ".equals($binding)) {" + JAXXCompiler.getLineSeparator());
-// compiler.appendRemoveDataBinding(" " + removeListenerCode + JAXXCompiler.getLineSeparator());
-// compiler.appendRemoveDataBinding("}");
-// //if (compiler.removeDataBinding.length() > 0)
-// // compiler.removeDataBinding.append("else ");
-// //compiler.removeDataBinding.append("if ($binding.equals(").append(TypeManager.getJavaCode(id)).append(")) {").append(JAXXCompiler.getLineSeparator());
-// //compiler.removeDataBinding.append(" ").append(removeListenerCode).append(JAXXCompiler.getLineSeparator());
-// //compiler.removeDataBinding.append("}").append(JAXXCompiler.getLineSeparator());
-// }
-// }
-}
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/Generator.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/Generator.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/Generator.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -69,4 +69,9 @@
public String getLauncherName();
public void setLauncherName(String launcherName);
+
+ public List<JavaFile> getPropertyChangeListenerDependencies();
+
+ public void setPropertyChangeListenerDependencies(List<JavaFile> propertyChangeListenerDependencies);
+
}
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/GuixGenerator.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/GuixGenerator.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/GuixGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -20,6 +20,7 @@
package org.nuiton.guix.generator;
import java.io.File;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -54,6 +55,8 @@
protected String launcherName = null;
/** Maps the field name with a map of the attribute and its value */
protected Map<String,Map<String, String>> bindings2Generate = new HashMap<String,Map<String, String>>();
+ /** List of the user file names containing the addPropertyChangeListener method */
+ protected List<JavaFile> propertyChangeListenerDependencies = new ArrayList<JavaFile>();
/**
* Generates a JavaFile
@@ -143,6 +146,14 @@
this.bindings2Generate = bindings2Generate;
}
+ public List<JavaFile> getPropertyChangeListenerDependencies() {
+ return propertyChangeListenerDependencies;
+ }
+
+ public void setPropertyChangeListenerDependencies(List<JavaFile> propertyChangeListenerDependencies) {
+ this.propertyChangeListenerDependencies = propertyChangeListenerDependencies;
+ }
+
/**
* Saves the generated files
*/
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFile.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFile.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFile.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -166,7 +166,8 @@
if(method.getArguments() == null && args == null) {
return method;
}
- else if (method.getArguments().length == args.length) {
+ else if (method.getArguments() != null && args != null
+ && method.getArguments().length == args.length) {
boolean samesame = true;
for(int i = 0 ; i < args.length ; i++) {
if(!args[i].getName().equals(method.getArguments()[i].getName())
@@ -199,7 +200,8 @@
if(method.getArguments() == null && args == null) {
return method;
}
- else if (method.getArguments().length == args.length) {
+ else if (method.getArguments() != null && args != null
+ && method.getArguments().length == args.length) {
boolean samesame = true;
for(int i = 0 ; i < args.length ; i++) {
if(!args[i].getName().equals(method.getArguments()[i].getName())
@@ -217,6 +219,13 @@
return null;
}
+ public JavaMethod[] getAllMethods() {
+ List<JavaMethod> allMethods = new ArrayList<JavaMethod>();
+ allMethods.addAll(methods);
+ allMethods.addAll(inheritedMethods);
+ return allMethods.toArray(new JavaMethod[allMethods.size()]);
+ }
+
public void addField(JavaField field) {
addField(field, false);
}
@@ -233,7 +242,7 @@
if (javaBean) {
// add full javabean support
if (Boolean.class.getName().equals(field.getType())) {
- content = String.format(BOOLEAN_GETTER_PATTERN, id);
+ content = (classType == INTERFACE) ? null : String.format(BOOLEAN_GETTER_PATTERN, id);
addMethod(new JavaMethod(Modifier.PUBLIC, field.getType(), "is" + capitalizedName, null, null, content, null));
}
content = (classType == INTERFACE) ? null : String.format(SETTER_PATTERN, field.getType(), id);
@@ -277,6 +286,12 @@
return null;
}
+ public JavaField[] getAllFields() {
+ List<JavaField> allFields = new ArrayList<JavaField>();
+ allFields.addAll(fields);
+ allFields.addAll(inheritedFields);
+ return allFields.toArray(new JavaField[allFields.size()]);
+ }
public static String addIndentation(String source, String lineSeparator) {
return indent(source, false, lineSeparator);
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFileGenerator.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFileGenerator.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaFileGenerator.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -43,7 +43,7 @@
*/
public enum Method {
COMPONENTS_CREATION, COMPONENTS_SETTINGS, COMPONENTS_TREE, DATABINDING_INIT,
- BEFORE_CREATION, BEFORE_INITIALIZATION, BEFORE_BINDING, IN_THE_END
+ BEFORE_CREATION, BEFORE_TREE, BEFORE_SETTINGS, BEFORE_BINDING, IN_THE_END
}
/** log */
protected Log log = LogFactory.getLog(JavaFileGenerator.class);
@@ -79,7 +79,7 @@
*
* @param gmo GuixModelObject which represents the class to generate
*/
- protected abstract void addImports(GuixModelObject gmo);
+ protected abstract void addImports();
/**
* Fills and saves the generated file
@@ -120,12 +120,15 @@
else if (m == Method.DATABINDING_INIT) {
return "initDataBinding";
}
- else if (m == Method.BEFORE_INITIALIZATION) {
- return "beforeInitialization";
+ else if (m == Method.BEFORE_TREE) {
+ return "beforeTree";
}
else if (m == Method.COMPONENTS_CREATION) {
return "componentsCreation";
}
+ else if (m == Method.BEFORE_SETTINGS) {
+ return "beforeSetting";
+ }
else if (m == Method.COMPONENTS_SETTINGS) {
return "componentsSetting";
}
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaMethod.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaMethod.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/generator/JavaMethod.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -27,8 +27,6 @@
import java.util.EnumSet;
import java.util.Iterator;
import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
/**
* Represents a method in a Java source file being generated for output. <code>JavaMethods</code> are created
@@ -181,7 +179,11 @@
return bodyCode.toString();
}
+ public void setBodyCode(String bodyCode) {
+ this.bodyCode = new StringBuffer(bodyCode);
+ }
+
/**
* Appends additional code to the method's body.
*
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/model/GuixModelObject.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/model/GuixModelObject.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/model/GuixModelObject.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -59,6 +59,9 @@
/** The contructor parameters fro this object */
private String constructor;
+ /** The contructor parameters fro this object */
+ private boolean javaBean = true;
+
/** The javaDoc of the object */
private String javadoc;
@@ -121,6 +124,14 @@
public void setConstructor(String constructor) {
this.constructor = constructor;
}
+
+ public boolean isJavaBean() {
+ return javaBean;
+ }
+
+ public void setJavaBean(boolean javaBean) {
+ this.javaBean = javaBean;
+ }
public GuixModelObject getParent() {
return parent;
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/DefaultTagHandler.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/DefaultTagHandler.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/DefaultTagHandler.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -239,6 +239,11 @@
return attrMap.get(attr);
}
+ @Override
+ public String getDefaultConstructor() {
+ return null;
+ }
+
/**
* @param name ?
* @return <code>true</code> if the named member is <i>bound</i> (fires <code>PropertyChangeEvent</code>
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/ScriptHandler.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/ScriptHandler.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/ScriptHandler.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -40,6 +40,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.guix.generator.JavaArgument;
+import org.nuiton.guix.generator.JavaField;
import org.nuiton.guix.generator.JavaMethod;
import org.nuiton.guix.parser.JavaParser;
import org.nuiton.guix.parser.JavaParserTreeConstants;
@@ -52,8 +53,10 @@
*/
public class ScriptHandler {
- private Log log = LogFactory.getLog(ScriptHandler.class);
+ private static final Log log = LogFactory.getLog(ScriptHandler.class);
+ private static final String SWING_POSTPROCESS_FIRST_TOKEN_PATTERN = "%1$s old%2$s = %2$s;\n%2$s";
+ private static final String SWING_POSTPROCESS_LAST_TOKEN_PATTERN = "%1$s;\nfirePropertyChange(\"%2$s\", old%2$s, %2$s)";
/**
* Loads the content of a script file
*
@@ -90,12 +93,10 @@
if ((scriptFile != null) && scriptFile.exists()) {
script.append(loadScriptFile(scriptFile));
}
-
+
xpp.nextToken();
- if (xpp.getEventType() == XmlPullParser.CDSECT) {
- script.append(xpp.getText());
- }
+ script.append(xpp.getText());
while ((xpp.getEventType() != XmlPullParser.END_TAG) || (!xpp.getName().equals("script"))) {
xpp.nextToken();
@@ -109,20 +110,21 @@
*/
public enum ScriptPart {
- IMPORTS, BODYCODE, INITIALIZERS, METHODS
+ IMPORTS, BODYCODE, INITIALIZERS, METHODS, FIELDS
}
/**
- * Decopose the script into the different parts
+ * Decompose the script into the different parts
* @param script the script to decompose
* @return a map containing the imports, the bodycode, the initializers and the methods of the script
*/
- public Map<ScriptPart, Object> decomposeScript(String script) {
+ public static Map<ScriptPart, Object> decomposeScript(String script) {
Map<ScriptPart, Object> map = new HashMap<ScriptPart, Object>();
List<String> imports = new ArrayList<String>();
StringBuffer bodyCode = new StringBuffer();
List<JavaMethod> methods = new ArrayList<JavaMethod>();
+ List<JavaField> fields = new ArrayList<JavaField>();
StringBuffer initializers = new StringBuffer();
JavaParser p = new JavaParser(new StringReader(script));
@@ -137,6 +139,7 @@
bodyCode.append(ssn.get(ScriptPart.BODYCODE));
initializers.append(ssn.get(ScriptPart.INITIALIZERS));
methods.addAll((List<JavaMethod>)ssn.get(ScriptPart.METHODS));
+ fields.addAll((List<JavaField>)ssn.get(ScriptPart.FIELDS));
}
}
//add results
@@ -144,17 +147,87 @@
map.put(ScriptPart.BODYCODE, bodyCode.toString());
map.put(ScriptPart.INITIALIZERS, initializers.toString());
map.put(ScriptPart.METHODS, methods);
+ map.put(ScriptPart.FIELDS, fields);
return map;
}
+ public static String postProcessMethodBody(JavaMethod method, JavaField[] fields) {
+ JavaParser p = new JavaParser(new StringReader(method.getBodyCode()));
+ StringBuffer newMethodBody = new StringBuffer();
+ //start parsing
+ while (!p.Line()) {
+ SimpleNode node = p.popNode();
+ if (node != null) {
+ postProcessContents(node, Modifier.isStatic(method.getModifiers()), fields);
+ newMethodBody.append(node.getText());
+ }
+ }
+ return newMethodBody.toString();
+ }
+
+ public static String postProcessInitializers(String initializers, JavaField[] fields) {
+ JavaParser p = new JavaParser(new StringReader(initializers));
+ StringBuffer newInitializers = new StringBuffer();
+ //start parsing
+ while (!p.Line()) {
+ SimpleNode node = p.popNode();
+ if (node != null) {
+ postProcessContents(node, false, fields);
+ newInitializers.append(node.getText());
+ }
+ }
+ return newInitializers.toString();
+ }
+
+ private static void postProcessContents(SimpleNode node, boolean staticContext, JavaField[] fields) {
+ // identify static methods and initializers -- we can't fire events statically
+ if (node.getId() == JavaParserTreeConstants.JJTMETHODDECLARATION) {
+ if (node.getParent().getChild(0).getText().indexOf("static") != -1) {
+ staticContext = true;
+ }
+ }
+ else if (node.getId() == JavaParserTreeConstants.JJTINITIALIZER) {
+ if (node.getText().trim().startsWith("static")) {
+ staticContext = true;
+ }
+ }
+
+ int count = node.jjtGetNumChildren();
+ for (int i = 0; i < count; i++) {
+ postProcessContents(node.getChild(i), staticContext, fields);
+ }
+
+ int id = node.getId();
+ if (!staticContext) {
+ String lhs = null;
+ if (id == JavaParserTreeConstants.JJTASSIGNMENTEXPRESSION || (id == JavaParserTreeConstants.JJTPOSTFIXEXPRESSION && node.jjtGetNumChildren() == 2)) {
+ lhs = ((SimpleNode) node.jjtGetChild(0)).getText().trim();
+ }
+ else
+ if (id == JavaParserTreeConstants.JJTPREINCREMENTEXPRESSION || id == JavaParserTreeConstants.JJTPREDECREMENTEXPRESSION) {
+ lhs = ((SimpleNode) node.jjtGetChild(0)).getText().trim();
+ }
+ if (lhs != null) {
+ for (JavaField field : fields) {
+ if (field.getName().equals(lhs)) {
+ //lhs.substring(lhs.lastIndexOf(".") + 1);
+ node.firstToken.image = String.format(SWING_POSTPROCESS_FIRST_TOKEN_PATTERN, field.getType(), node.firstToken.image);
+ node.lastToken.image = String.format(SWING_POSTPROCESS_LAST_TOKEN_PATTERN, node.lastToken.image, lhs);
+ }
+ }
+ }
+ }
+ }
+
/**
* Analyse a node of the parsed script
* @param node the node to analyse
* @return a map containing the imports, the bodycode, the initializers and the methods of the node
*/
- private Map<ScriptPart, Object> analyseScriptNode(SimpleNode node) {
+ private static Map<ScriptPart, Object> analyseScriptNode(SimpleNode node) {
List<String> imports = new ArrayList<String>();
List<JavaMethod> methods = new ArrayList<JavaMethod>();
+ List<JavaField> fields = new ArrayList<JavaField>();
StringBuffer bodyCode = new StringBuffer();
StringBuffer initializers = new StringBuffer();
@@ -254,12 +327,33 @@
// the "local" variable declarations in this expression aren't actually local -- they are flagged local
// just because there isn't an enclosing class scope visible to the parser. "Real" local variable
// declarations won't show up here, because they will be buried inside of methods.
- String text = node.getText().trim();
- if (!text.endsWith(";")) {
- text += ";";
+ SimpleNode fieldDeclaration = node.getChild(0).getChild(0);
+ String fieldClass = null, fieldName = null, fieldInit = null;
+ int fieldModifier = 4; //4 is Modifier.PROTECTED
+
+ for (int i = 0; i < fieldDeclaration.jjtGetNumChildren(); i++) {
+ SimpleNode child = fieldDeclaration.getChild(i);
+ int type = child.getId();
+ if(type == JavaParserTreeConstants.JJTMODIFIERS) {
+ fieldModifier = getModifier(child);
+ }
+ else if(type == JavaParserTreeConstants.JJTVARIABLEDECLARATOR) {
+ fieldName = child.getChild(0).getText().trim();
+ if(child.jjtGetNumChildren() > 1) {
+ fieldInit = child.getChild(1).getText().trim();
+ }
+ }
+ else if(type == JavaParserTreeConstants.JJTTYPE) {
+ fieldClass = child.getChild(0).getText().trim();
+ }
}
- //add the field to the bodycode
- bodyCode.append(text).append("\n");
+ JavaField field;
+ if(fieldInit != null) {
+ initializers.append(fieldName).append(" = ").append(fieldInit).append(";\n");
+ }
+ field = new JavaField(fieldModifier, fieldClass, fieldName, null, TagManager.getGuixClassHandler(fieldClass));
+
+ fields.add(field);
}
//if the node initialize a field
else {
@@ -279,6 +373,7 @@
result.put(ScriptPart.BODYCODE, bodyCode.toString());
result.put(ScriptPart.INITIALIZERS, initializers.toString());
result.put(ScriptPart.METHODS, methods);
+ result.put(ScriptPart.FIELDS, fields);
return result;
}
@@ -290,7 +385,7 @@
* @param line line to scan
* @return the line type
*/
- private int getLineType(SimpleNode line) {
+ private static int getLineType(SimpleNode line) {
if (line.jjtGetNumChildren() == 1) {
SimpleNode node = line.getChild(0);
if (node.getId() == JavaParserTreeConstants.JJTBLOCKSTATEMENT) {
@@ -319,7 +414,7 @@
* @param node
* @return
*/
- private String processConstructor(String modifiers, SimpleNode node) {
+ private static String processConstructor(String modifiers, SimpleNode node) {
//FIXME
assert node.getId() == JavaParserTreeConstants.JJTCONSTRUCTORDECLARATION : "expected node to be ConstructorDeclaration, found " + JavaParserTreeConstants.jjtNodeName[node.getId()] + " instead";
assert node.getChild(0).getId() == JavaParserTreeConstants.JJTFORMALPARAMETERS : "expected node 0 to be FormalParameters, found " + JavaParserTreeConstants.jjtNodeName[node.getChild(1).getId()] + " instead";
@@ -348,7 +443,7 @@
/**
*
*/
- private SimpleNode findExplicitConstructorInvocation(SimpleNode parent) {
+ private static SimpleNode findExplicitConstructorInvocation(SimpleNode parent) {
if (parent.getId() == JavaParserTreeConstants.JJTEXPLICITCONSTRUCTORINVOCATION) {
return parent;
}
@@ -369,7 +464,7 @@
* @param node the node which contains the javaDoc
* @return the javadoc
*/
- private String getJavaDoc(SimpleNode node) {
+ private static String getJavaDoc(SimpleNode node) {
Pattern p = Pattern.compile(".*/\\*\\*(.*)\\*/.*", Pattern.DOTALL);
Matcher m = p.matcher(node.getText());
return m.matches() ? m.group(1).replace("*", "") : null;
@@ -381,27 +476,27 @@
* @param node the node which contains the modifier
* @return the modifier of the node
*/
- private int getModifier(SimpleNode node) {
- int result = 0;
+ private static int getModifier(SimpleNode node) {
+ int result = 4;
//remove the javadoc from the node text
Pattern p = Pattern.compile(".*(/\\*\\*(.*)\\*/).*", Pattern.DOTALL);
Matcher m = p.matcher(node.getText());
String modifier = m.matches() ? node.getText().replace(m.group(1), "") : node.getText();
if (modifier.contains("public")) {
- result = result == 0 ? Modifier.PUBLIC : result | Modifier.PUBLIC;
+ result = result == 4 ? Modifier.PUBLIC : result | Modifier.PUBLIC;
}
if (modifier.contains("private")) {
- result = result == 0 ? Modifier.PRIVATE : result | Modifier.PRIVATE;
+ result = result == 4 ? Modifier.PRIVATE : result | Modifier.PRIVATE;
}
if (modifier.contains("protected")) {
- result = result == 0 ? Modifier.PROTECTED : result | Modifier.PROTECTED;
+ result = result == 4 ? Modifier.PROTECTED : result | Modifier.PROTECTED;
}
if (modifier.contains("static")) {
- result = result == 0 ? Modifier.STATIC : result | Modifier.STATIC;
+ result = result == 4 ? Modifier.STATIC : result | Modifier.STATIC;
}
if (modifier.contains("final")) {
- result = result == 0 ? Modifier.FINAL : result | Modifier.FINAL;
+ result = result == 4 ? Modifier.FINAL : result | Modifier.FINAL;
}
return result;
}
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/StyleHandler.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/StyleHandler.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/StyleHandler.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -129,6 +129,8 @@
break;
case XmlPullParser.TEXT:
+ style.append(xpp.getText());
+ xpp.nextToken();
break; // fall through
case XmlPullParser.CDSECT:
@@ -136,8 +138,11 @@
xpp.nextToken();
break;
+
+ default :
+ break;
}
- } while ((xpp.getEventType() != XmlPullParser.END_TAG) && (!xpp.getName().equals("style")));
+ } while ((xpp.getEventType() != XmlPullParser.END_TAG) && (xpp.getEventType() != XmlPullParser.END_DOCUMENT) && (!"style".equals(xpp.getName())));
// analyze the content of the CSS
result = processStylesheet(style.toString());
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagHandler.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagHandler.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagHandler.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -31,6 +31,8 @@
public String getAttrToGenerate(String attr);
+ public String getDefaultConstructor();
+
public boolean hasEventInfosAboutMethod(String methodName);
public Class getEventInfosListenerClass(String methodName);
Modified: trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagManager.java
===================================================================
--- trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagManager.java 2009-08-25 10:35:58 UTC (rev 1573)
+++ trunk/guix-compiler/src/main/java/org/nuiton/guix/tags/TagManager.java 2009-08-25 10:49:26 UTC (rev 1574)
@@ -59,44 +59,7 @@
private TagManager() { /* not instantiable */
}
- /*
- * public static void reset(boolean verbose) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
- * registeredBeans.clear();
- * registeredTags.clear();
- * defaultNamespaces.clear();
- * CompiledObjectDecorator.reset();
- * JAXXCompilerLaunchor.loadLibraries(verbose);
- * }
- */
-
/**
- * Maps a class tag to a specific <code>TagHandler</code>. When a tag representing the bean class is
- * encountered (either the class' simple name, if it is unambiguous, or its fully-qualified name), the specified
- * <code>TagHandler</code> will be invoked to compile it.
- *
- * @param beanClass the class to associate with a <code>TagHandler</code>
- * @param handler the <code>TagHandler</code> class, which must descend from <code>DefaultObjectHandler</code>
- * @throws IllegalArgumentException if the handler class does not descend from <code>DefaultObjectHandler</code>
- */
-
- /*
- * public static <T extends TagHandler> void registerBean(ClassDescriptor beanClass, Class<T> handler) {
- * if (!DefaultObjectHandler.class.isAssignableFrom(handler)) {
- * throw new IllegalArgumentException("handler class must be a subclass of DefaultObjectHandler");
- * }
- * registeredBeans.put(beanClass, handler);
- * if (log.isDebugEnabled()) {
- * log.debug(beanClass + " : " + handler);
- * }
- * String name = beanClass.getName();
- * int dotPos = name.lastIndexOf(".");
- * String namespace = name.substring(0, dotPos + 1) + "*";
- * name = name.substring(dotPos + 1);
- * registerDefaultNamespace(name, namespace);
- * }
- */
-
- /**
* Sets the default namespace for a tag. When the tag is encountered with no namespace specified,
* the specified namespace will be assumed. Mapping the same tag to two or more default namespaces
* removes the mapping and marks the entry as being ambiguous (by putting a <code>null</code>
@@ -124,13 +87,13 @@
* @param className
*/
public static void registerGuixClassHandler(String className, Class clazz) {
- guixClassHandlers.put(className, clazz);
+ guixClassHandlers.put(className.toUpperCase(), clazz);
}
public static TagHandler getGuixClassHandler(String className) {
- if(guixClassHandlers.get(className) != null) {
+ if(guixClassHandlers.get(className.toUpperCase()) != null) {
try {
- return (TagHandler)guixClassHandlers.get(className).newInstance();
+ return (TagHandler)guixClassHandlers.get(className.toUpperCase()).newInstance();
}
catch (InstantiationException eee) {
}
@@ -157,142 +120,6 @@
}
/**
- * Registers a <code>TagHandler</code> for a tag. When a tag with the given name and namespace
- * is encountered, the <code>TagHandler's compileFirstPass</code> and <code>compileSecondPass</code>
- * methods will be invoked to handle it.
- * <p/>
- * It is not an error to register an already-registered tag and namespace combination. The new mapping
- * will replace the old mapping.
- *
- * @param namespace the tag's namespace
- * @param tag the simple name of the tag
- * @param handler the <code>TagHandler</code> which should process the tag
- */
-
- /*
- * public static <T extends TagHandler> void registerTag(String namespace, String tag, T handler) {
- * if (namespace == null) {
- * namespace = "*";
- * }
- * //System.out.println("registerTag "+namespace+" : "+tag+" : "+handler);
- * if (log.isDebugEnabled()) {
- * log.debug(tag + " : " + handler);
- * }
- * registeredTags.put(new QName(namespace, tag), handler);
- * registerDefaultNamespace(tag, namespace);
- * }
- */
-
- /**
- * Returns the <code>TagHandler</code> that should be used to process the specified tag.
- * If the tag represents the class name of an uncompiled <code>.jaxx</code> file, the
- * <code>.jaxx</code> is first compiled.
- *
- * @param namespace the tag's namespace (may be <code>null</code>)
- * @param tag the tag's simple name
- * @param compiler the current <code>JAXXCompiler</code>
- * @return the <code>TagHandler</code> for the tag
- * @throws jaxx.CompilerException ?
- */
-
- /*
- * public static TagHandler getTagHandler(String namespace, String tag, JAXXCompiler compiler) throws CompilerException {
- * return getTagHandler(namespace, tag, false, compiler);
- * }
- */
-
- /*
- * private static String getNamespace(ClassDescriptor beanClass) {
- * String packageName = beanClass.getPackageName();
- * return packageName != null ? packageName + ".*" : "*";
- *
- * }
- */
-
- /*
- * private static String getSimpleName(ClassDescriptor beanClass) {
- * String packageName = beanClass.getPackageName();
- * if (packageName != null) {
- * assert beanClass.getName().startsWith(packageName);
- * return beanClass.getName().substring(packageName.length() + 1);
- * }
- * return beanClass.getName();
- * }
- */
-
- /**
- * @param beanClass the tag class
- * @return the <code>TagHandler</code> that should be used to process the specified class.
- * Only <code>TagHandlers</code> previously registered with <code>registerBean</code>
- * are considered.
- * @throws jaxx.CompilerException ?
- */
-
- /*
- * public static DefaultObjectHandler getTagHandler(ClassDescriptor beanClass) throws CompilerException {
- * try {
- * if (beanClass == null) {
- * throw new NullPointerException();
- * }
- * String namespace = getNamespace(beanClass);
- * String tag = getSimpleName(beanClass);
- * DefaultObjectHandler handler = (DefaultObjectHandler) registeredTags.get(new QName(namespace, tag));
- * if (handler == null) {
- * Class<? extends TagHandler> handlerClass = registeredBeans.get(beanClass);
- * if (handlerClass == null) {
- * throw new CompilerException("unable to find handler for " + beanClass);
- * }
- * Constructor<? extends TagHandler> constructor = handlerClass.getConstructor(ClassDescriptor.class);
- * handler = (DefaultObjectHandler) constructor.newInstance(beanClass);
- * registerTag(namespace, tag, handler);
- * }
- * return handler;
- * }
- * catch (InstantiationException e) {
- * throw new RuntimeException(e);
- * }
- * catch (NoSuchMethodException e) {
- * throw new RuntimeException(e);
- * }
- * catch (IllegalAccessException e) {
- * throw new RuntimeException(e);
- * }
- * catch (InvocationTargetException e) {
- * throw new RuntimeException(e);
- * }
- * }
- */
-
- /**
- * Tests if a class exists
- *
- * @param className name of the class we want to know if it exists
- * @return true if the class exists
- */
- private static boolean classExists(String className) {
- if (classExistenceCache.containsKey(className)) {
- return classExistenceCache.get(className);
- }
-
- boolean found = false;
-
- try {
- Class.forName(className);
- found = true;
- } catch (ClassNotFoundException e) {
-
- // ignore ?
- } catch (NoClassDefFoundError e) { // we get this instead of ClassNotFoundException on case-insensitive file systems when
-
- // looking up a class with the wrong case
- }
-
- classExistenceCache.put(className, found);
-
- return found;
- }
-
- /**
* Resolves a simple class name (like <code>Object</code> or <code>String</code>) to its fully-qualified name. Inner
* classes should be represented as they would appear in Java source code (e.g. JPopupMenu.Separator). Fully-qualified names,
* such as <code>java.lang.Object</code> are legal and will be returned unmodified (and in fact it is generally impossible to
@@ -311,13 +138,17 @@
if (name.indexOf("<") != -1) {
name = name.substring(0, name.indexOf("<")); // strip off generic types
}
-
+
name = name.intern();
if (name.equals("boolean") || name.equals("byte") || name.equals("short") || name.equals("int")
|| name.equals("long") || name.equals("float") || name.equals("double") || name.equals("char")) {
return name;
}
+ else if(name.equals("Boolean") || name.equals("Byte") || name.equals("Short") || name.equals("Integer") || name.equals("String")
+ || name.equals("Long") || name.equals("Float") || name.equals("Double") || name.equals("Character")) {
+ return "java.lang." + name;
+ }
if (guixClassHandlers.containsKey(name)) {
return name;
1
0
Author: kmorin
Date: 2009-08-25 12:35:58 +0200 (Tue, 25 Aug 2009)
New Revision: 1573
Modified:
trunk/pom.xml
Log:
Reput the GWT version to 1.5.3
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-08-24 12:46:19 UTC (rev 1572)
+++ trunk/pom.xml 2009-08-25 10:35:58 UTC (rev 1573)
@@ -19,17 +19,10 @@
<module>guix-compiler</module>
<module>guix-compiler-swing</module>
<module>guix-compiler-gwt</module>
-
- <module>guix-runtime</module>
- <module>guix-runtime-swing</module>
- <module>guix-runtime-gwt</module>
-
<module>maven-guix-plugin</module>
<module>guix-test-swing</module>
<module>guix-test-gwt</module>
-
-
- </modules>
+ </modules>
<dependencyManagement>
@@ -210,7 +203,7 @@
<!-- libs version -->
<spring.version>2.0.5</spring.version>
<maven.version>2.0.10</maven.version>
- <gwt.version>1.7.0</gwt.version>
+ <gwt.version>1.5.3</gwt.version>
</properties>
@@ -241,4 +234,4 @@
<url>http://www.nuiton.org/repositories/browse/guix/trunk</url>
</scm>
-</project>
+</project>
\ No newline at end of file
1
0
Author: kmorin
Date: 2009-08-24 14:46:19 +0200 (Mon, 24 Aug 2009)
New Revision: 1572
Removed:
trunk/guix-test-gwt/guix-test-gwt/
trunk/guix-test-gwt/hs_err_pid11817.log
trunk/guix-test-gwt/hs_err_pid21156.log
trunk/guix-test-gwt/hs_err_pid7596.log
trunk/guix-test-gwt/hs_err_pid9288.log
trunk/guix-test-gwt/nbactions.xml
trunk/guix-test-swing/guix-test-swing/
trunk/guix-test-swing/nbactions.xml
Log:
Remove bad files
Deleted: trunk/guix-test-gwt/hs_err_pid11817.log
===================================================================
--- trunk/guix-test-gwt/hs_err_pid11817.log 2009-08-24 12:37:44 UTC (rev 1571)
+++ trunk/guix-test-gwt/hs_err_pid11817.log 2009-08-24 12:46:19 UTC (rev 1572)
@@ -1,699 +0,0 @@
-#
-# An unexpected error has been detected by Java Runtime Environment:
-#
-# SIGSEGV (0xb) at pc=0x0002ac8e, pid=11817, tid=3084860304
-#
-# Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixed mode, sharing linux-x86)
-# Problematic frame:
-# C 0x0002ac8e
-#
-# If you would like to submit a bug report, please visit:
-# http://java.sun.com/webapps/bugreport/crash.jsp
-# The crash happened outside the Java Virtual Machine in native code.
-# See problematic frame for where to report the bug.
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x080c3000): JavaThread "main" [_thread_in_native, id=11818, stack(0xb7da3000,0xb7df4000)]
-
-siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0002ac8e
-
-Registers:
-EAX=0x00000007, EBX=0xb54bd2a0, ECX=0x0828a010, EDX=0x080c3114
-ESP=0xb7df2eb4, EBP=0xb7df2ed0, ESI=0xb7df2ef8, EDI=0x080c3000
-EIP=0x0002ac8e, CR2=0x0002ac8e, EFLAGS=0x00010296
-
-Top of Stack: (sp=0xb7df2eb4)
-0xb7df2eb4: b54a0fa2 0828a010 7fffffff 08466618
-0xb7df2ec4: 00000007 08466618 7287fe70 b7df2f08
-0xb7df2ed4: b61bf314 080c3114 b7df2ef8 0828a010
-0xb7df2ee4: 7fffffff 08466618 00000007 00000009
-0xb7df2ef4: 7287fe70 901dc110 901dc110 b7df2f38
-0xb7df2f04: b61bed94 b7df2f38 b61befd7 08466618
-0xb7df2f14: 00000007 7287fe70 7287e0a0 0828a010
-0xb7df2f24: 7fffffff 901db6f8 00000000 b61a2198
-
-Instructions: (pc=0x0002ac8e)
-0x0002ac7e:
-[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
-
-Stack: [0xb7da3000,0xb7df4000], sp=0xb7df2eb4, free space=319k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-C 0x0002ac8e
-J org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I
-J org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I
-J org.eclipse.swt.widgets.Display.sleep()Z
-j com.google.gwt.dev.GWTShell.sleep()V+4
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-V [libjvm.so+0x21b25d]
-V [libjvm.so+0x30f998]
-V [libjvm.so+0x21b0f0]
-V [libjvm.so+0x2448a6]
-V [libjvm.so+0x2360a8]
-C [java+0x1b98] JavaMain+0x2c8
-C [libpthread.so.0+0x64ff]
-
-Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
-J org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I
-J org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I
-J org.eclipse.swt.widgets.Display.sleep()Z
-j com.google.gwt.dev.GWTShell.sleep()V+4
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x084fe400 JavaThread "http-8888-Monitor" [_thread_blocked, id=11837, stack(0xb4212000,0xb4263000)]
- 0x084fc800 JavaThread "http-8888-Processor4" daemon [_thread_blocked, id=11836, stack(0xb4263000,0xb42b4000)]
- 0x084fb400 JavaThread "http-8888-Processor3" daemon [_thread_in_native, id=11835, stack(0xb42b4000,0xb4305000)]
- 0x084edc00 JavaThread "http-8888-Processor2" daemon [_thread_blocked, id=11834, stack(0xb4305000,0xb4356000)]
- 0x084ef000 JavaThread "http-8888-Processor1" daemon [_thread_blocked, id=11833, stack(0xb4356000,0xb43a7000)]
- 0x084fa000 JavaThread "ContainerBackgroundProcessor[StandardEngine[gwt]]" daemon [_thread_blocked, id=11832, stack(0xb448e000,0xb44df000)]
- 0x0845cc00 JavaThread "Timer-0" daemon [_thread_blocked, id=11830, stack(0xb443d000,0xb448e000)]
- 0x080fb400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=11826, stack(0xb57ce000,0xb581f000)]
- 0x080f8400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=11825, stack(0xb581f000,0xb58a0000)]
- 0x080f6800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=11824, stack(0xb58a0000,0xb58f1000)]
- 0x080ed400 JavaThread "Finalizer" daemon [_thread_blocked, id=11821, stack(0xb5937000,0xb5988000)]
- 0x080ebc00 JavaThread "Reference Handler" daemon [_thread_blocked, id=11820, stack(0xb5988000,0xb59d9000)]
-=>0x080c3000 JavaThread "main" [_thread_in_native, id=11818, stack(0xb7da3000,0xb7df4000)]
-
-Other Threads:
- 0x080ea000 VMThread [stack: 0xb59d9000,0xb5a5a000] [id=11819]
- 0x080fd000 WatcherThread [stack: 0xb574d000,0xb57ce000] [id=11827]
-
-VM state:not at safepoint (normal execution)
-
-VM Mutex/Monitor currently owned by a thread: None
-
-Heap
- def new generation total 6336K, used 4757K [0x700f0000, 0x707d0000, 0x72850000)
- eden space 5632K, 75% used [0x700f0000, 0x70510710, 0x70670000)
- from space 704K, 75% used [0x70670000, 0x706f4d80, 0x70720000)
- to space 704K, 0% used [0x70720000, 0x70720000, 0x707d0000)
- tenured generation total 84056K, used 60749K [0x72850000, 0x77a66000, 0x900f0000)
- the space 84056K, 72% used [0x72850000, 0x763a3478, 0x763a3600, 0x77a66000)
- compacting perm gen total 13056K, used 12896K [0x900f0000, 0x90db0000, 0x940f0000)
- the space 13056K, 98% used [0x900f0000, 0x90d88068, 0x90d88200, 0x90db0000)
- ro space 8192K, 74% used [0x940f0000, 0x946e8b48, 0x946e8c00, 0x948f0000)
- rw space 12288K, 58% used [0x948f0000, 0x95003df0, 0x95003e00, 0x954f0000)
-
-Dynamic libraries:
-06000000-0642a000 r-xp 00000000 08:01 85190 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/libjvm.so
-0642a000-06444000 rwxp 0042a000 08:01 85190 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/libjvm.so
-06444000-06864000 rwxp 06444000 00:00 0
-08048000-08052000 r-xp 00000000 08:01 84369 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/bin/java
-08052000-08053000 rwxp 00009000 08:01 84369 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/bin/java
-080bd000-08db0000 rwxp 080bd000 00:00 0 [heap]
-700f0000-707d0000 rwxp 700f0000 00:00 0
-707d0000-72850000 rwxp 707d0000 00:00 0
-72850000-77a66000 rwxp 72850000 00:00 0
-77a66000-900f0000 rwxp 77a66000 00:00 0
-900f0000-90db0000 rwxp 900f0000 00:00 0
-90db0000-940f0000 rwxp 90db0000 00:00 0
-940f0000-946e9000 r-xs 00001000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-946e9000-948f0000 rwxp 946e9000 00:00 0
-948f0000-95004000 rwxp 005fa000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-95004000-954f0000 rwxp 95004000 00:00 0
-954f0000-955cc000 rwxp 00d0e000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-955cc000-958f0000 rwxp 955cc000 00:00 0
-958f0000-958f4000 r-xs 00dea000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-958f4000-95cf0000 rwxp 958f4000 00:00 0
-b0dce000-b0dd5000 r-xs 00110000 08:01 85796 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/resources.jar
-b0dd5000-b0e6d000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b0e6d000-b0e8e000 r-xp 00000000 08:01 120771 /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf
-b0e8e000-b0f48000 r-xp 00000000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b0f48000-b0f4c000 rwxp 000b9000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b0f4c000-b0f9d000 r-xp 00000000 08:01 42116 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf
-b0f9d000-b0f9e000 ---p b0f9d000 00:00 0
-b0f9e000-b179e000 rwxp b0f9e000 00:00 0
-b179e000-b17d2000 r-xp 00000000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b17d2000-b17d4000 rwxp 00034000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b17d4000-b17d9000 r-xp 00000000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b17d9000-b17da000 rwxp 00005000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b17da000-b17ef000 r-xp 00000000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b17ef000-b17f0000 rwxp 00015000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b17f0000-b180a000 r-xp 00000000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b180a000-b180b000 rwxp 0001a000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b180b000-b1810000 r-xp 00000000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b1810000-b1811000 rwxp 00004000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b1811000-b1815000 r-xs 00034000 08:01 84530 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/sunpkcs11.jar
-b1815000-b1818000 r-xs 000cb000 08:01 81476 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/localedata.jar
-b1818000-b1819000 ---p b1818000 00:00 0
-b1819000-b2019000 rwxp b1819000 00:00 0
-b2019000-b2023000 r-xp 00000000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b2023000-b2024000 rwxp 00009000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b2024000-b2025000 ---p b2024000 00:00 0
-b2025000-b2825000 rwxp b2025000 00:00 0
-b2825000-b2830000 r-xp 00000000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b2830000-b2831000 rwxp 0000a000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b2831000-b2834000 r-xp 00000000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b2834000-b2835000 rwxp 00002000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b2835000-b289b000 r-xp 00000000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b289b000-b289c000 r-xp 00065000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b289c000-b289e000 rwxp 00066000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b289e000-b28ae000 r-xp 00000000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b28ae000-b28af000 r-xp 0000f000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b28af000-b28b0000 rwxp 00010000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b28b0000-b2973000 r-xp 00000000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b2973000-b2975000 r-xp 000c2000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b2975000-b2978000 rwxp 000c4000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b2978000-b297c000 r-xp 00000000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b297c000-b297d000 r-xp 00003000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b297d000-b297e000 rwxp 00004000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b297e000-b2980000 r-xp 00000000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b2980000-b2981000 r-xp 00001000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b2981000-b2982000 rwxp 00002000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b2982000-b2991000 r-xp 00000000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b2991000-b2992000 r-xp 0000e000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b2992000-b2993000 rwxp 0000f000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b2993000-b299d000 r-xp 00000000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b299d000-b299e000 r-xp 00009000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b299e000-b299f000 rwxp 0000a000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b299f000-b29a1000 r-xp 00000000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b29a1000-b29a2000 r-xp 00001000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b29a2000-b29a3000 rwxp 00002000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b29a3000-b2a3a000 r-xp 00000000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2a3a000-b2a3f000 r-xp 00097000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2a3f000-b2a40000 rwxp 0009c000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2a40000-b2b75000 r-xp 00000000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2b75000-b2b76000 ---p 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2b76000-b2b7a000 r-xp 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2b7a000-b2b7b000 rwxp 00139000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2b7b000-b2b7c000 rwxp b2b7b000 00:00 0
-b2b7c000-b2b84000 r-xp 00000000 08:01 2653 /lib/libpopt.so.0.0.0
-b2b84000-b2b85000 r-xp 00007000 08:01 2653 /lib/libpopt.so.0.0.0
-b2b85000-b2b86000 rwxp 00008000 08:01 2653 /lib/libpopt.so.0.0.0
-b2b86000-b2ba8000 r-xp 00000000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b2ba8000-b2bab000 rwxp 00021000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b2bab000-b2bb4000 r-xp 00000000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2bb4000-b2bb5000 r-xp 00008000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2bb5000-b2bb6000 rwxp 00009000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2bb6000-b2bc9000 r-xp 00000000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2bc9000-b2bca000 r-xp 00012000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2bca000-b2bcb000 rwxp 00013000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2bcb000-b2bcc000 rwxp b2bcb000 00:00 0
-b2bcc000-b2c1e000 r-xp 00000000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c1e000-b2c21000 r-xp 00051000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c21000-b2c28000 rwxp 00054000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c28000-b2c81000 r-xp 00000000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2c81000-b2c83000 r-xp 00058000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2c83000-b2c84000 rwxp 0005a000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2c84000-b2c85000 rwxp b2c84000 00:00 0
-b2c85000-b2c99000 r-xp 00000000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2c99000-b2c9a000 r-xp 00013000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2c9a000-b2c9b000 rwxp 00014000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2c9b000-b2ca2000 r-xp 00000000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b2ca2000-b2ca3000 rwxp 00006000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b2ca3000-b2cac000 r-xp 00000000 08:01 76354 /usr/share/locale-langpack/fr/LC_MESSAGES/libgnome-2.0.mo
-b2cac000-b2d67000 r-xp 00000000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b2d67000-b2d6d000 rwxp 000bb000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b2d6d000-b2d77000 rwxp b2d6d000 00:00 0
-b2d77000-b2dd0000 r-xp 00000000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b2dd0000-b2dd5000 rwxp 00058000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b2dd5000-b2dec000 r-xp 00000000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2dec000-b2ded000 rwxp 00017000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2ded000-b2e4d000 rwxs 00000000 00:09 14090270 /SYSV00000000 (deleted)
-b2e4d000-b2e76000 r-xp 00000000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b2e76000-b2e78000 rwxp 00028000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b2e78000-b2e90000 r-xp 00000000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b2e90000-b2e91000 rwxp 00017000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b2e91000-b2eaa000 r-xp 00000000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2eaa000-b2eac000 rwxp 00018000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2eac000-b2eb3000 r-xp 00000000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b2eb3000-b2eb4000 rwxp 00007000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b2eb4000-b2f27000 r-xp 00000000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2f27000-b2f2a000 rwxp 00073000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2f2a000-b2f76000 r-xp 00000000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b2f76000-b2f79000 rwxp 0004c000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b2f79000-b2faa000 r-xp 00000000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2faa000-b2fac000 rwxp 00031000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2fac000-b2fbd000 r-xp 00000000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b2fbd000-b2fbe000 rwxp 00011000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b2fbe000-b2ff4000 r-xp 00000000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b2ff4000-b2ff5000 r-xp 00035000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b2ff5000-b2ff6000 rwxp 00036000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b2ff6000-b3012000 r-xp 00000000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b3012000-b3013000 r-xp 0001b000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b3013000-b3014000 rwxp 0001c000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b3014000-b305d000 r-xp 00000000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b305d000-b3065000 r-xp 00049000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b3065000-b3067000 rwxp 00051000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b3067000-b3095000 r-xp 00000000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b3095000-b3096000 ---p 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b3096000-b3097000 r-xp 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b3097000-b3099000 rwxp 0002f000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b3099000-b30c1000 r-xp 00000000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b30c1000-b30c4000 rwxp 00028000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b30c4000-b30c7000 r-xp 00000000 08:01 2688 /lib/libuuid.so.1.2
-b30c7000-b30c8000 r-xp 00002000 08:01 2688 /lib/libuuid.so.1.2
-b30c8000-b30c9000 rwxp 00003000 08:01 2688 /lib/libuuid.so.1.2
-b30c9000-b30de000 r-xp 00000000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b30de000-b30df000 rwxp 00014000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b30df000-b30e1000 rwxp b30df000 00:00 0
-b30e1000-b3130000 r-xp 00000000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b3130000-b3131000 r-xp 0004f000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b3131000-b3134000 rwxp 00050000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b3135000-b3137000 r-xs 00001000 08:01 81475 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/dnsns.jar
-b3137000-b3144000 r-xp 00000000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b3144000-b3145000 rwxp 0000c000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b3145000-b3158000 r-xp 00000000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b3158000-b3159000 rwxp 00013000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b3159000-b3182000 r-xp 00000000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b3182000-b3184000 rwxp 00028000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b3184000-b31b1000 r-xp 00000000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b31b1000-b31b2000 rwxp 0002d000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b31b2000-b31ea000 r-xp 00000000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b31ea000-b31ed000 rwxp 00037000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b31ed000-b31ee000 ---p b31ed000 00:00 0
-b31ee000-b39ee000 rwxp b31ee000 00:00 0
-b39ee000-b3a32000 r-xp 00000000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b3a32000-b3a35000 rwxp 00043000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b3a35000-b3a36000 rwxp b3a35000 00:00 0
-b3a36000-b3a4b000 r-xp 00000000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3a4b000-b3a4c000 rwxp 00014000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3a4c000-b3a5e000 r-xp 00000000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a5e000-b3a5f000 r-xp 00011000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a5f000-b3a60000 rwxp 00012000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a60000-b3a6b000 r-xp 00000000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a6b000-b3a6c000 r-xp 0000a000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a6c000-b3a6d000 rwxp 0000b000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a6d000-b3a73000 r-xp 00000000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a73000-b3a74000 r-xp 00005000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a74000-b3a75000 rwxp 00006000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a75000-b3a78000 r-xs 00027000 08:01 81474 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/sunjce_provider.jar
-b3a78000-b3a7f000 r-xp 00000000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a7f000-b3a80000 r-xp 00006000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a80000-b3a81000 rwxp 00007000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a81000-b3a85000 r-xp 00000000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3a85000-b3a86000 rwxp 00003000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3a86000-b3f02000 r-xp 00000000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b3f02000-b3f3d000 rwxp 0047c000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b3f3d000-b3f43000 rwxp b3f3d000 00:00 0
-b3f43000-b4008000 r-xp 00000000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b4008000-b400e000 rwxp 000c4000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b400e000-b401a000 r-xp 00000000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b401a000-b401c000 rwxp 0000b000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b401c000-b402d000 r-xp 00000000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b402d000-b402e000 rwxp 00011000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b402e000-b403d000 r-xp 00000000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b403d000-b403e000 rwxp 0000e000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b403e000-b4069000 r-xp 00000000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b4069000-b406b000 rwxp 0002a000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b406b000-b40e9000 r-xp 00000000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b40e9000-b40ed000 rwxp 0007e000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b40ed000-b410e000 r-xp 00000000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b410e000-b410f000 rwxp 00021000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b410f000-b41f3000 r-xp 00000000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b41f3000-b41f7000 r-xp 000e3000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b41f7000-b41f8000 rwxp 000e7000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b41f8000-b41fe000 rwxp b41f8000 00:00 0
-b41fe000-b4211000 r-xp 00000000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b4211000-b4212000 rwxp 00012000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b4212000-b4215000 ---p b4212000 00:00 0
-b4215000-b4263000 rwxp b4215000 00:00 0
-b4263000-b4266000 ---p b4263000 00:00 0
-b4266000-b42b4000 rwxp b4266000 00:00 0
-b42b4000-b42b7000 ---p b42b4000 00:00 0
-b42b7000-b4305000 rwxp b42b7000 00:00 0
-b4305000-b4308000 ---p b4305000 00:00 0
-b4308000-b4356000 rwxp b4308000 00:00 0
-b4356000-b4359000 ---p b4356000 00:00 0
-b4359000-b43a7000 rwxp b4359000 00:00 0
-b43a7000-b43aa000 rwxp b43a7000 00:00 0
-b43aa000-b43f8000 rwxp b43aa000 00:00 0
-b43f8000-b440a000 r-xp 00000000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b440a000-b440b000 r-xp 00011000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b440b000-b440c000 rwxp 00012000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b440c000-b440e000 rwxp b440c000 00:00 0
-b440e000-b4413000 r-xp 00000000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b4413000-b4414000 r-xp 00004000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b4414000-b4415000 rwxp 00005000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b4415000-b4417000 r-xp 00000000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b4417000-b4418000 rwxp 00001000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b4419000-b441e000 r-xp 00000000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b441e000-b441f000 rwxp 00005000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b441f000-b4421000 r-xp 00000000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b4421000-b4422000 r-xp 00001000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b4422000-b4423000 rwxp 00002000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b4423000-b4428000 r-xp 00000000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b4428000-b4429000 rwxp 00004000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b4429000-b443c000 r-xp 00000000 08:01 85203 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libnet.so
-b443c000-b443d000 rwxp 00013000 08:01 85203 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libnet.so
-b443d000-b4440000 ---p b443d000 00:00 0
-b4440000-b448e000 rwxp b4440000 00:00 0
-b448e000-b4491000 ---p b448e000 00:00 0
-b4491000-b44df000 rwxp b4491000 00:00 0
-b44df000-b44e3000 r-xs 0001b000 08:06 263871 /home/kevin/.m2/repository/org/gwt/beansbinding/gwt-beans-binding/0.2.3-SNAPSHOT/gwt-beans-binding-0.2.3-SNAPSHOT.jar
-b44e3000-b44e4000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44e4000-b44e5000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44e5000-b44e6000 rwxp 00001000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44e6000-b44e9000 rwxs 00000000 00:09 14057501 /SYSV00000000 (deleted)
-b44e9000-b4549000 rwxs 00000000 00:09 14024732 /SYSV00000000 (deleted)
-b4549000-b45e1000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b45e1000-b45e3000 r-xp 00000000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45e3000-b45e4000 r-xp 00001000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45e4000-b45e5000 rwxp 00002000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45e5000-b45eb000 r-xs 00000000 08:01 107678 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
-b45eb000-b45ee000 r-xs 00000000 08:01 107679 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-x86.cache-2
-b45ee000-b45f1000 r-xs 00000000 08:01 107675 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
-b45f1000-b45f4000 r-xs 00000000 08:01 107685 /var/cache/fontconfig/de156ccd2eddbdc19d37a45b8b2aac9c-x86.cache-2
-b45f4000-b45fc000 r-xs 00000000 08:01 107688 /var/cache/fontconfig/e3de0de479f42330eadf588a55fb5bf4-x86.cache-2
-b45fc000-b4607000 r-xs 00000000 08:01 107668 /var/cache/fontconfig/0f34bcd4b6ee430af32735b75db7f02b-x86.cache-2
-b4607000-b460e000 r-xs 00000000 08:01 107682 /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2
-b460e000-b4614000 r-xs 00000000 08:01 107667 /var/cache/fontconfig/089dead882dea3570ffc31a9898cfb69-x86.cache-2
-b4614000-b4621000 r-xs 00000000 08:01 163217 /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-x86.cache-2
-b4621000-b4623000 r-xs 00000000 08:01 122742 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2
-b4623000-b4631000 r-xs 00000000 08:01 163215 /var/cache/fontconfig/865f88548240fee46819705c6468c165-x86.cache-2
-b4631000-b463c000 r-xp 00000000 08:01 76265 /usr/share/locale-langpack/fr/LC_MESSAGES/glib20.mo
-b463c000-b4662000 r-xp 00000000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b4662000-b4664000 rwxp 00025000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b4664000-b4665000 rwxp b4664000 00:00 0
-b4665000-b468d000 r-xp 00000000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b468d000-b468e000 r-xp 00027000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b468e000-b468f000 rwxp 00028000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b468f000-b46b1000 r-xp 00000000 08:01 76349 /usr/share/locale-langpack/fr/LC_MESSAGES/libc.mo
-b46b1000-b46b8000 r-xp 00000000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46b8000-b46b9000 r-xp 00006000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46b9000-b46ba000 rwxp 00007000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46ba000-b46c6000 r-xp 00000000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46c6000-b46c7000 r-xp 0000b000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46c7000-b46c8000 rwxp 0000c000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46c8000-b46cc000 r-xp 00000000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46cc000-b46cd000 r-xp 00003000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46cd000-b46ce000 rwxp 00004000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46ce000-b46e9000 r-xp 00000000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46e9000-b46ea000 r-xp 0001a000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46ea000-b46f8000 rwxp 0001b000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46f8000-b46ff000 r-xp 00000000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b46ff000-b4700000 r-xp 00006000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b4700000-b4701000 rwxp 00007000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b4701000-b470e000 r-xp 00000000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b470e000-b470f000 r-xp 0000d000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b470f000-b4710000 rwxp 0000e000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b4710000-b4711000 r-xp b4710000 00:00 0
-b4711000-b4714000 r-xs 00000000 08:01 107687 /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-x86.cache-2
-b4714000-b4717000 r-xs 00000000 08:01 122740 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-x86.cache-2
-b4717000-b471f000 r-xp 00000000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b471f000-b4720000 r-xp 00007000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4720000-b4721000 rwxp 00008000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4721000-b4749000 r-xp 00000000 08:01 76309 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20-properties.mo
-b4749000-b475a000 r-xp 00000000 08:01 76310 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20.mo
-b475a000-b4845000 r-xp 00000000 08:01 13735 /usr/lib/locale/fr_FR.utf8/LC_COLLATE
-b4845000-b4852000 r-xp 00000000 08:01 2599 /lib/libgcc_s.so.1
-b4852000-b4853000 r-xp 0000c000 08:01 2599 /lib/libgcc_s.so.1
-b4853000-b4854000 rwxp 0000d000 08:01 2599 /lib/libgcc_s.so.1
-b4854000-b4904000 r-xp 00000000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b4904000-b4909000 rwxp 000af000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b4909000-b490f000 rwxp b4909000 00:00 0
-b490f000-b4910000 r-xs 00000000 08:01 107673 /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-x86.cache-2
-b4910000-b4912000 r-xs 00000000 08:01 107684 /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-x86.cache-2
-b4912000-b4913000 r-xs 00000000 08:01 107671 /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-x86.cache-2
-b4913000-b4916000 r-xp 00000000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b4916000-b4917000 r-xp 00002000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b4917000-b4918000 rwxp 00003000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b4918000-b491c000 r-xp 00000000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b491c000-b491d000 r-xp 00003000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b491d000-b491e000 rwxp 00004000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b491e000-b491f000 r-xp 00000000 08:01 13715 /usr/lib/locale/fr_FR.utf8/LC_NUMERIC
-b491f000-b49d1000 r-xp 00000000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b49d1000-b49d7000 rwxp 000b2000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b49d7000-b4a08000 r-xp 00000000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b4a08000-b4a0a000 rwxp 00031000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b4a0a000-b4a0b000 rwxp b4a0a000 00:00 0
-b4a0b000-b4a0f000 r-xp 00000000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b4a0f000-b4a10000 rwxp 00003000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b4a10000-b4a34000 r-xp 00000000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a34000-b4a36000 r-xp 00023000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a36000-b4a37000 rwxp 00025000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a37000-b4a4f000 r-xp 00000000 08:01 2663 /lib/libselinux.so.1
-b4a4f000-b4a50000 r-xp 00017000 08:01 2663 /lib/libselinux.so.1
-b4a50000-b4a51000 rwxp 00018000 08:01 2663 /lib/libselinux.so.1
-b4a51000-b4a57000 r-xp 00000000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a57000-b4a58000 r-xp 00005000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a58000-b4a59000 rwxp 00006000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a59000-b4a5c000 r-xp 00000000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a5c000-b4a5d000 r-xp 00002000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a5d000-b4a5e000 rwxp 00003000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a5e000-b4a82000 r-xp 00000000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a82000-b4a83000 r-xp 00023000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a83000-b4a84000 rwxp 00024000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a84000-b4a97000 r-xp 00000000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a97000-b4a98000 r-xp 00012000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a98000-b4a99000 rwxp 00013000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a99000-b4aa0000 r-xp 00000000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4aa0000-b4aa1000 r-xp 00006000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4aa1000-b4aa2000 rwxp 00007000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4aa2000-b4b06000 r-xp 00000000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4b06000-b4b07000 r-xp 00063000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4b07000-b4b08000 rwxp 00064000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4b08000-b4b48000 r-xp 00000000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b48000-b4b4a000 r-xp 0003f000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b4a000-b4b4b000 rwxp 00041000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b4b000-b4b63000 r-xp 00000000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b63000-b4b64000 r-xp 00017000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b64000-b4b65000 rwxp 00018000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b65000-b4b67000 r-xp 00000000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b67000-b4b68000 r-xp 00001000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b68000-b4b69000 rwxp 00002000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b69000-b4b99000 r-xp 00000000 08:01 2649 /lib/libpcre.so.3.12.1
-b4b99000-b4b9a000 r-xp 0002f000 08:01 2649 /lib/libpcre.so.3.12.1
-b4b9a000-b4b9b000 rwxp 00030000 08:01 2649 /lib/libpcre.so.3.12.1
-b4b9b000-b4c51000 r-xp 00000000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c51000-b4c52000 r-xp 000b5000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c52000-b4c53000 rwxp 000b6000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c53000-b4c56000 r-xp 00000000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c56000-b4c57000 r-xp 00002000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c57000-b4c58000 rwxp 00003000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c58000-b4c94000 r-xp 00000000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c94000-b4c95000 r-xp 0003b000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c95000-b4c96000 rwxp 0003c000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c96000-b4cc1000 r-xp 00000000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cc1000-b4cc2000 r-xp 0002a000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cc2000-b4cc3000 rwxp 0002b000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cc3000-b4cd7000 r-xp 00000000 08:01 2695 /lib/libz.so.1.2.3.3
-b4cd7000-b4cd8000 r-xp 00013000 08:01 2695 /lib/libz.so.1.2.3.3
-b4cd8000-b4cd9000 rwxp 00014000 08:01 2695 /lib/libz.so.1.2.3.3
-b4cd9000-b4d4b000 r-xp 00000000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d4b000-b4d4f000 r-xp 00071000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d4f000-b4d50000 rwxp 00075000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d50000-b4d90000 r-xp 00000000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d90000-b4d91000 ---p 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d91000-b4d92000 r-xp 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d92000-b4d93000 rwxp 00041000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d93000-b4dba000 r-xp 00000000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4dba000-b4dbb000 r-xp 00026000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4dbb000-b4dbc000 rwxp 00027000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4dbc000-b4e27000 r-xp 00000000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e27000-b4e28000 ---p 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e28000-b4e29000 r-xp 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e29000-b4e2a000 rwxp 0006c000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e2a000-b4ea1000 r-xp 00000000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4ea1000-b4ea3000 r-xp 00076000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4ea3000-b4ea4000 rwxp 00078000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4ea4000-b4ebd000 r-xp 00000000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4ebd000-b4ebe000 r-xp 00019000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4ebe000-b4ebf000 rwxp 0001a000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4ebf000-b4ec3000 r-xp 00000000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b4ec3000-b4ec4000 rwxp 00003000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b4ec4000-b4ec6000 r-xp 00000000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b4ec6000-b4ec7000 rwxp 00001000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b4ec7000-b4ec9000 r-xp 00000000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ec9000-b4eca000 r-xp 00001000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4eca000-b4ecb000 rwxp 00002000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ecb000-b4fb5000 r-xp 00000000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fb5000-b4fb6000 ---p 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fb6000-b4fb7000 r-xp 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fb7000-b4fb9000 rwxp 000eb000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fb9000-b4fba000 rwxp b4fb9000 00:00 0
-b4fba000-b4fc4000 r-xp 00000000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fc4000-b4fc5000 r-xp 00009000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fc5000-b4fc6000 rwxp 0000a000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fc6000-b4fde000 r-xp 00000000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fde000-b4fdf000 r-xp 00017000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fdf000-b4fe0000 rwxp 00018000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fe0000-b4fe8000 r-xp 00000000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b4fe8000-b4fe9000 rwxp 00007000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b4fe9000-b4fef000 r-xp 00000000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4fef000-b4ff0000 r-xp 00006000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4ff0000-b4ff1000 rwxp 00007000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4ff1000-b4ff9000 r-xp 00000000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b4ff9000-b4ffa000 r-xp 00007000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b4ffa000-b4ffb000 rwxp 00008000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b4ffb000-b4ffd000 r-xp 00000000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b4ffd000-b4ffe000 rwxp 00001000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b4ffe000-b5006000 r-xp 00000000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b5006000-b5007000 r-xp 00007000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b5007000-b5008000 rwxp 00008000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b5008000-b5016000 r-xp 00000000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b5016000-b5017000 r-xp 0000d000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b5017000-b5018000 rwxp 0000e000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b5018000-b50a1000 r-xp 00000000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50a1000-b50a2000 ---p 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50a2000-b50a4000 r-xp 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50a4000-b50a5000 rwxp 0008b000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50a5000-b50a9000 r-xp 00000000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50a9000-b50aa000 r-xp 00004000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50aa000-b50ab000 rwxp 00005000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50ab000-b50af000 r-xp 00000000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50af000-b50b0000 r-xp 00003000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50b0000-b50b1000 rwxp 00004000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50b1000-b545a000 r-xp 00000000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b545a000-b545e000 r-xp 003a8000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b545e000-b5460000 rwxp 003ac000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b5460000-b5462000 rwxp b5460000 00:00 0
-b5462000-b5463000 r-xp 00000000 08:01 13718 /usr/lib/locale/fr_FR.utf8/LC_TIME
-b5463000-b5464000 r-xp 00000000 08:01 13709 /usr/lib/locale/fr_FR.utf8/LC_MONETARY
-b5464000-b5465000 r-xp 00000000 08:01 13693 /usr/lib/locale/fr_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-b5465000-b5466000 r-xp 00000000 08:01 13742 /usr/lib/locale/fr_FR.utf8/LC_PAPER
-b5466000-b5467000 r-xp 00000000 08:01 13701 /usr/lib/locale/fr_FR.utf8/LC_NAME
-b5467000-b5468000 r-xp 00000000 08:01 13708 /usr/lib/locale/fr_FR.utf8/LC_ADDRESS
-b5468000-b5469000 r-xp 00000000 08:01 13713 /usr/lib/locale/fr_FR.utf8/LC_TELEPHONE
-b5469000-b546a000 r-xp 00000000 08:01 13738 /usr/lib/locale/fr_FR.utf8/LC_MEASUREMENT
-b546a000-b546b000 r-xp 00000000 08:01 13711 /usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION
-b546b000-b546d000 r-xp 00000000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b546d000-b546e000 rwxp 00002000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b546e000-b5472000 r-xp 00000000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b5472000-b5473000 rwxp 00003000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b5473000-b54bd000 r-xp 00000000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b54bd000-b54bf000 rwxp 0004a000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b54bf000-b54f2000 rwxp b54bf000 00:00 0
-b54f2000-b5684000 r-xs 02f34000 08:01 87768 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/rt.jar
-b5684000-b5704000 r-xs 00903000 08:06 131558 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/gwt-dev-1.5.3-linux.jar
-b5704000-b574d000 r-xs 00297000 08:06 131547 /home/kevin/.m2/repository/com/google/gwt/gwt-user/1.5.3/gwt-user-1.5.3.jar
-b574d000-b574e000 ---p b574d000 00:00 0
-b574e000-b57ce000 rwxp b574e000 00:00 0
-b57ce000-b57d1000 ---p b57ce000 00:00 0
-b57d1000-b581f000 rwxp b57d1000 00:00 0
-b581f000-b5822000 ---p b581f000 00:00 0
-b5822000-b58a0000 rwxp b5822000 00:00 0
-b58a0000-b58a3000 ---p b58a0000 00:00 0
-b58a3000-b58f1000 rwxp b58a3000 00:00 0
-b58f1000-b58f8000 r-xs 00000000 08:01 11976 /usr/lib/gconv/gconv-modules.cache
-b58f8000-b5937000 r-xp 00000000 08:01 13736 /usr/lib/locale/fr_FR.utf8/LC_CTYPE
-b5937000-b593a000 ---p b5937000 00:00 0
-b593a000-b5988000 rwxp b593a000 00:00 0
-b5988000-b598b000 ---p b5988000 00:00 0
-b598b000-b59d9000 rwxp b598b000 00:00 0
-b59d9000-b59da000 ---p b59d9000 00:00 0
-b59da000-b5a68000 rwxp b59da000 00:00 0
-b5a68000-b5a82000 rwxp b5a68000 00:00 0
-b5a82000-b5aac000 rwxp b5a82000 00:00 0
-b5aac000-b5b6f000 rwxp b5aac000 00:00 0
-b5b6f000-b5b73000 rwxp b5b6f000 00:00 0
-b5b73000-b5b82000 rwxp b5b73000 00:00 0
-b5b82000-b5bac000 rwxp b5b82000 00:00 0
-b5bac000-b5c6f000 rwxp b5bac000 00:00 0
-b5c6f000-b5c76000 rwxp b5c6f000 00:00 0
-b5c76000-b5c8f000 rwxp b5c76000 00:00 0
-b5c8f000-b5cad000 rwxp b5c8f000 00:00 0
-b5cad000-b5d1a000 rwxp b5cad000 00:00 0
-b5d1a000-b61c2000 rwxp b5d1a000 00:00 0
-b61c2000-b7d1a000 rwxp b61c2000 00:00 0
-b7d1a000-b7d29000 r-xp 00000000 08:01 85199 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libzip.so
-b7d29000-b7d2b000 rwxp 0000e000 08:01 85199 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libzip.so
-b7d2b000-b7d4e000 r-xp 00000000 08:01 85196 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libjava.so
-b7d4e000-b7d50000 rwxp 00023000 08:01 85196 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libjava.so
-b7d50000-b7d5a000 r-xp 00000000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d5a000-b7d5b000 r-xp 00009000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d5b000-b7d5c000 rwxp 0000a000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d5c000-b7d65000 r-xp 00000000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d65000-b7d66000 r-xp 00008000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d66000-b7d67000 rwxp 00009000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d67000-b7d6e000 r-xp 00000000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d6e000-b7d6f000 r-xp 00006000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d6f000-b7d70000 rwxp 00007000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d70000-b7d85000 r-xp 00000000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d85000-b7d86000 r-xp 00014000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d86000-b7d87000 rwxp 00015000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d87000-b7d8e000 rwxp b7d87000 00:00 0
-b7d8e000-b7d99000 r-xp 00000000 08:01 85195 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libverify.so
-b7d99000-b7d9a000 rwxp 0000b000 08:01 85195 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libverify.so
-b7d9a000-b7da1000 r-xp 00000000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7da1000-b7da2000 r-xp 00006000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7da2000-b7da3000 rwxp 00007000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7da3000-b7da6000 ---p b7da3000 00:00 0
-b7da6000-b7df4000 rwxp b7da6000 00:00 0
-b7df4000-b7e18000 r-xp 00000000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e18000-b7e19000 r-xp 00023000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e19000-b7e1a000 rwxp 00024000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e1a000-b7e1b000 rwxp b7e1a000 00:00 0
-b7e1b000-b7f77000 r-xp 00000000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f77000-b7f78000 ---p 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f78000-b7f7a000 r-xp 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f7a000-b7f7b000 rwxp 0015e000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f7b000-b7f7e000 rwxp b7f7b000 00:00 0
-b7f7e000-b7f80000 r-xp 00000000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f80000-b7f81000 r-xp 00001000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f81000-b7f82000 rwxp 00002000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f82000-b7f89000 r-xp 00000000 08:01 85198 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/jli/libjli.so
-b7f89000-b7f8b000 rwxp 00006000 08:01 85198 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/jli/libjli.so
-b7f8b000-b7f8c000 rwxp b7f8b000 00:00 0
-b7f8c000-b7fa1000 r-xp 00000000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7fa1000-b7fa2000 r-xp 00014000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7fa2000-b7fa3000 rwxp 00015000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7fa3000-b7fa5000 rwxp b7fa3000 00:00 0
-b7fa5000-b7fad000 rwxs 00000000 08:01 8471 /tmp/hsperfdata_kevin/11817
-b7fad000-b7fb3000 r-xp 00000000 08:01 84534 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/native_threads/libhpi.so
-b7fb3000-b7fb4000 rwxp 00006000 08:01 84534 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/native_threads/libhpi.so
-b7fb4000-b7fb5000 rwxp b7fb4000 00:00 0
-b7fb5000-b7fb6000 r-xp b7fb5000 00:00 0
-b7fb6000-b7fb8000 rwxp b7fb6000 00:00 0
-b7fb8000-b7fb9000 r-xp b7fb8000 00:00 0 [vdso]
-b7fb9000-b7fd5000 r-xp 00000000 08:01 2557 /lib/ld-2.9.so
-b7fd5000-b7fd6000 r-xp 0001b000 08:01 2557 /lib/ld-2.9.so
-b7fd6000-b7fd7000 rwxp 0001c000 08:01 2557 /lib/ld-2.9.so
-bfcc1000-bfcd6000 rwxp bffeb000 00:00 0 [stack]
-
-VM Arguments:
-jvm_args: -Xmx512m -Dcatalina.base=/home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/tomcat
-java_command: com.google.gwt.dev.GWTShell -gen /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/.generated -logLevel INFO -style DETAILED -out /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/guix-test-gwt-1.0.0-SNAPSHOT -port 8888 org.nuiton.guix.Index/Index.html
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-JAVA_HOME=/usr/lib/jvm/java-6-sun
-PATH=/home/kevin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
-USERNAME=kevin
-LD_LIBRARY_PATH=/usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.13/jre/../lib/i386
-SHELL=/bin/bash
-DISPLAY=:0.0
-
-Signal Handlers:
-SIGSEGV: [libjvm.so+0x3cd180], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGBUS: [libjvm.so+0x3cd180], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGFPE: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGPIPE: SIG_IGN, sa_mask[0]=0x00001000, sa_flags=0x10000000
-SIGXFSZ: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGILL: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGUSR2: [libjvm.so+0x310f20], sa_mask[0]=0x00000004, sa_flags=0x10000004
-SIGHUP: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGTERM: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGQUIT: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-
-
---------------- S Y S T E M ---------------
-
-OS:5.0
-
-uname:Linux 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:57:31 UTC 2009 i686
-libc:glibc 2.9 NPTL 2.9
-rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
-load average:1,75 1,37 1,44
-
-CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 127 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext
-
-Memory: 4k page, physical 1930940k(51908k free), swap 5574512k(5564528k free)
-
-vm_info: Java HotSpot(TM) Client VM (11.3-b02) for linux-x86 JRE (1.6.0_13-b03), built on Mar 9 2009 01:29:45 by "java_re" with gcc 3.2.1-7a (J2SE release)
-
-time: Mon Jun 22 12:57:48 2009
-elapsed time: 130 seconds
-
Deleted: trunk/guix-test-gwt/hs_err_pid21156.log
===================================================================
--- trunk/guix-test-gwt/hs_err_pid21156.log 2009-08-24 12:37:44 UTC (rev 1571)
+++ trunk/guix-test-gwt/hs_err_pid21156.log 2009-08-24 12:46:19 UTC (rev 1572)
@@ -1,708 +0,0 @@
-#
-# An unexpected error has been detected by Java Runtime Environment:
-#
-# SIGSEGV (0xb) at pc=0x0002ac8e, pid=21156, tid=3084888976
-#
-# Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixed mode, sharing linux-x86)
-# Problematic frame:
-# C 0x0002ac8e
-#
-# If you would like to submit a bug report, please visit:
-# http://java.sun.com/webapps/bugreport/crash.jsp
-# The crash happened outside the Java Virtual Machine in native code.
-# See problematic frame for where to report the bug.
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x0836a000): JavaThread "main" [_thread_in_native, id=21157, stack(0xb7daa000,0xb7dfb000)]
-
-siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0002ac8e
-
-Registers:
-EAX=0x00000007, EBX=0xb54c42a0, ECX=0x08530ed0, EDX=0x0836a114
-ESP=0xb7df9ec4, EBP=0xb7df9ee0, ESI=0xb7df9f08, EDI=0x0836a000
-EIP=0x0002ac8e, CR2=0x0002ac8e, EFLAGS=0x00010296
-
-Top of Stack: (sp=0xb7df9ec4)
-0xb7df9ec4: b54a7fa2 08530ed0 7fffffff 086fad48
-0xb7df9ed4: 00000007 086fad48 7287ee40 b7df9f18
-0xb7df9ee4: b5e68614 0836a114 b7df9f08 08530ed0
-0xb7df9ef4: 7fffffff 086fad48 00000007 00000001
-0xb7df9f04: 7287ee40 901dc098 901dc098 b7df9f48
-0xb7df9f14: b5e68b94 b7df9f48 b5e68857 086fad48
-0xb7df9f24: 00000007 7287ee40 7287d070 08530ed0
-0xb7df9f34: 7fffffff 901db680 00000000 72886530
-
-Instructions: (pc=0x0002ac8e)
-0x0002ac7e:
-[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
-
-Stack: [0xb7daa000,0xb7dfb000], sp=0xb7df9ec4, free space=319k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-C 0x0002ac8e
-J org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I
-J org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I
-J org.eclipse.swt.widgets.Display.sleep()Z
-J com.google.gwt.dev.GWTShell.sleep()V
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-V [libjvm.so+0x21b25d]
-V [libjvm.so+0x30f998]
-V [libjvm.so+0x21b0f0]
-V [libjvm.so+0x2448a6]
-V [libjvm.so+0x2360a8]
-C [java+0x1b98] JavaMain+0x2c8
-C [libpthread.so.0+0x64ff]
-
-Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
-J org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I
-J org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I
-J org.eclipse.swt.widgets.Display.sleep()Z
-J com.google.gwt.dev.GWTShell.sleep()V
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x08f12400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=21183, stack(0xb43b2000,0xb4403000)]
- 0x08793c00 JavaThread "http-8888-Monitor" [_thread_blocked, id=21175, stack(0xb421d000,0xb426e000)]
- 0x08792800 JavaThread "http-8888-Processor4" daemon [_thread_blocked, id=21174, stack(0xb426e000,0xb42bf000)]
- 0x08788c00 JavaThread "http-8888-Processor3" daemon [_thread_in_native, id=21173, stack(0xb42bf000,0xb4310000)]
- 0x0878dc00 JavaThread "http-8888-Processor2" daemon [_thread_blocked, id=21172, stack(0xb4310000,0xb4361000)]
- 0x0878c800 JavaThread "http-8888-Processor1" daemon [_thread_blocked, id=21171, stack(0xb4361000,0xb43b2000)]
- 0x08774000 JavaThread "ContainerBackgroundProcessor[StandardEngine[gwt]]" daemon [_thread_blocked, id=21170, stack(0xb4499000,0xb44ea000)]
- 0x086f8000 JavaThread "Timer-0" daemon [_thread_blocked, id=21168, stack(0xb4448000,0xb4499000)]
- 0x083a2400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=21165, stack(0xb57d5000,0xb5826000)]
- 0x0839f000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=21164, stack(0xb5826000,0xb58a7000)]
- 0x0839d800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=21163, stack(0xb58a7000,0xb58f8000)]
- 0x08397400 JavaThread "Finalizer" daemon [_thread_blocked, id=21160, stack(0xb593e000,0xb598f000)]
- 0x08392c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=21159, stack(0xb598f000,0xb59e0000)]
-=>0x0836a000 JavaThread "main" [_thread_in_native, id=21157, stack(0xb7daa000,0xb7dfb000)]
-
-Other Threads:
- 0x08391000 VMThread [stack: 0xb59e0000,0xb5a61000] [id=21158]
- 0x083a3c00 WatcherThread [stack: 0xb5754000,0xb57d5000] [id=21166]
-
-VM state:not at safepoint (normal execution)
-
-VM Mutex/Monitor currently owned by a thread: None
-
-Heap
- def new generation total 6528K, used 3958K [0x700f0000, 0x70800000, 0x72850000)
- eden space 5824K, 59% used [0x700f0000, 0x70457fb0, 0x706a0000)
- from space 704K, 66% used [0x70750000, 0x707c58c8, 0x70800000)
- to space 704K, 0% used [0x706a0000, 0x706a0000, 0x70750000)
- tenured generation total 86328K, used 62158K [0x72850000, 0x77c9e000, 0x900f0000)
- the space 86328K, 72% used [0x72850000, 0x76503b58, 0x76503c00, 0x77c9e000)
- compacting perm gen total 13824K, used 13620K [0x900f0000, 0x90e70000, 0x940f0000)
- the space 13824K, 98% used [0x900f0000, 0x90e3d208, 0x90e3d400, 0x90e70000)
- ro space 8192K, 74% used [0x940f0000, 0x946e8b48, 0x946e8c00, 0x948f0000)
- rw space 12288K, 58% used [0x948f0000, 0x95003df0, 0x95003e00, 0x954f0000)
-
-Dynamic libraries:
-06000000-0642a000 r-xp 00000000 08:01 85190 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/libjvm.so
-0642a000-06444000 rwxp 0042a000 08:01 85190 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/libjvm.so
-06444000-06864000 rwxp 06444000 00:00 0
-08048000-08052000 r-xp 00000000 08:01 84369 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/bin/java
-08052000-08053000 rwxp 00009000 08:01 84369 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/bin/java
-08364000-09033000 rwxp 08364000 00:00 0 [heap]
-700f0000-70800000 rwxp 700f0000 00:00 0
-70800000-72850000 rwxp 70800000 00:00 0
-72850000-77c9e000 rwxp 72850000 00:00 0
-77c9e000-900f0000 rwxp 77c9e000 00:00 0
-900f0000-90e70000 rwxp 900f0000 00:00 0
-90e70000-940f0000 rwxp 90e70000 00:00 0
-940f0000-946e9000 r-xs 00001000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-946e9000-948f0000 rwxp 946e9000 00:00 0
-948f0000-95004000 rwxp 005fa000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-95004000-954f0000 rwxp 95004000 00:00 0
-954f0000-955cc000 rwxp 00d0e000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-955cc000-958f0000 rwxp 955cc000 00:00 0
-958f0000-958f4000 r-xs 00dea000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-958f4000-95cf0000 rwxp 958f4000 00:00 0
-b0c35000-b0c3c000 r-xs 00110000 08:01 85796 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/resources.jar
-b0c3c000-b0c9c000 rwxs 00000000 00:09 25198626 /SYSV00000000 (deleted)
-b0c9c000-b0cbd000 r-xp 00000000 08:01 120423 /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Bold.ttf
-b0cbd000-b0d55000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b0d55000-b0d76000 r-xp 00000000 08:01 120771 /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf
-b0d76000-b0e30000 r-xp 00000000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b0e30000-b0e34000 rwxp 000b9000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b0e34000-b0eb3000 r-xp 00000000 08:01 85771 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libfontmanager.so
-b0eb3000-b0ebe000 rwxp 0007e000 08:01 85771 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libfontmanager.so
-b0ebe000-b0ec2000 rwxp b0ebe000 00:00 0
-b0ec2000-b0f05000 r-xp 00000000 08:01 85766 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/xawt/libmawt.so
-b0f05000-b0f08000 rwxp 00042000 08:01 85766 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/xawt/libmawt.so
-b0f08000-b0f8c000 r-xp 00000000 08:01 85763 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libawt.so
-b0f8c000-b0f93000 rwxp 00084000 08:01 85763 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libawt.so
-b0f93000-b0fb7000 rwxp b0f93000 00:00 0
-b0fb7000-b1008000 r-xp 00000000 08:01 42116 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf
-b1008000-b1009000 ---p b1008000 00:00 0
-b1009000-b1809000 rwxp b1009000 00:00 0
-b1809000-b183d000 r-xp 00000000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b183d000-b183f000 rwxp 00034000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b183f000-b1844000 r-xp 00000000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b1844000-b1845000 rwxp 00005000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b1845000-b185a000 r-xp 00000000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b185a000-b185b000 rwxp 00015000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b185b000-b1875000 r-xp 00000000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b1875000-b1876000 rwxp 0001a000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b1876000-b187b000 r-xp 00000000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b187b000-b187c000 rwxp 00004000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b187c000-b1880000 r-xs 00034000 08:01 84530 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/sunpkcs11.jar
-b1880000-b1883000 r-xs 000cb000 08:01 81476 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/localedata.jar
-b1883000-b1884000 ---p b1883000 00:00 0
-b1884000-b2084000 rwxp b1884000 00:00 0
-b2084000-b208e000 r-xp 00000000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b208e000-b208f000 rwxp 00009000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b208f000-b2090000 ---p b208f000 00:00 0
-b2090000-b2890000 rwxp b2090000 00:00 0
-b2890000-b289b000 r-xp 00000000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b289b000-b289c000 rwxp 0000a000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b289c000-b289f000 r-xp 00000000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b289f000-b28a0000 rwxp 00002000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b28a0000-b2906000 r-xp 00000000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b2906000-b2907000 r-xp 00065000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b2907000-b2909000 rwxp 00066000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b2909000-b2919000 r-xp 00000000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b2919000-b291a000 r-xp 0000f000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b291a000-b291b000 rwxp 00010000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b291b000-b29de000 r-xp 00000000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b29de000-b29e0000 r-xp 000c2000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b29e0000-b29e3000 rwxp 000c4000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b29e3000-b29e7000 r-xp 00000000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b29e7000-b29e8000 r-xp 00003000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b29e8000-b29e9000 rwxp 00004000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b29e9000-b29eb000 r-xp 00000000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b29eb000-b29ec000 r-xp 00001000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b29ec000-b29ed000 rwxp 00002000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b29ed000-b29fc000 r-xp 00000000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b29fc000-b29fd000 r-xp 0000e000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b29fd000-b29fe000 rwxp 0000f000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b29fe000-b2a08000 r-xp 00000000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b2a08000-b2a09000 r-xp 00009000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b2a09000-b2a0a000 rwxp 0000a000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b2a0a000-b2a0c000 r-xp 00000000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b2a0c000-b2a0d000 r-xp 00001000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b2a0d000-b2a0e000 rwxp 00002000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b2a0e000-b2aa5000 r-xp 00000000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2aa5000-b2aaa000 r-xp 00097000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2aaa000-b2aab000 rwxp 0009c000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2aab000-b2be0000 r-xp 00000000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2be0000-b2be1000 ---p 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2be1000-b2be5000 r-xp 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2be5000-b2be6000 rwxp 00139000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2be6000-b2be7000 rwxp b2be6000 00:00 0
-b2be7000-b2bef000 r-xp 00000000 08:01 2653 /lib/libpopt.so.0.0.0
-b2bef000-b2bf0000 r-xp 00007000 08:01 2653 /lib/libpopt.so.0.0.0
-b2bf0000-b2bf1000 rwxp 00008000 08:01 2653 /lib/libpopt.so.0.0.0
-b2bf1000-b2c13000 r-xp 00000000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b2c13000-b2c16000 rwxp 00021000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b2c16000-b2c1f000 r-xp 00000000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2c1f000-b2c20000 r-xp 00008000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2c20000-b2c21000 rwxp 00009000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2c21000-b2c34000 r-xp 00000000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2c34000-b2c35000 r-xp 00012000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2c35000-b2c36000 rwxp 00013000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2c36000-b2c37000 rwxp b2c36000 00:00 0
-b2c37000-b2c89000 r-xp 00000000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c89000-b2c8c000 r-xp 00051000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c8c000-b2c93000 rwxp 00054000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c93000-b2cec000 r-xp 00000000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2cec000-b2cee000 r-xp 00058000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2cee000-b2cef000 rwxp 0005a000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2cef000-b2cf0000 rwxp b2cef000 00:00 0
-b2cf0000-b2d04000 r-xp 00000000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2d04000-b2d05000 r-xp 00013000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2d05000-b2d06000 rwxp 00014000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2d06000-b2d0d000 r-xp 00000000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b2d0d000-b2d0e000 rwxp 00006000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b2d0e000-b2d17000 r-xp 00000000 08:01 76354 /usr/share/locale-langpack/fr/LC_MESSAGES/libgnome-2.0.mo
-b2d17000-b2dd2000 r-xp 00000000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b2dd2000-b2dd8000 rwxp 000bb000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b2dd8000-b2de2000 rwxp b2dd8000 00:00 0
-b2de2000-b2e3b000 r-xp 00000000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b2e3b000-b2e40000 rwxp 00058000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b2e40000-b2e57000 r-xp 00000000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2e57000-b2e58000 rwxp 00017000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2e58000-b2e81000 r-xp 00000000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b2e81000-b2e83000 rwxp 00028000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b2e83000-b2e9b000 r-xp 00000000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b2e9b000-b2e9c000 rwxp 00017000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b2e9c000-b2eb5000 r-xp 00000000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2eb5000-b2eb7000 rwxp 00018000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2eb7000-b2ebe000 r-xp 00000000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b2ebe000-b2ebf000 rwxp 00007000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b2ebf000-b2f32000 r-xp 00000000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2f32000-b2f35000 rwxp 00073000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2f35000-b2f81000 r-xp 00000000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b2f81000-b2f84000 rwxp 0004c000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b2f84000-b2fb5000 r-xp 00000000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2fb5000-b2fb7000 rwxp 00031000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2fb7000-b2fc8000 r-xp 00000000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b2fc8000-b2fc9000 rwxp 00011000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b2fc9000-b2fff000 r-xp 00000000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b2fff000-b3000000 r-xp 00035000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b3000000-b3001000 rwxp 00036000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b3001000-b301d000 r-xp 00000000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b301d000-b301e000 r-xp 0001b000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b301e000-b301f000 rwxp 0001c000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b301f000-b3068000 r-xp 00000000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b3068000-b3070000 r-xp 00049000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b3070000-b3072000 rwxp 00051000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b3072000-b30a0000 r-xp 00000000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b30a0000-b30a1000 ---p 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b30a1000-b30a2000 r-xp 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b30a2000-b30a4000 rwxp 0002f000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b30a4000-b30cc000 r-xp 00000000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b30cc000-b30cf000 rwxp 00028000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b30cf000-b30d2000 r-xp 00000000 08:01 2688 /lib/libuuid.so.1.2
-b30d2000-b30d3000 r-xp 00002000 08:01 2688 /lib/libuuid.so.1.2
-b30d3000-b30d4000 rwxp 00003000 08:01 2688 /lib/libuuid.so.1.2
-b30d4000-b30e9000 r-xp 00000000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b30e9000-b30ea000 rwxp 00014000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b30ea000-b30ec000 rwxp b30ea000 00:00 0
-b30ec000-b313b000 r-xp 00000000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b313b000-b313c000 r-xp 0004f000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b313c000-b313f000 rwxp 00050000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b3140000-b3142000 r-xs 00001000 08:01 81475 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/dnsns.jar
-b3142000-b314f000 r-xp 00000000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b314f000-b3150000 rwxp 0000c000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b3150000-b3163000 r-xp 00000000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b3163000-b3164000 rwxp 00013000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b3164000-b318d000 r-xp 00000000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b318d000-b318f000 rwxp 00028000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b318f000-b31bc000 r-xp 00000000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b31bc000-b31bd000 rwxp 0002d000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b31bd000-b31f5000 r-xp 00000000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b31f5000-b31f8000 rwxp 00037000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b31f8000-b31f9000 ---p b31f8000 00:00 0
-b31f9000-b39f9000 rwxp b31f9000 00:00 0
-b39f9000-b3a3d000 r-xp 00000000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b3a3d000-b3a40000 rwxp 00043000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b3a40000-b3a41000 rwxp b3a40000 00:00 0
-b3a41000-b3a56000 r-xp 00000000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3a56000-b3a57000 rwxp 00014000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3a57000-b3a69000 r-xp 00000000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a69000-b3a6a000 r-xp 00011000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a6a000-b3a6b000 rwxp 00012000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a6b000-b3a76000 r-xp 00000000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a76000-b3a77000 r-xp 0000a000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a77000-b3a78000 rwxp 0000b000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a78000-b3a7e000 r-xp 00000000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a7e000-b3a7f000 r-xp 00005000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a7f000-b3a80000 rwxp 00006000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a80000-b3a83000 r-xs 00027000 08:01 81474 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/sunjce_provider.jar
-b3a83000-b3a8a000 r-xp 00000000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a8a000-b3a8b000 r-xp 00006000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a8b000-b3a8c000 rwxp 00007000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a8c000-b3a90000 r-xp 00000000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3a90000-b3a91000 rwxp 00003000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3a91000-b3f0d000 r-xp 00000000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b3f0d000-b3f48000 rwxp 0047c000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b3f48000-b3f4e000 rwxp b3f48000 00:00 0
-b3f4e000-b4013000 r-xp 00000000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b4013000-b4019000 rwxp 000c4000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b4019000-b4025000 r-xp 00000000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b4025000-b4027000 rwxp 0000b000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b4027000-b4038000 r-xp 00000000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b4038000-b4039000 rwxp 00011000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b4039000-b4048000 r-xp 00000000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b4048000-b4049000 rwxp 0000e000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b4049000-b4074000 r-xp 00000000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b4074000-b4076000 rwxp 0002a000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b4076000-b40f4000 r-xp 00000000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b40f4000-b40f8000 rwxp 0007e000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b40f8000-b4119000 r-xp 00000000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b4119000-b411a000 rwxp 00021000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b411a000-b41fe000 r-xp 00000000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b41fe000-b4202000 r-xp 000e3000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b4202000-b4203000 rwxp 000e7000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b4203000-b4209000 rwxp b4203000 00:00 0
-b4209000-b421c000 r-xp 00000000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b421c000-b421d000 rwxp 00012000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b421d000-b4220000 ---p b421d000 00:00 0
-b4220000-b426e000 rwxp b4220000 00:00 0
-b426e000-b4271000 ---p b426e000 00:00 0
-b4271000-b42bf000 rwxp b4271000 00:00 0
-b42bf000-b42c2000 ---p b42bf000 00:00 0
-b42c2000-b4310000 rwxp b42c2000 00:00 0
-b4310000-b4313000 ---p b4310000 00:00 0
-b4313000-b4361000 rwxp b4313000 00:00 0
-b4361000-b4364000 ---p b4361000 00:00 0
-b4364000-b43b2000 rwxp b4364000 00:00 0
-b43b2000-b43b5000 ---p b43b2000 00:00 0
-b43b5000-b4403000 rwxp b43b5000 00:00 0
-b4403000-b4415000 r-xp 00000000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b4415000-b4416000 r-xp 00011000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b4416000-b4417000 rwxp 00012000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b4417000-b4419000 rwxp b4417000 00:00 0
-b4419000-b441e000 r-xp 00000000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b441e000-b441f000 r-xp 00004000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b441f000-b4420000 rwxp 00005000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b4420000-b4422000 r-xp 00000000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b4422000-b4423000 rwxp 00001000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b4424000-b4429000 r-xp 00000000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b4429000-b442a000 rwxp 00005000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b442a000-b442c000 r-xp 00000000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b442c000-b442d000 r-xp 00001000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b442d000-b442e000 rwxp 00002000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b442e000-b4433000 r-xp 00000000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b4433000-b4434000 rwxp 00004000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b4434000-b4447000 r-xp 00000000 08:01 85203 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libnet.so
-b4447000-b4448000 rwxp 00013000 08:01 85203 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libnet.so
-b4448000-b444b000 ---p b4448000 00:00 0
-b444b000-b4499000 rwxp b444b000 00:00 0
-b4499000-b449c000 ---p b4499000 00:00 0
-b449c000-b44ea000 rwxp b449c000 00:00 0
-b44ea000-b44eb000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44eb000-b44ec000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44ec000-b44ed000 rwxp 00001000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44ed000-b44f0000 rwxs 00000000 00:09 25133089 /SYSV00000000 (deleted)
-b44f0000-b4550000 rwxs 00000000 00:09 25100320 /SYSV00000000 (deleted)
-b4550000-b45e8000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b45e8000-b45ea000 r-xp 00000000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45ea000-b45eb000 r-xp 00001000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45eb000-b45ec000 rwxp 00002000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45ec000-b45f2000 r-xs 00000000 08:01 107678 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
-b45f2000-b45f5000 r-xs 00000000 08:01 107679 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-x86.cache-2
-b45f5000-b45f8000 r-xs 00000000 08:01 107675 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
-b45f8000-b45fb000 r-xs 00000000 08:01 107685 /var/cache/fontconfig/de156ccd2eddbdc19d37a45b8b2aac9c-x86.cache-2
-b45fb000-b4603000 r-xs 00000000 08:01 107688 /var/cache/fontconfig/e3de0de479f42330eadf588a55fb5bf4-x86.cache-2
-b4603000-b460e000 r-xs 00000000 08:01 107668 /var/cache/fontconfig/0f34bcd4b6ee430af32735b75db7f02b-x86.cache-2
-b460e000-b4615000 r-xs 00000000 08:01 107682 /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2
-b4615000-b461b000 r-xs 00000000 08:01 107667 /var/cache/fontconfig/089dead882dea3570ffc31a9898cfb69-x86.cache-2
-b461b000-b4628000 r-xs 00000000 08:01 163217 /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-x86.cache-2
-b4628000-b462a000 r-xs 00000000 08:01 122742 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2
-b462a000-b4638000 r-xs 00000000 08:01 163215 /var/cache/fontconfig/865f88548240fee46819705c6468c165-x86.cache-2
-b4638000-b4643000 r-xp 00000000 08:01 76265 /usr/share/locale-langpack/fr/LC_MESSAGES/glib20.mo
-b4643000-b4669000 r-xp 00000000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b4669000-b466b000 rwxp 00025000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b466b000-b466c000 rwxp b466b000 00:00 0
-b466c000-b4694000 r-xp 00000000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b4694000-b4695000 r-xp 00027000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b4695000-b4696000 rwxp 00028000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b4696000-b46b8000 r-xp 00000000 08:01 76349 /usr/share/locale-langpack/fr/LC_MESSAGES/libc.mo
-b46b8000-b46bf000 r-xp 00000000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46bf000-b46c0000 r-xp 00006000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46c0000-b46c1000 rwxp 00007000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46c1000-b46cd000 r-xp 00000000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46cd000-b46ce000 r-xp 0000b000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46ce000-b46cf000 rwxp 0000c000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46cf000-b46d3000 r-xp 00000000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46d3000-b46d4000 r-xp 00003000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46d4000-b46d5000 rwxp 00004000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46d5000-b46f0000 r-xp 00000000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46f0000-b46f1000 r-xp 0001a000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46f1000-b46ff000 rwxp 0001b000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46ff000-b4706000 r-xp 00000000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b4706000-b4707000 r-xp 00006000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b4707000-b4708000 rwxp 00007000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b4708000-b4715000 r-xp 00000000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b4715000-b4716000 r-xp 0000d000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b4716000-b4717000 rwxp 0000e000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b4717000-b4718000 r-xp b4717000 00:00 0
-b4718000-b471b000 r-xs 00000000 08:01 107687 /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-x86.cache-2
-b471b000-b471e000 r-xs 00000000 08:01 122740 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-x86.cache-2
-b471e000-b4726000 r-xp 00000000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4726000-b4727000 r-xp 00007000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4727000-b4728000 rwxp 00008000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4728000-b4750000 r-xp 00000000 08:01 76309 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20-properties.mo
-b4750000-b4761000 r-xp 00000000 08:01 76310 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20.mo
-b4761000-b484c000 r-xp 00000000 08:01 13735 /usr/lib/locale/fr_FR.utf8/LC_COLLATE
-b484c000-b4859000 r-xp 00000000 08:01 2599 /lib/libgcc_s.so.1
-b4859000-b485a000 r-xp 0000c000 08:01 2599 /lib/libgcc_s.so.1
-b485a000-b485b000 rwxp 0000d000 08:01 2599 /lib/libgcc_s.so.1
-b485b000-b490b000 r-xp 00000000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b490b000-b4910000 rwxp 000af000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b4910000-b4916000 rwxp b4910000 00:00 0
-b4916000-b4917000 r-xs 00000000 08:01 107673 /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-x86.cache-2
-b4917000-b4919000 r-xs 00000000 08:01 107684 /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-x86.cache-2
-b4919000-b491a000 r-xs 00000000 08:01 107671 /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-x86.cache-2
-b491a000-b491d000 r-xp 00000000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b491d000-b491e000 r-xp 00002000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b491e000-b491f000 rwxp 00003000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b491f000-b4923000 r-xp 00000000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b4923000-b4924000 r-xp 00003000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b4924000-b4925000 rwxp 00004000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b4925000-b4926000 r-xp 00000000 08:01 13715 /usr/lib/locale/fr_FR.utf8/LC_NUMERIC
-b4926000-b49d8000 r-xp 00000000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b49d8000-b49de000 rwxp 000b2000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b49de000-b4a0f000 r-xp 00000000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b4a0f000-b4a11000 rwxp 00031000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b4a11000-b4a12000 rwxp b4a11000 00:00 0
-b4a12000-b4a16000 r-xp 00000000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b4a16000-b4a17000 rwxp 00003000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b4a17000-b4a3b000 r-xp 00000000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a3b000-b4a3d000 r-xp 00023000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a3d000-b4a3e000 rwxp 00025000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a3e000-b4a56000 r-xp 00000000 08:01 2663 /lib/libselinux.so.1
-b4a56000-b4a57000 r-xp 00017000 08:01 2663 /lib/libselinux.so.1
-b4a57000-b4a58000 rwxp 00018000 08:01 2663 /lib/libselinux.so.1
-b4a58000-b4a5e000 r-xp 00000000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a5e000-b4a5f000 r-xp 00005000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a5f000-b4a60000 rwxp 00006000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a60000-b4a63000 r-xp 00000000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a63000-b4a64000 r-xp 00002000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a64000-b4a65000 rwxp 00003000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a65000-b4a89000 r-xp 00000000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a89000-b4a8a000 r-xp 00023000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a8a000-b4a8b000 rwxp 00024000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a8b000-b4a9e000 r-xp 00000000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a9e000-b4a9f000 r-xp 00012000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a9f000-b4aa0000 rwxp 00013000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4aa0000-b4aa7000 r-xp 00000000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4aa7000-b4aa8000 r-xp 00006000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4aa8000-b4aa9000 rwxp 00007000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4aa9000-b4b0d000 r-xp 00000000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4b0d000-b4b0e000 r-xp 00063000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4b0e000-b4b0f000 rwxp 00064000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4b0f000-b4b4f000 r-xp 00000000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b4f000-b4b51000 r-xp 0003f000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b51000-b4b52000 rwxp 00041000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b52000-b4b6a000 r-xp 00000000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b6a000-b4b6b000 r-xp 00017000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b6b000-b4b6c000 rwxp 00018000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b6c000-b4b6e000 r-xp 00000000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b6e000-b4b6f000 r-xp 00001000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b6f000-b4b70000 rwxp 00002000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b70000-b4ba0000 r-xp 00000000 08:01 2649 /lib/libpcre.so.3.12.1
-b4ba0000-b4ba1000 r-xp 0002f000 08:01 2649 /lib/libpcre.so.3.12.1
-b4ba1000-b4ba2000 rwxp 00030000 08:01 2649 /lib/libpcre.so.3.12.1
-b4ba2000-b4c58000 r-xp 00000000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c58000-b4c59000 r-xp 000b5000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c59000-b4c5a000 rwxp 000b6000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c5a000-b4c5d000 r-xp 00000000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c5d000-b4c5e000 r-xp 00002000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c5e000-b4c5f000 rwxp 00003000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c5f000-b4c9b000 r-xp 00000000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c9b000-b4c9c000 r-xp 0003b000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c9c000-b4c9d000 rwxp 0003c000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c9d000-b4cc8000 r-xp 00000000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cc8000-b4cc9000 r-xp 0002a000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cc9000-b4cca000 rwxp 0002b000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cca000-b4cde000 r-xp 00000000 08:01 2695 /lib/libz.so.1.2.3.3
-b4cde000-b4cdf000 r-xp 00013000 08:01 2695 /lib/libz.so.1.2.3.3
-b4cdf000-b4ce0000 rwxp 00014000 08:01 2695 /lib/libz.so.1.2.3.3
-b4ce0000-b4d52000 r-xp 00000000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d52000-b4d56000 r-xp 00071000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d56000-b4d57000 rwxp 00075000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d57000-b4d97000 r-xp 00000000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d97000-b4d98000 ---p 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d98000-b4d99000 r-xp 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d99000-b4d9a000 rwxp 00041000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d9a000-b4dc1000 r-xp 00000000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4dc1000-b4dc2000 r-xp 00026000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4dc2000-b4dc3000 rwxp 00027000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4dc3000-b4e2e000 r-xp 00000000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e2e000-b4e2f000 ---p 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e2f000-b4e30000 r-xp 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e30000-b4e31000 rwxp 0006c000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e31000-b4ea8000 r-xp 00000000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4ea8000-b4eaa000 r-xp 00076000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4eaa000-b4eab000 rwxp 00078000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4eab000-b4ec4000 r-xp 00000000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4ec4000-b4ec5000 r-xp 00019000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4ec5000-b4ec6000 rwxp 0001a000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4ec6000-b4eca000 r-xp 00000000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b4eca000-b4ecb000 rwxp 00003000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b4ecb000-b4ecd000 r-xp 00000000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b4ecd000-b4ece000 rwxp 00001000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b4ece000-b4ed0000 r-xp 00000000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ed0000-b4ed1000 r-xp 00001000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ed1000-b4ed2000 rwxp 00002000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ed2000-b4fbc000 r-xp 00000000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fbc000-b4fbd000 ---p 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fbd000-b4fbe000 r-xp 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fbe000-b4fc0000 rwxp 000eb000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fc0000-b4fc1000 rwxp b4fc0000 00:00 0
-b4fc1000-b4fcb000 r-xp 00000000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fcb000-b4fcc000 r-xp 00009000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fcc000-b4fcd000 rwxp 0000a000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fcd000-b4fe5000 r-xp 00000000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fe5000-b4fe6000 r-xp 00017000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fe6000-b4fe7000 rwxp 00018000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fe7000-b4fef000 r-xp 00000000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b4fef000-b4ff0000 rwxp 00007000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b4ff0000-b4ff6000 r-xp 00000000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4ff6000-b4ff7000 r-xp 00006000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4ff7000-b4ff8000 rwxp 00007000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4ff8000-b5000000 r-xp 00000000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b5000000-b5001000 r-xp 00007000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b5001000-b5002000 rwxp 00008000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b5002000-b5004000 r-xp 00000000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b5004000-b5005000 rwxp 00001000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b5005000-b500d000 r-xp 00000000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b500d000-b500e000 r-xp 00007000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b500e000-b500f000 rwxp 00008000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b500f000-b501d000 r-xp 00000000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b501d000-b501e000 r-xp 0000d000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b501e000-b501f000 rwxp 0000e000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b501f000-b50a8000 r-xp 00000000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50a8000-b50a9000 ---p 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50a9000-b50ab000 r-xp 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50ab000-b50ac000 rwxp 0008b000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b50ac000-b50b0000 r-xp 00000000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50b0000-b50b1000 r-xp 00004000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50b1000-b50b2000 rwxp 00005000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50b2000-b50b6000 r-xp 00000000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50b6000-b50b7000 r-xp 00003000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50b7000-b50b8000 rwxp 00004000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50b8000-b5461000 r-xp 00000000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b5461000-b5465000 r-xp 003a8000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b5465000-b5467000 rwxp 003ac000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b5467000-b5469000 rwxp b5467000 00:00 0
-b5469000-b546a000 r-xp 00000000 08:01 13718 /usr/lib/locale/fr_FR.utf8/LC_TIME
-b546a000-b546b000 r-xp 00000000 08:01 13709 /usr/lib/locale/fr_FR.utf8/LC_MONETARY
-b546b000-b546c000 r-xp 00000000 08:01 13693 /usr/lib/locale/fr_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-b546c000-b546d000 r-xp 00000000 08:01 13742 /usr/lib/locale/fr_FR.utf8/LC_PAPER
-b546d000-b546e000 r-xp 00000000 08:01 13701 /usr/lib/locale/fr_FR.utf8/LC_NAME
-b546e000-b546f000 r-xp 00000000 08:01 13708 /usr/lib/locale/fr_FR.utf8/LC_ADDRESS
-b546f000-b5470000 r-xp 00000000 08:01 13713 /usr/lib/locale/fr_FR.utf8/LC_TELEPHONE
-b5470000-b5471000 r-xp 00000000 08:01 13738 /usr/lib/locale/fr_FR.utf8/LC_MEASUREMENT
-b5471000-b5472000 r-xp 00000000 08:01 13711 /usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION
-b5472000-b5474000 r-xp 00000000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b5474000-b5475000 rwxp 00002000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b5475000-b5479000 r-xp 00000000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b5479000-b547a000 rwxp 00003000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b547a000-b54c4000 r-xp 00000000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b54c4000-b54c6000 rwxp 0004a000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b54c6000-b54f9000 rwxp b54c6000 00:00 0
-b54f9000-b568b000 r-xs 02f34000 08:01 87768 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/rt.jar
-b568b000-b570b000 r-xs 00903000 08:06 131558 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/gwt-dev-1.5.3-linux.jar
-b570b000-b5754000 r-xs 00297000 08:06 131547 /home/kevin/.m2/repository/com/google/gwt/gwt-user/1.5.3/gwt-user-1.5.3.jar
-b5754000-b5755000 ---p b5754000 00:00 0
-b5755000-b57d5000 rwxp b5755000 00:00 0
-b57d5000-b57d8000 ---p b57d5000 00:00 0
-b57d8000-b5826000 rwxp b57d8000 00:00 0
-b5826000-b5829000 ---p b5826000 00:00 0
-b5829000-b58a7000 rwxp b5829000 00:00 0
-b58a7000-b58aa000 ---p b58a7000 00:00 0
-b58aa000-b58f8000 rwxp b58aa000 00:00 0
-b58f8000-b58ff000 r-xs 00000000 08:01 11976 /usr/lib/gconv/gconv-modules.cache
-b58ff000-b593e000 r-xp 00000000 08:01 13736 /usr/lib/locale/fr_FR.utf8/LC_CTYPE
-b593e000-b5941000 ---p b593e000 00:00 0
-b5941000-b598f000 rwxp b5941000 00:00 0
-b598f000-b5992000 ---p b598f000 00:00 0
-b5992000-b59e0000 rwxp b5992000 00:00 0
-b59e0000-b59e1000 ---p b59e0000 00:00 0
-b59e1000-b5a6f000 rwxp b59e1000 00:00 0
-b5a6f000-b5a89000 rwxp b5a6f000 00:00 0
-b5a89000-b5ab4000 rwxp b5a89000 00:00 0
-b5ab4000-b5b76000 rwxp b5ab4000 00:00 0
-b5b76000-b5b7a000 rwxp b5b76000 00:00 0
-b5b7a000-b5b89000 rwxp b5b7a000 00:00 0
-b5b89000-b5bb4000 rwxp b5b89000 00:00 0
-b5bb4000-b5c76000 rwxp b5bb4000 00:00 0
-b5c76000-b5c7d000 rwxp b5c76000 00:00 0
-b5c7d000-b5c96000 rwxp b5c7d000 00:00 0
-b5c96000-b5cb5000 rwxp b5c96000 00:00 0
-b5cb5000-b5d21000 rwxp b5cb5000 00:00 0
-b5d21000-b6211000 rwxp b5d21000 00:00 0
-b6211000-b7d21000 rwxp b6211000 00:00 0
-b7d21000-b7d30000 r-xp 00000000 08:01 85199 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libzip.so
-b7d30000-b7d32000 rwxp 0000e000 08:01 85199 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libzip.so
-b7d32000-b7d55000 r-xp 00000000 08:01 85196 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libjava.so
-b7d55000-b7d57000 rwxp 00023000 08:01 85196 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libjava.so
-b7d57000-b7d61000 r-xp 00000000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d61000-b7d62000 r-xp 00009000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d62000-b7d63000 rwxp 0000a000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d63000-b7d6c000 r-xp 00000000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d6c000-b7d6d000 r-xp 00008000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d6d000-b7d6e000 rwxp 00009000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d6e000-b7d75000 r-xp 00000000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d75000-b7d76000 r-xp 00006000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d76000-b7d77000 rwxp 00007000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d77000-b7d8c000 r-xp 00000000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d8c000-b7d8d000 r-xp 00014000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d8d000-b7d8e000 rwxp 00015000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d8e000-b7d95000 rwxp b7d8e000 00:00 0
-b7d95000-b7da0000 r-xp 00000000 08:01 85195 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libverify.so
-b7da0000-b7da1000 rwxp 0000b000 08:01 85195 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libverify.so
-b7da1000-b7da8000 r-xp 00000000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7da8000-b7da9000 r-xp 00006000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7da9000-b7daa000 rwxp 00007000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7daa000-b7dad000 ---p b7daa000 00:00 0
-b7dad000-b7dfb000 rwxp b7dad000 00:00 0
-b7dfb000-b7e1f000 r-xp 00000000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e1f000-b7e20000 r-xp 00023000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e20000-b7e21000 rwxp 00024000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e21000-b7e22000 rwxp b7e21000 00:00 0
-b7e22000-b7f7e000 r-xp 00000000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f7e000-b7f7f000 ---p 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f7f000-b7f81000 r-xp 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f81000-b7f82000 rwxp 0015e000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f82000-b7f85000 rwxp b7f82000 00:00 0
-b7f85000-b7f87000 r-xp 00000000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f87000-b7f88000 r-xp 00001000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f88000-b7f89000 rwxp 00002000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f89000-b7f90000 r-xp 00000000 08:01 85198 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/jli/libjli.so
-b7f90000-b7f92000 rwxp 00006000 08:01 85198 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/jli/libjli.so
-b7f92000-b7f93000 rwxp b7f92000 00:00 0
-b7f93000-b7fa8000 r-xp 00000000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7fa8000-b7fa9000 r-xp 00014000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7fa9000-b7faa000 rwxp 00015000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7faa000-b7fac000 rwxp b7faa000 00:00 0
-b7fac000-b7fb4000 rwxs 00000000 08:01 23071 /tmp/hsperfdata_kevin/21156
-b7fb4000-b7fba000 r-xp 00000000 08:01 84534 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/native_threads/libhpi.so
-b7fba000-b7fbb000 rwxp 00006000 08:01 84534 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/native_threads/libhpi.so
-b7fbb000-b7fbc000 rwxp b7fbb000 00:00 0
-b7fbc000-b7fbd000 r-xp b7fbc000 00:00 0
-b7fbd000-b7fbf000 rwxp b7fbd000 00:00 0
-b7fbf000-b7fc0000 r-xp b7fbf000 00:00 0 [vdso]
-b7fc0000-b7fdc000 r-xp 00000000 08:01 2557 /lib/ld-2.9.so
-b7fdc000-b7fdd000 r-xp 0001b000 08:01 2557 /lib/ld-2.9.so
-b7fdd000-b7fde000 rwxp 0001c000 08:01 2557 /lib/ld-2.9.so
-bfdc9000-bfdde000 rwxp bffeb000 00:00 0 [stack]
-
-VM Arguments:
-jvm_args: -Xmx512m -Dcatalina.base=/home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/tomcat
-java_command: com.google.gwt.dev.GWTShell -gen /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/.generated -logLevel INFO -style DETAILED -out /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/guix-test-gwt-1.0.0-SNAPSHOT -port 8888 org.nuiton.guix.Index/Index.html
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-JAVA_HOME=/usr/lib/jvm/java-6-sun
-PATH=/home/kevin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
-USERNAME=kevin
-LD_LIBRARY_PATH=/usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.13/jre/../lib/i386
-SHELL=/bin/bash
-DISPLAY=:0.0
-
-Signal Handlers:
-SIGSEGV: [libjvm.so+0x3cd180], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGBUS: [libjvm.so+0x3cd180], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGFPE: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGPIPE: SIG_IGN, sa_mask[0]=0x00001000, sa_flags=0x10000000
-SIGXFSZ: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGILL: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGUSR2: [libjvm.so+0x310f20], sa_mask[0]=0x00000004, sa_flags=0x10000004
-SIGHUP: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGTERM: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGQUIT: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-
-
---------------- S Y S T E M ---------------
-
-OS:5.0
-
-uname:Linux 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:57:31 UTC 2009 i686
-libc:glibc 2.9 NPTL 2.9
-rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
-load average:1,15 1,16 0,90
-
-CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 127 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext
-
-Memory: 4k page, physical 1930940k(50480k free), swap 5574512k(5563080k free)
-
-vm_info: Java HotSpot(TM) Client VM (11.3-b02) for linux-x86 JRE (1.6.0_13-b03), built on Mar 9 2009 01:29:45 by "java_re" with gcc 3.2.1-7a (J2SE release)
-
-time: Fri Jun 26 16:14:33 2009
-elapsed time: 91 seconds
-
Deleted: trunk/guix-test-gwt/hs_err_pid7596.log
===================================================================
--- trunk/guix-test-gwt/hs_err_pid7596.log 2009-08-24 12:37:44 UTC (rev 1571)
+++ trunk/guix-test-gwt/hs_err_pid7596.log 2009-08-24 12:46:19 UTC (rev 1572)
@@ -1,709 +0,0 @@
-#
-# An unexpected error has been detected by Java Runtime Environment:
-#
-# SIGSEGV (0xb) at pc=0x0002ac8e, pid=7596, tid=3084819344
-#
-# Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixed mode, sharing linux-x86)
-# Problematic frame:
-# C 0x0002ac8e
-#
-# If you would like to submit a bug report, please visit:
-# http://java.sun.com/webapps/bugreport/crash.jsp
-# The crash happened outside the Java Virtual Machine in native code.
-# See problematic frame for where to report the bug.
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x09541000): JavaThread "main" [_thread_in_native, id=7597, stack(0xb7d99000,0xb7dea000)]
-
-siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0002ac8e
-
-Registers:
-EAX=0x00000007, EBX=0xb54b32a0, ECX=0x09708010, EDX=0x09541114
-ESP=0xb7de8eb4, EBP=0xb7de8ed0, ESI=0xb7de8ef8, EDI=0x09541000
-EIP=0x0002ac8e, CR2=0x0002ac8e, EFLAGS=0x00210296
-
-Top of Stack: (sp=0xb7de8eb4)
-0xb7de8eb4: b5496fa2 09708010 7fffffff 0992eba8
-0xb7de8ec4: 00000007 0992eba8 7287fb80 b7de8f08
-0xb7de8ed4: b61b2754 09541114 b7de8ef8 09708010
-0xb7de8ee4: 7fffffff 0992eba8 00000007 00000001
-0xb7de8ef4: 7287fb80 901dc098 901dc098 b7de8f38
-0xb7de8f04: b61b1954 b7de8f38 b61b2bd7 0992eba8
-0xb7de8f14: 00000007 7287fb80 7287ddb0 09708010
-0xb7de8f24: 7fffffff 901db680 00000000 b619e658
-
-Instructions: (pc=0x0002ac8e)
-0x0002ac7e:
-[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
-
-Stack: [0xb7d99000,0xb7dea000], sp=0xb7de8eb4, free space=319k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-C 0x0002ac8e
-J org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I
-J org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I
-J org.eclipse.swt.widgets.Display.sleep()Z
-j com.google.gwt.dev.GWTShell.sleep()V+4
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-V [libjvm.so+0x21b25d]
-V [libjvm.so+0x30f998]
-V [libjvm.so+0x21b0f0]
-V [libjvm.so+0x2448a6]
-V [libjvm.so+0x2360a8]
-C [java+0x1b98] JavaMain+0x2c8
-C [libpthread.so.0+0x64ff]
-
-Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
-J org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I
-J org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I
-J org.eclipse.swt.widgets.Display.sleep()Z
-j com.google.gwt.dev.GWTShell.sleep()V+4
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x0997c800 JavaThread "http-8888-Monitor" [_thread_blocked, id=7616, stack(0xb4208000,0xb4259000)]
- 0x09976800 JavaThread "http-8888-Processor4" daemon [_thread_blocked, id=7615, stack(0xb4259000,0xb42aa000)]
- 0x09975000 JavaThread "http-8888-Processor3" daemon [_thread_in_native, id=7614, stack(0xb42aa000,0xb42fb000)]
- 0x09970800 JavaThread "http-8888-Processor2" daemon [_thread_blocked, id=7613, stack(0xb42fb000,0xb434c000)]
- 0x09971400 JavaThread "http-8888-Processor1" daemon [_thread_blocked, id=7612, stack(0xb434c000,0xb439d000)]
- 0x0996b400 JavaThread "ContainerBackgroundProcessor[StandardEngine[gwt]]" daemon [_thread_blocked, id=7611, stack(0xb4484000,0xb44d5000)]
- 0x098dac00 JavaThread "Timer-0" daemon [_thread_blocked, id=7609, stack(0xb4433000,0xb4484000)]
- 0x09579400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=7605, stack(0xb57c4000,0xb5815000)]
- 0x09576400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=7604, stack(0xb5815000,0xb5896000)]
- 0x09574800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=7603, stack(0xb5896000,0xb58e7000)]
- 0x0956b400 JavaThread "Finalizer" daemon [_thread_blocked, id=7600, stack(0xb592d000,0xb597e000)]
- 0x09569c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=7599, stack(0xb597e000,0xb59cf000)]
-=>0x09541000 JavaThread "main" [_thread_in_native, id=7597, stack(0xb7d99000,0xb7dea000)]
-
-Other Threads:
- 0x09568000 VMThread [stack: 0xb59cf000,0xb5a50000] [id=7598]
- 0x0957b000 WatcherThread [stack: 0xb5743000,0xb57c4000] [id=7606]
-
-VM state:not at safepoint (normal execution)
-
-VM Mutex/Monitor currently owned by a thread: None
-
-Heap
- def new generation total 6464K, used 1009K [0x700f0000, 0x707f0000, 0x72850000)
- eden space 5760K, 10% used [0x700f0000, 0x701880d8, 0x70690000)
- from space 704K, 56% used [0x70740000, 0x707a4438, 0x707f0000)
- to space 704K, 0% used [0x70690000, 0x70690000, 0x70740000)
- tenured generation total 85836K, used 61290K [0x72850000, 0x77c23000, 0x900f0000)
- the space 85836K, 71% used [0x72850000, 0x7642a968, 0x7642aa00, 0x77c23000)
- compacting perm gen total 13056K, used 12897K [0x900f0000, 0x90db0000, 0x940f0000)
- the space 13056K, 98% used [0x900f0000, 0x90d884c8, 0x90d88600, 0x90db0000)
- ro space 8192K, 74% used [0x940f0000, 0x946e8b48, 0x946e8c00, 0x948f0000)
- rw space 12288K, 58% used [0x948f0000, 0x95003df0, 0x95003e00, 0x954f0000)
-
-Dynamic libraries:
-06000000-0642a000 r-xp 00000000 08:01 85190 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/libjvm.so
-0642a000-06444000 rwxp 0042a000 08:01 85190 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/libjvm.so
-06444000-06864000 rwxp 06444000 00:00 0
-08048000-08052000 r-xp 00000000 08:01 84369 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/bin/java
-08052000-08053000 rwxp 00009000 08:01 84369 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/bin/java
-0953b000-09ea3000 rwxp 0953b000 00:00 0 [heap]
-700f0000-707f0000 rwxp 700f0000 00:00 0
-707f0000-72850000 rwxp 707f0000 00:00 0
-72850000-77c23000 rwxp 72850000 00:00 0
-77c23000-900f0000 rwxp 77c23000 00:00 0
-900f0000-90db0000 rwxp 900f0000 00:00 0
-90db0000-940f0000 rwxp 90db0000 00:00 0
-940f0000-946e9000 r-xs 00001000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-946e9000-948f0000 rwxp 946e9000 00:00 0
-948f0000-95004000 rwxp 005fa000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-95004000-954f0000 rwxp 95004000 00:00 0
-954f0000-955cc000 rwxp 00d0e000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-955cc000-958f0000 rwxp 955cc000 00:00 0
-958f0000-958f4000 r-xs 00dea000 08:01 122667 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client/classes.jsa
-958f4000-95cf0000 rwxp 958f4000 00:00 0
-b0708000-b0768000 rwxs 00000000 00:09 7110682 /SYSV00000000 (deleted)
-b0768000-b0800000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b0800000-b0871000 rwxp b0800000 00:00 0
-b0871000-b0900000 ---p b0871000 00:00 0
-b0942000-b09fc000 r-xp 00000000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b09fc000-b0a00000 rwxp 000b9000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b0a00000-b0bde000 rwxp b0a00000 00:00 0
-b0bde000-b0c00000 ---p b0bde000 00:00 0
-b0c00000-b0cfe000 rwxp b0c00000 00:00 0
-b0cfe000-b0d00000 ---p b0cfe000 00:00 0
-b0d00000-b0e00000 rwxp b0d00000 00:00 0
-b0e00000-b0efc000 rwxp b0e00000 00:00 0
-b0efc000-b0f00000 ---p b0efc000 00:00 0
-b0f59000-b0f60000 r-xs 00110000 08:01 85796 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/resources.jar
-b0f60000-b0f81000 r-xp 00000000 08:01 120423 /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Bold.ttf
-b0f81000-b0fa2000 r-xp 00000000 08:01 120771 /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf
-b0fa2000-b0ff3000 r-xp 00000000 08:01 42116 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf
-b0ff3000-b0ff4000 ---p b0ff3000 00:00 0
-b0ff4000-b17f4000 rwxp b0ff4000 00:00 0
-b17f4000-b1828000 r-xp 00000000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b1828000-b182a000 rwxp 00034000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b182a000-b182f000 r-xp 00000000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b182f000-b1830000 rwxp 00005000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b1830000-b1845000 r-xp 00000000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b1845000-b1846000 rwxp 00015000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b1846000-b1860000 r-xp 00000000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b1860000-b1861000 rwxp 0001a000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b1861000-b1866000 r-xp 00000000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b1866000-b1867000 rwxp 00004000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b1867000-b186b000 r-xs 00034000 08:01 84530 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/sunpkcs11.jar
-b186b000-b186e000 r-xs 000cb000 08:01 81476 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/localedata.jar
-b186e000-b186f000 ---p b186e000 00:00 0
-b186f000-b206f000 rwxp b186f000 00:00 0
-b206f000-b2079000 r-xp 00000000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b2079000-b207a000 rwxp 00009000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b207a000-b207b000 ---p b207a000 00:00 0
-b207b000-b287b000 rwxp b207b000 00:00 0
-b287b000-b2886000 r-xp 00000000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b2886000-b2887000 rwxp 0000a000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b2887000-b288a000 r-xp 00000000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b288a000-b288b000 rwxp 00002000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b288b000-b28f1000 r-xp 00000000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b28f1000-b28f2000 r-xp 00065000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b28f2000-b28f4000 rwxp 00066000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b28f4000-b2904000 r-xp 00000000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b2904000-b2905000 r-xp 0000f000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b2905000-b2906000 rwxp 00010000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b2906000-b29c9000 r-xp 00000000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b29c9000-b29cb000 r-xp 000c2000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b29cb000-b29ce000 rwxp 000c4000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b29ce000-b29d2000 r-xp 00000000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b29d2000-b29d3000 r-xp 00003000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b29d3000-b29d4000 rwxp 00004000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b29d4000-b29d6000 r-xp 00000000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b29d6000-b29d7000 r-xp 00001000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b29d7000-b29d8000 rwxp 00002000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b29d8000-b29e7000 r-xp 00000000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b29e7000-b29e8000 r-xp 0000e000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b29e8000-b29e9000 rwxp 0000f000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b29e9000-b29f3000 r-xp 00000000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b29f3000-b29f4000 r-xp 00009000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b29f4000-b29f5000 rwxp 0000a000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b29f5000-b29f7000 r-xp 00000000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b29f7000-b29f8000 r-xp 00001000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b29f8000-b29f9000 rwxp 00002000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b29f9000-b2a90000 r-xp 00000000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2a90000-b2a95000 r-xp 00097000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2a95000-b2a96000 rwxp 0009c000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2a96000-b2bcb000 r-xp 00000000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2bcb000-b2bcc000 ---p 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2bcc000-b2bd0000 r-xp 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2bd0000-b2bd1000 rwxp 00139000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b2bd1000-b2bd2000 rwxp b2bd1000 00:00 0
-b2bd2000-b2bda000 r-xp 00000000 08:01 2653 /lib/libpopt.so.0.0.0
-b2bda000-b2bdb000 r-xp 00007000 08:01 2653 /lib/libpopt.so.0.0.0
-b2bdb000-b2bdc000 rwxp 00008000 08:01 2653 /lib/libpopt.so.0.0.0
-b2bdc000-b2bfe000 r-xp 00000000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b2bfe000-b2c01000 rwxp 00021000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b2c01000-b2c0a000 r-xp 00000000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2c0a000-b2c0b000 r-xp 00008000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2c0b000-b2c0c000 rwxp 00009000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b2c0c000-b2c1f000 r-xp 00000000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2c1f000-b2c20000 r-xp 00012000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2c20000-b2c21000 rwxp 00013000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2c21000-b2c22000 rwxp b2c21000 00:00 0
-b2c22000-b2c74000 r-xp 00000000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c74000-b2c77000 r-xp 00051000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c77000-b2c7e000 rwxp 00054000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2c7e000-b2cd7000 r-xp 00000000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2cd7000-b2cd9000 r-xp 00058000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2cd9000-b2cda000 rwxp 0005a000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b2cda000-b2cdb000 rwxp b2cda000 00:00 0
-b2cdb000-b2cef000 r-xp 00000000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2cef000-b2cf0000 r-xp 00013000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2cf0000-b2cf1000 rwxp 00014000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b2cf1000-b2cf8000 r-xp 00000000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b2cf8000-b2cf9000 rwxp 00006000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b2cf9000-b2d02000 r-xp 00000000 08:01 76354 /usr/share/locale-langpack/fr/LC_MESSAGES/libgnome-2.0.mo
-b2d02000-b2dbd000 r-xp 00000000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b2dbd000-b2dc3000 rwxp 000bb000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b2dc3000-b2dcd000 rwxp b2dc3000 00:00 0
-b2dcd000-b2e26000 r-xp 00000000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b2e26000-b2e2b000 rwxp 00058000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b2e2b000-b2e42000 r-xp 00000000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2e42000-b2e43000 rwxp 00017000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2e43000-b2e6c000 r-xp 00000000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b2e6c000-b2e6e000 rwxp 00028000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b2e6e000-b2e86000 r-xp 00000000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b2e86000-b2e87000 rwxp 00017000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b2e87000-b2ea0000 r-xp 00000000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2ea0000-b2ea2000 rwxp 00018000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2ea2000-b2ea9000 r-xp 00000000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b2ea9000-b2eaa000 rwxp 00007000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b2eaa000-b2f1d000 r-xp 00000000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2f1d000-b2f20000 rwxp 00073000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2f20000-b2f6c000 r-xp 00000000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b2f6c000-b2f6f000 rwxp 0004c000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b2f6f000-b2fa0000 r-xp 00000000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2fa0000-b2fa2000 rwxp 00031000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2fa2000-b2fb3000 r-xp 00000000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b2fb3000-b2fb4000 rwxp 00011000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b2fb4000-b2fea000 r-xp 00000000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b2fea000-b2feb000 r-xp 00035000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b2feb000-b2fec000 rwxp 00036000 08:01 2589 /lib/libdbus-1.so.3.4.0
-b2fec000-b3008000 r-xp 00000000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b3008000-b3009000 r-xp 0001b000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b3009000-b300a000 rwxp 0001c000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b300a000-b3053000 r-xp 00000000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b3053000-b305b000 r-xp 00049000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b305b000-b305d000 rwxp 00051000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b305d000-b308b000 r-xp 00000000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b308b000-b308c000 ---p 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b308c000-b308d000 r-xp 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b308d000-b308f000 rwxp 0002f000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b308f000-b30b7000 r-xp 00000000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b30b7000-b30ba000 rwxp 00028000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b30ba000-b30bd000 r-xp 00000000 08:01 2688 /lib/libuuid.so.1.2
-b30bd000-b30be000 r-xp 00002000 08:01 2688 /lib/libuuid.so.1.2
-b30be000-b30bf000 rwxp 00003000 08:01 2688 /lib/libuuid.so.1.2
-b30bf000-b30d4000 r-xp 00000000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b30d4000-b30d5000 rwxp 00014000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b30d5000-b30d7000 rwxp b30d5000 00:00 0
-b30d7000-b3126000 r-xp 00000000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b3126000-b3127000 r-xp 0004f000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b3127000-b312a000 rwxp 00050000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b312b000-b312d000 r-xs 00001000 08:01 81475 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/dnsns.jar
-b312d000-b313a000 r-xp 00000000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b313a000-b313b000 rwxp 0000c000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b313b000-b314e000 r-xp 00000000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b314e000-b314f000 rwxp 00013000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b314f000-b3178000 r-xp 00000000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b3178000-b317a000 rwxp 00028000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b317a000-b31a7000 r-xp 00000000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b31a7000-b31a8000 rwxp 0002d000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b31a8000-b31e0000 r-xp 00000000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b31e0000-b31e3000 rwxp 00037000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b31e3000-b31e4000 ---p b31e3000 00:00 0
-b31e4000-b39e4000 rwxp b31e4000 00:00 0
-b39e4000-b3a28000 r-xp 00000000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b3a28000-b3a2b000 rwxp 00043000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b3a2b000-b3a2c000 rwxp b3a2b000 00:00 0
-b3a2c000-b3a41000 r-xp 00000000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3a41000-b3a42000 rwxp 00014000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3a42000-b3a54000 r-xp 00000000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a54000-b3a55000 r-xp 00011000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a55000-b3a56000 rwxp 00012000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3a56000-b3a61000 r-xp 00000000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a61000-b3a62000 r-xp 0000a000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a62000-b3a63000 rwxp 0000b000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3a63000-b3a69000 r-xp 00000000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a69000-b3a6a000 r-xp 00005000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a6a000-b3a6b000 rwxp 00006000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3a6b000-b3a6e000 r-xs 00027000 08:01 81474 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/ext/sunjce_provider.jar
-b3a6e000-b3a75000 r-xp 00000000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a75000-b3a76000 r-xp 00006000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a76000-b3a77000 rwxp 00007000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3a77000-b3a7b000 r-xp 00000000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3a7b000-b3a7c000 rwxp 00003000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3a7c000-b3ef8000 r-xp 00000000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b3ef8000-b3f33000 rwxp 0047c000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b3f33000-b3f39000 rwxp b3f33000 00:00 0
-b3f39000-b3ffe000 r-xp 00000000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b3ffe000-b4004000 rwxp 000c4000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b4004000-b4010000 r-xp 00000000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b4010000-b4012000 rwxp 0000b000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b4012000-b4023000 r-xp 00000000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b4023000-b4024000 rwxp 00011000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b4024000-b4033000 r-xp 00000000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b4033000-b4034000 rwxp 0000e000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b4034000-b405f000 r-xp 00000000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b405f000-b4061000 rwxp 0002a000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b4061000-b40df000 r-xp 00000000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b40df000-b40e3000 rwxp 0007e000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b40e3000-b4104000 r-xp 00000000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b4104000-b4105000 rwxp 00021000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b4105000-b41e9000 r-xp 00000000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b41e9000-b41ed000 r-xp 000e3000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b41ed000-b41ee000 rwxp 000e7000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b41ee000-b41f4000 rwxp b41ee000 00:00 0
-b41f4000-b4207000 r-xp 00000000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b4207000-b4208000 rwxp 00012000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b4208000-b420b000 ---p b4208000 00:00 0
-b420b000-b4259000 rwxp b420b000 00:00 0
-b4259000-b425c000 ---p b4259000 00:00 0
-b425c000-b42aa000 rwxp b425c000 00:00 0
-b42aa000-b42ad000 ---p b42aa000 00:00 0
-b42ad000-b42fb000 rwxp b42ad000 00:00 0
-b42fb000-b42fe000 ---p b42fb000 00:00 0
-b42fe000-b434c000 rwxp b42fe000 00:00 0
-b434c000-b434f000 ---p b434c000 00:00 0
-b434f000-b439d000 rwxp b434f000 00:00 0
-b439d000-b43a0000 rwxp b439d000 00:00 0
-b43a0000-b43ee000 rwxp b43a0000 00:00 0
-b43ee000-b4400000 r-xp 00000000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b4400000-b4401000 r-xp 00011000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b4401000-b4402000 rwxp 00012000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b4402000-b4404000 rwxp b4402000 00:00 0
-b4404000-b4409000 r-xp 00000000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b4409000-b440a000 r-xp 00004000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b440a000-b440b000 rwxp 00005000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b440b000-b440d000 r-xp 00000000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b440d000-b440e000 rwxp 00001000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b440f000-b4414000 r-xp 00000000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b4414000-b4415000 rwxp 00005000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b4415000-b4417000 r-xp 00000000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b4417000-b4418000 r-xp 00001000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b4418000-b4419000 rwxp 00002000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b4419000-b441e000 r-xp 00000000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b441e000-b441f000 rwxp 00004000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b441f000-b4432000 r-xp 00000000 08:01 85203 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libnet.so
-b4432000-b4433000 rwxp 00013000 08:01 85203 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libnet.so
-b4433000-b4436000 ---p b4433000 00:00 0
-b4436000-b4484000 rwxp b4436000 00:00 0
-b4484000-b4487000 ---p b4484000 00:00 0
-b4487000-b44d5000 rwxp b4487000 00:00 0
-b44d5000-b44d9000 r-xs 0001b000 08:06 263871 /home/kevin/.m2/repository/org/gwt/beansbinding/gwt-beans-binding/0.2.3-SNAPSHOT/gwt-beans-binding-0.2.3-SNAPSHOT.jar
-b44d9000-b44da000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44da000-b44db000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44db000-b44dc000 rwxp 00001000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b44dc000-b44df000 rwxs 00000000 00:09 7045144 /SYSV00000000 (deleted)
-b44df000-b453f000 rwxs 00000000 00:09 7012374 /SYSV00000000 (deleted)
-b453f000-b45d7000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b45d7000-b45d9000 r-xp 00000000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45d9000-b45da000 r-xp 00001000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45da000-b45db000 rwxp 00002000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b45db000-b45e1000 r-xs 00000000 08:01 107678 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
-b45e1000-b45e4000 r-xs 00000000 08:01 107679 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-x86.cache-2
-b45e4000-b45e7000 r-xs 00000000 08:01 107675 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
-b45e7000-b45ea000 r-xs 00000000 08:01 107685 /var/cache/fontconfig/de156ccd2eddbdc19d37a45b8b2aac9c-x86.cache-2
-b45ea000-b45f2000 r-xs 00000000 08:01 107688 /var/cache/fontconfig/e3de0de479f42330eadf588a55fb5bf4-x86.cache-2
-b45f2000-b45fd000 r-xs 00000000 08:01 107668 /var/cache/fontconfig/0f34bcd4b6ee430af32735b75db7f02b-x86.cache-2
-b45fd000-b4604000 r-xs 00000000 08:01 107682 /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2
-b4604000-b460a000 r-xs 00000000 08:01 107667 /var/cache/fontconfig/089dead882dea3570ffc31a9898cfb69-x86.cache-2
-b460a000-b4617000 r-xs 00000000 08:01 163217 /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-x86.cache-2
-b4617000-b4619000 r-xs 00000000 08:01 122742 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2
-b4619000-b4627000 r-xs 00000000 08:01 163215 /var/cache/fontconfig/865f88548240fee46819705c6468c165-x86.cache-2
-b4627000-b4632000 r-xp 00000000 08:01 76265 /usr/share/locale-langpack/fr/LC_MESSAGES/glib20.mo
-b4632000-b4658000 r-xp 00000000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b4658000-b465a000 rwxp 00025000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b465a000-b465b000 rwxp b465a000 00:00 0
-b465b000-b4683000 r-xp 00000000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b4683000-b4684000 r-xp 00027000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b4684000-b4685000 rwxp 00028000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b4685000-b46a7000 r-xp 00000000 08:01 76349 /usr/share/locale-langpack/fr/LC_MESSAGES/libc.mo
-b46a7000-b46ae000 r-xp 00000000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46ae000-b46af000 r-xp 00006000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46af000-b46b0000 rwxp 00007000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b46b0000-b46bc000 r-xp 00000000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46bc000-b46bd000 r-xp 0000b000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46bd000-b46be000 rwxp 0000c000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b46be000-b46c2000 r-xp 00000000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46c2000-b46c3000 r-xp 00003000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46c3000-b46c4000 rwxp 00004000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b46c4000-b46df000 r-xp 00000000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46df000-b46e0000 r-xp 0001a000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46e0000-b46ee000 rwxp 0001b000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b46ee000-b46f5000 r-xp 00000000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b46f5000-b46f6000 r-xp 00006000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b46f6000-b46f7000 rwxp 00007000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b46f7000-b4704000 r-xp 00000000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b4704000-b4705000 r-xp 0000d000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b4705000-b4706000 rwxp 0000e000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b4706000-b4707000 r-xp b4706000 00:00 0
-b4707000-b470a000 r-xs 00000000 08:01 107687 /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-x86.cache-2
-b470a000-b470d000 r-xs 00000000 08:01 122740 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-x86.cache-2
-b470d000-b4715000 r-xp 00000000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4715000-b4716000 r-xp 00007000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4716000-b4717000 rwxp 00008000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b4717000-b473f000 r-xp 00000000 08:01 76309 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20-properties.mo
-b473f000-b4750000 r-xp 00000000 08:01 76310 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20.mo
-b4750000-b483b000 r-xp 00000000 08:01 13735 /usr/lib/locale/fr_FR.utf8/LC_COLLATE
-b483b000-b4848000 r-xp 00000000 08:01 2599 /lib/libgcc_s.so.1
-b4848000-b4849000 r-xp 0000c000 08:01 2599 /lib/libgcc_s.so.1
-b4849000-b484a000 rwxp 0000d000 08:01 2599 /lib/libgcc_s.so.1
-b484a000-b48fa000 r-xp 00000000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b48fa000-b48ff000 rwxp 000af000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b48ff000-b4905000 rwxp b48ff000 00:00 0
-b4905000-b4906000 r-xs 00000000 08:01 107673 /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-x86.cache-2
-b4906000-b4908000 r-xs 00000000 08:01 107684 /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-x86.cache-2
-b4908000-b4909000 r-xs 00000000 08:01 107671 /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-x86.cache-2
-b4909000-b490c000 r-xp 00000000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b490c000-b490d000 r-xp 00002000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b490d000-b490e000 rwxp 00003000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b490e000-b4912000 r-xp 00000000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b4912000-b4913000 r-xp 00003000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b4913000-b4914000 rwxp 00004000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b4914000-b4915000 r-xp 00000000 08:01 13715 /usr/lib/locale/fr_FR.utf8/LC_NUMERIC
-b4915000-b49c7000 r-xp 00000000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b49c7000-b49cd000 rwxp 000b2000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b49cd000-b49fe000 r-xp 00000000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b49fe000-b4a00000 rwxp 00031000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b4a00000-b4a01000 rwxp b4a00000 00:00 0
-b4a01000-b4a05000 r-xp 00000000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b4a05000-b4a06000 rwxp 00003000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b4a06000-b4a2a000 r-xp 00000000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a2a000-b4a2c000 r-xp 00023000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a2c000-b4a2d000 rwxp 00025000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4a2d000-b4a45000 r-xp 00000000 08:01 2663 /lib/libselinux.so.1
-b4a45000-b4a46000 r-xp 00017000 08:01 2663 /lib/libselinux.so.1
-b4a46000-b4a47000 rwxp 00018000 08:01 2663 /lib/libselinux.so.1
-b4a47000-b4a4d000 r-xp 00000000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a4d000-b4a4e000 r-xp 00005000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a4e000-b4a4f000 rwxp 00006000 08:01 10327 /usr/lib/libxcb-render.so.0.0.0
-b4a4f000-b4a52000 r-xp 00000000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a52000-b4a53000 r-xp 00002000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a53000-b4a54000 rwxp 00003000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4a54000-b4a78000 r-xp 00000000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a78000-b4a79000 r-xp 00023000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a79000-b4a7a000 rwxp 00024000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b4a7a000-b4a8d000 r-xp 00000000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a8d000-b4a8e000 r-xp 00012000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a8e000-b4a8f000 rwxp 00013000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4a8f000-b4a96000 r-xp 00000000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4a96000-b4a97000 r-xp 00006000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4a97000-b4a98000 rwxp 00007000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4a98000-b4afc000 r-xp 00000000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4afc000-b4afd000 r-xp 00063000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4afd000-b4afe000 rwxp 00064000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b4afe000-b4b3e000 r-xp 00000000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b3e000-b4b40000 r-xp 0003f000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b40000-b4b41000 rwxp 00041000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4b41000-b4b59000 r-xp 00000000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b59000-b4b5a000 r-xp 00017000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b5a000-b4b5b000 rwxp 00018000 08:01 10329 /usr/lib/libxcb.so.1.1.0
-b4b5b000-b4b5d000 r-xp 00000000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b5d000-b4b5e000 r-xp 00001000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b5e000-b4b5f000 rwxp 00002000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4b5f000-b4b8f000 r-xp 00000000 08:01 2649 /lib/libpcre.so.3.12.1
-b4b8f000-b4b90000 r-xp 0002f000 08:01 2649 /lib/libpcre.so.3.12.1
-b4b90000-b4b91000 rwxp 00030000 08:01 2649 /lib/libpcre.so.3.12.1
-b4b91000-b4c47000 r-xp 00000000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c47000-b4c48000 r-xp 000b5000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c48000-b4c49000 rwxp 000b6000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b4c49000-b4c4c000 r-xp 00000000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c4c000-b4c4d000 r-xp 00002000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c4d000-b4c4e000 rwxp 00003000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4c4e000-b4c8a000 r-xp 00000000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c8a000-b4c8b000 r-xp 0003b000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c8b000-b4c8c000 rwxp 0003c000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b4c8c000-b4cb7000 r-xp 00000000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cb7000-b4cb8000 r-xp 0002a000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cb8000-b4cb9000 rwxp 0002b000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b4cb9000-b4ccd000 r-xp 00000000 08:01 2695 /lib/libz.so.1.2.3.3
-b4ccd000-b4cce000 r-xp 00013000 08:01 2695 /lib/libz.so.1.2.3.3
-b4cce000-b4ccf000 rwxp 00014000 08:01 2695 /lib/libz.so.1.2.3.3
-b4ccf000-b4d41000 r-xp 00000000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d41000-b4d45000 r-xp 00071000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d45000-b4d46000 rwxp 00075000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4d46000-b4d86000 r-xp 00000000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d86000-b4d87000 ---p 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d87000-b4d88000 r-xp 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d88000-b4d89000 rwxp 00041000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4d89000-b4db0000 r-xp 00000000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4db0000-b4db1000 r-xp 00026000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4db1000-b4db2000 rwxp 00027000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b4db2000-b4e1d000 r-xp 00000000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e1d000-b4e1e000 ---p 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e1e000-b4e1f000 r-xp 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e1f000-b4e20000 rwxp 0006c000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4e20000-b4e97000 r-xp 00000000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4e97000-b4e99000 r-xp 00076000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4e99000-b4e9a000 rwxp 00078000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b4e9a000-b4eb3000 r-xp 00000000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4eb3000-b4eb4000 r-xp 00019000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4eb4000-b4eb5000 rwxp 0001a000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b4eb5000-b4eb9000 r-xp 00000000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b4eb9000-b4eba000 rwxp 00003000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b4eba000-b4ebc000 r-xp 00000000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b4ebc000-b4ebd000 rwxp 00001000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b4ebd000-b4ebf000 r-xp 00000000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ebf000-b4ec0000 r-xp 00001000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ec0000-b4ec1000 rwxp 00002000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b4ec1000-b4fab000 r-xp 00000000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fab000-b4fac000 ---p 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fac000-b4fad000 r-xp 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4fad000-b4faf000 rwxp 000eb000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b4faf000-b4fb0000 rwxp b4faf000 00:00 0
-b4fb0000-b4fba000 r-xp 00000000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fba000-b4fbb000 r-xp 00009000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fbb000-b4fbc000 rwxp 0000a000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b4fbc000-b4fd4000 r-xp 00000000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fd4000-b4fd5000 r-xp 00017000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fd5000-b4fd6000 rwxp 00018000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b4fd6000-b4fde000 r-xp 00000000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b4fde000-b4fdf000 rwxp 00007000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b4fdf000-b4fe5000 r-xp 00000000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4fe5000-b4fe6000 r-xp 00006000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4fe6000-b4fe7000 rwxp 00007000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b4fe7000-b4fef000 r-xp 00000000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b4fef000-b4ff0000 r-xp 00007000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b4ff0000-b4ff1000 rwxp 00008000 08:01 9382 /usr/lib/libXi.so.6.0.0
-b4ff1000-b4ff3000 r-xp 00000000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b4ff3000-b4ff4000 rwxp 00001000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b4ff4000-b4ffc000 r-xp 00000000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b4ffc000-b4ffd000 r-xp 00007000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b4ffd000-b4ffe000 rwxp 00008000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b4ffe000-b500c000 r-xp 00000000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b500c000-b500d000 r-xp 0000d000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b500d000-b500e000 rwxp 0000e000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b500e000-b5097000 r-xp 00000000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b5097000-b5098000 ---p 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b5098000-b509a000 r-xp 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b509a000-b509b000 rwxp 0008b000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b509b000-b509f000 r-xp 00000000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b509f000-b50a0000 r-xp 00004000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50a0000-b50a1000 rwxp 00005000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b50a1000-b50a5000 r-xp 00000000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50a5000-b50a6000 r-xp 00003000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50a6000-b50a7000 rwxp 00004000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b50a7000-b5450000 r-xp 00000000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b5450000-b5454000 r-xp 003a8000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b5454000-b5456000 rwxp 003ac000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b5456000-b5458000 rwxp b5456000 00:00 0
-b5458000-b5459000 r-xp 00000000 08:01 13718 /usr/lib/locale/fr_FR.utf8/LC_TIME
-b5459000-b545a000 r-xp 00000000 08:01 13709 /usr/lib/locale/fr_FR.utf8/LC_MONETARY
-b545a000-b545b000 r-xp 00000000 08:01 13693 /usr/lib/locale/fr_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-b545b000-b545c000 r-xp 00000000 08:01 13742 /usr/lib/locale/fr_FR.utf8/LC_PAPER
-b545c000-b545d000 r-xp 00000000 08:01 13701 /usr/lib/locale/fr_FR.utf8/LC_NAME
-b545d000-b545e000 r-xp 00000000 08:01 13708 /usr/lib/locale/fr_FR.utf8/LC_ADDRESS
-b545e000-b545f000 r-xp 00000000 08:01 13713 /usr/lib/locale/fr_FR.utf8/LC_TELEPHONE
-b545f000-b5460000 r-xp 00000000 08:01 13738 /usr/lib/locale/fr_FR.utf8/LC_MEASUREMENT
-b5460000-b5461000 r-xp 00000000 08:01 13711 /usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION
-b5461000-b5463000 r-xp 00000000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b5463000-b5464000 rwxp 00002000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b5464000-b5468000 r-xp 00000000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b5468000-b5469000 rwxp 00003000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b5469000-b54b3000 r-xp 00000000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b54b3000-b54b5000 rwxp 0004a000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b54b5000-b54e8000 rwxp b54b5000 00:00 0
-b54e8000-b567a000 r-xs 02f34000 08:01 87768 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/rt.jar
-b567a000-b56fa000 r-xs 00903000 08:06 131558 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/gwt-dev-1.5.3-linux.jar
-b56fa000-b5743000 r-xs 00297000 08:06 131547 /home/kevin/.m2/repository/com/google/gwt/gwt-user/1.5.3/gwt-user-1.5.3.jar
-b5743000-b5744000 ---p b5743000 00:00 0
-b5744000-b57c4000 rwxp b5744000 00:00 0
-b57c4000-b57c7000 ---p b57c4000 00:00 0
-b57c7000-b5815000 rwxp b57c7000 00:00 0
-b5815000-b5818000 ---p b5815000 00:00 0
-b5818000-b5896000 rwxp b5818000 00:00 0
-b5896000-b5899000 ---p b5896000 00:00 0
-b5899000-b58e7000 rwxp b5899000 00:00 0
-b58e7000-b58ee000 r-xs 00000000 08:01 11976 /usr/lib/gconv/gconv-modules.cache
-b58ee000-b592d000 r-xp 00000000 08:01 13736 /usr/lib/locale/fr_FR.utf8/LC_CTYPE
-b592d000-b5930000 ---p b592d000 00:00 0
-b5930000-b597e000 rwxp b5930000 00:00 0
-b597e000-b5981000 ---p b597e000 00:00 0
-b5981000-b59cf000 rwxp b5981000 00:00 0
-b59cf000-b59d0000 ---p b59cf000 00:00 0
-b59d0000-b5a5e000 rwxp b59d0000 00:00 0
-b5a5e000-b5a78000 rwxp b5a5e000 00:00 0
-b5a78000-b5aa2000 rwxp b5a78000 00:00 0
-b5aa2000-b5b65000 rwxp b5aa2000 00:00 0
-b5b65000-b5b69000 rwxp b5b65000 00:00 0
-b5b69000-b5b78000 rwxp b5b69000 00:00 0
-b5b78000-b5ba3000 rwxp b5b78000 00:00 0
-b5ba3000-b5c65000 rwxp b5ba3000 00:00 0
-b5c65000-b5c6c000 rwxp b5c65000 00:00 0
-b5c6c000-b5c85000 rwxp b5c6c000 00:00 0
-b5c85000-b5ca3000 rwxp b5c85000 00:00 0
-b5ca3000-b5d10000 rwxp b5ca3000 00:00 0
-b5d10000-b61b8000 rwxp b5d10000 00:00 0
-b61b8000-b7d10000 rwxp b61b8000 00:00 0
-b7d10000-b7d1f000 r-xp 00000000 08:01 85199 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libzip.so
-b7d1f000-b7d21000 rwxp 0000e000 08:01 85199 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libzip.so
-b7d21000-b7d44000 r-xp 00000000 08:01 85196 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libjava.so
-b7d44000-b7d46000 rwxp 00023000 08:01 85196 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libjava.so
-b7d46000-b7d50000 r-xp 00000000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d50000-b7d51000 r-xp 00009000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d51000-b7d52000 rwxp 0000a000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b7d52000-b7d5b000 r-xp 00000000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d5b000-b7d5c000 r-xp 00008000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d5c000-b7d5d000 rwxp 00009000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7d5d000-b7d64000 r-xp 00000000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d64000-b7d65000 r-xp 00006000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d65000-b7d66000 rwxp 00007000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b7d66000-b7d7b000 r-xp 00000000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d7b000-b7d7c000 r-xp 00014000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d7c000-b7d7d000 rwxp 00015000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7d7d000-b7d84000 rwxp b7d7d000 00:00 0
-b7d84000-b7d8f000 r-xp 00000000 08:01 85195 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libverify.so
-b7d8f000-b7d90000 rwxp 0000b000 08:01 85195 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/libverify.so
-b7d90000-b7d97000 r-xp 00000000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7d97000-b7d98000 r-xp 00006000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7d98000-b7d99000 rwxp 00007000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7d99000-b7d9c000 ---p b7d99000 00:00 0
-b7d9c000-b7dea000 rwxp b7d9c000 00:00 0
-b7dea000-b7e0e000 r-xp 00000000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e0e000-b7e0f000 r-xp 00023000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e0f000-b7e10000 rwxp 00024000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7e10000-b7e11000 rwxp b7e10000 00:00 0
-b7e11000-b7f6d000 r-xp 00000000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f6d000-b7f6e000 ---p 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f6e000-b7f70000 r-xp 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f70000-b7f71000 rwxp 0015e000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b7f71000-b7f74000 rwxp b7f71000 00:00 0
-b7f74000-b7f76000 r-xp 00000000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f76000-b7f77000 r-xp 00001000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f77000-b7f78000 rwxp 00002000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b7f78000-b7f7f000 r-xp 00000000 08:01 85198 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/jli/libjli.so
-b7f7f000-b7f81000 rwxp 00006000 08:01 85198 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/jli/libjli.so
-b7f81000-b7f82000 rwxp b7f81000 00:00 0
-b7f82000-b7f97000 r-xp 00000000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7f97000-b7f98000 r-xp 00014000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7f98000-b7f99000 rwxp 00015000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b7f99000-b7f9b000 rwxp b7f99000 00:00 0
-b7f9b000-b7fa3000 rwxs 00000000 08:01 8209 /tmp/hsperfdata_kevin/7596
-b7fa3000-b7fa9000 r-xp 00000000 08:01 84534 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/native_threads/libhpi.so
-b7fa9000-b7faa000 rwxp 00006000 08:01 84534 /usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/native_threads/libhpi.so
-b7faa000-b7fab000 rwxp b7faa000 00:00 0
-b7fab000-b7fac000 r-xp b7fab000 00:00 0
-b7fac000-b7fae000 rwxp b7fac000 00:00 0
-b7fae000-b7faf000 r-xp b7fae000 00:00 0 [vdso]
-b7faf000-b7fcb000 r-xp 00000000 08:01 2557 /lib/ld-2.9.so
-b7fcb000-b7fcc000 r-xp 0001b000 08:01 2557 /lib/ld-2.9.so
-b7fcc000-b7fcd000 rwxp 0001c000 08:01 2557 /lib/ld-2.9.so
-bfcb7000-bfccc000 rwxp bffeb000 00:00 0 [stack]
-
-VM Arguments:
-jvm_args: -Xmx512m -Dcatalina.base=/home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/tomcat
-java_command: com.google.gwt.dev.GWTShell -gen /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/.generated -logLevel INFO -style DETAILED -out /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/guix-test-gwt-1.0.0-SNAPSHOT -port 8888 org.nuiton.guix.Index/Index.html
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-JAVA_HOME=/usr/lib/jvm/java-6-sun
-PATH=/home/kevin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
-USERNAME=kevin
-LD_LIBRARY_PATH=/usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.13/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.13/jre/../lib/i386
-SHELL=/bin/bash
-DISPLAY=:0.0
-
-Signal Handlers:
-SIGSEGV: [libjvm.so+0x3cd180], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGBUS: [libjvm.so+0x3cd180], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGFPE: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGPIPE: SIG_IGN, sa_mask[0]=0x00001000, sa_flags=0x10000000
-SIGXFSZ: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGILL: [libjvm.so+0x30ea50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGUSR2: [libjvm.so+0x310f20], sa_mask[0]=0x00000004, sa_flags=0x10000004
-SIGHUP: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGTERM: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGQUIT: [libjvm.so+0x310cc0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-
-
---------------- S Y S T E M ---------------
-
-OS:5.0
-
-uname:Linux 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:57:31 UTC 2009 i686
-libc:glibc 2.9 NPTL 2.9
-rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
-load average:1,91 1,40 1,41
-
-CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 127 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext
-
-Memory: 4k page, physical 1930940k(56816k free), swap 5574512k(5563864k free)
-
-vm_info: Java HotSpot(TM) Client VM (11.3-b02) for linux-x86 JRE (1.6.0_13-b03), built on Mar 9 2009 01:29:45 by "java_re" with gcc 3.2.1-7a (J2SE release)
-
-time: Tue Jun 23 10:20:18 2009
-elapsed time: 378 seconds
-
Deleted: trunk/guix-test-gwt/hs_err_pid9288.log
===================================================================
--- trunk/guix-test-gwt/hs_err_pid9288.log 2009-08-24 12:37:44 UTC (rev 1571)
+++ trunk/guix-test-gwt/hs_err_pid9288.log 2009-08-24 12:46:19 UTC (rev 1572)
@@ -1,710 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# SIGSEGV (0xb) at pc=0x0002ac8e, pid=9288, tid=3076410256
-#
-# JRE version: 6.0_14-b08
-# Java VM: Java HotSpot(TM) Client VM (14.0-b16 mixed mode, sharing linux-x86 )
-# Problematic frame:
-# C 0x0002ac8e
-#
-# If you would like to submit a bug report, please visit:
-# http://java.sun.com/webapps/bugreport/crash.jsp
-# The crash happened outside the Java Virtual Machine in native code.
-# See problematic frame for where to report the bug.
-#
-
---------------- T H R E A D ---------------
-
-Current thread (0x09d7a800): JavaThread "main" [_thread_in_native, id=9289, stack(0xb7594000,0xb75e5000)]
-
-siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0002ac8e
-
-Registers:
-EAX=0xb4c83f7e, EBX=0xb4ca02a0, ECX=0x09d7a910, EDX=0x8f97c488
-ESP=0xb75e3e9c, EBP=0xb75e3eb8, ESI=0x8f928334, EDI=0x09d7a800
-EIP=0x0002ac8e, CR2=0x0002ac8e, EFLAGS=0x00010296
-
-Top of Stack: (sp=0xb75e3e9c)
-0xb75e3e9c: b4c83fa2 09f3ded0 7fffffff 0a1b5f30
-0xb75e3eac: 00000007 8f9247e4 8f928338 b75e3efc
-0xb75e3ebc: b550af1d 09d7a910 b75e3f04 09f3ded0
-0xb75e3ecc: 7fffffff 0a1b5f30 00000007 b75e3ef8
-0xb75e3edc: b75e3edc 00000000 b75e3f18 8f97c488
-0xb75e3eec: 00000000 8f928338 00000000 b75e3f0c
-0xb75e3efc: b75e3f3c b5503ea9 8f97c3e8 b5509329
-0xb75e3f0c: 00000007 0a1b5f30 7fffffff 09f3ded0
-
-Instructions: (pc=0x0002ac8e)
-0x0002ac7e:
-[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
-
-Stack: [0xb7594000,0xb75e5000], sp=0xb75e3e9c, free space=319k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-C 0x0002ac8e
-j org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I+0
-j org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I+11
-j org.eclipse.swt.widgets.Display.sleep()Z+326
-j com.google.gwt.dev.GWTShell.sleep()V+4
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-V [libjvm.so+0x213560]
-V [libjvm.so+0x326f58]
-V [libjvm.so+0x2133bf]
-V [libjvm.so+0x2435c3]
-V [libjvm.so+0x23388c]
-C [java+0x1b98] JavaMain+0x2c8
-C [libpthread.so.0+0x64ff]
-
-Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
-j org.eclipse.swt.internal.gtk.OS._g_main_context_check(IIII)I+0
-j org.eclipse.swt.internal.gtk.OS.g_main_context_check(IIII)I+11
-j org.eclipse.swt.widgets.Display.sleep()Z+326
-j com.google.gwt.dev.GWTShell.sleep()V+4
-j com.google.gwt.dev.GWTShell.pumpEventLoop()V+23
-j com.google.gwt.dev.GWTShell.run()V+23
-j com.google.gwt.dev.GWTShell.main([Ljava/lang/String;)V+20
-v ~StubRoutines::call_stub
-
---------------- P R O C E S S ---------------
-
-Java Threads: ( => current thread )
- 0x0a360000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=9534, stack(0xb3b93000,0xb3be4000)]
- 0x0a198000 JavaThread "http-8888-Monitor" [_thread_blocked, id=9528, stack(0xb39fe000,0xb3a4f000)]
- 0x0a196800 JavaThread "http-8888-Processor4" daemon [_thread_blocked, id=9527, stack(0xb3a4f000,0xb3aa0000)]
- 0x0a195400 JavaThread "http-8888-Processor3" daemon [_thread_in_native, id=9526, stack(0xb3aa0000,0xb3af1000)]
- 0x0a190400 JavaThread "http-8888-Processor2" daemon [_thread_blocked, id=9525, stack(0xb3af1000,0xb3b42000)]
- 0x0a18d400 JavaThread "http-8888-Processor1" daemon [_thread_blocked, id=9524, stack(0xb3b42000,0xb3b93000)]
- 0x0a184000 JavaThread "ContainerBackgroundProcessor[StandardEngine[gwt]]" daemon [_thread_blocked, id=9523, stack(0xb3c7b000,0xb3ccc000)]
- 0x0a0f8400 JavaThread "Timer-0" daemon [_thread_blocked, id=9437, stack(0xb3c2a000,0xb3c7b000)]
- 0x09db8400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=9323, stack(0xb4dec000,0xb4e3d000)]
- 0x09db5400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=9320, stack(0xb4e3d000,0xb4ebe000)]
- 0x09db3800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=9316, stack(0xb4ebe000,0xb4f0f000)]
- 0x09da5400 JavaThread "Finalizer" daemon [_thread_blocked, id=9306, stack(0xb511e000,0xb516f000)]
- 0x09da0800 JavaThread "Reference Handler" daemon [_thread_blocked, id=9299, stack(0xb516f000,0xb51c0000)]
-=>0x09d7a800 JavaThread "main" [_thread_in_native, id=9289, stack(0xb7594000,0xb75e5000)]
-
-Other Threads:
- 0x09d9ec00 VMThread [stack: 0xb51c0000,0xb5241000] [id=9292]
- 0x09dba000 WatcherThread [stack: 0xb4d6b000,0xb4dec000] [id=9324]
-
-VM state:not at safepoint (normal execution)
-
-VM Mutex/Monitor currently owned by a thread: None
-
-Heap
- def new generation total 6016K, used 1210K [0x6f890000, 0x6ff10000, 0x71ff0000)
- eden space 5376K, 15% used [0x6f890000, 0x6f963d10, 0x6fdd0000)
- from space 640K, 56% used [0x6fe70000, 0x6fecad30, 0x6ff10000)
- to space 640K, 0% used [0x6fdd0000, 0x6fdd0000, 0x6fe70000)
- tenured generation total 79656K, used 62270K [0x71ff0000, 0x76dba000, 0x8f890000)
- the space 79656K, 78% used [0x71ff0000, 0x75cbfb60, 0x75cbfc00, 0x76dba000)
- compacting perm gen total 13568K, used 13550K [0x8f890000, 0x905d0000, 0x93890000)
- the space 13568K, 99% used [0x8f890000, 0x905cbbe8, 0x905cbc00, 0x905d0000)
- ro space 8192K, 74% used [0x93890000, 0x93e89cc8, 0x93e89e00, 0x94090000)
- rw space 12288K, 59% used [0x94090000, 0x947a7540, 0x947a7600, 0x94c90000)
-
-Dynamic libraries:
-08048000-08052000 r-xp 00000000 08:01 83627 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/bin/java
-08052000-08053000 rwxp 00009000 08:01 83627 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/bin/java
-09d74000-0a9d8000 rwxp 09d74000 00:00 0 [heap]
-6f890000-6ff10000 rwxp 6f890000 00:00 0
-6ff10000-71ff0000 rwxp 6ff10000 00:00 0
-71ff0000-76dba000 rwxp 71ff0000 00:00 0
-76dba000-8f890000 rwxp 76dba000 00:00 0
-8f890000-905d0000 rwxp 8f890000 00:00 0
-905d0000-93890000 rwxp 905d0000 00:00 0
-93890000-93e8a000 r-xs 00001000 08:01 24875 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/client/classes.jsa
-93e8a000-94090000 rwxp 93e8a000 00:00 0
-94090000-947a8000 rwxp 005fb000 08:01 24875 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/client/classes.jsa
-947a8000-94c90000 rwxp 947a8000 00:00 0
-94c90000-94d6e000 rwxp 00d13000 08:01 24875 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/client/classes.jsa
-94d6e000-95090000 rwxp 94d6e000 00:00 0
-95090000-95098000 r-xs 00df1000 08:01 24875 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/client/classes.jsa
-95098000-95490000 rwxp 95098000 00:00 0
-b037d000-b0384000 r-xs 00111000 08:01 84311 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/resources.jar
-b0384000-b03a5000 r-xp 00000000 08:01 120423 /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Bold.ttf
-b03a5000-b043d000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b043d000-b045e000 r-xp 00000000 08:01 120771 /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf
-b045e000-b0518000 r-xp 00000000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b0518000-b051c000 rwxp 000b9000 08:06 133226 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libeditor.so
-b051c000-b059b000 r-xp 00000000 08:01 83682 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libfontmanager.so
-b059b000-b05a6000 rwxp 0007e000 08:01 83682 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libfontmanager.so
-b05a6000-b05aa000 rwxp b05a6000 00:00 0
-b05aa000-b05ed000 r-xp 00000000 08:01 83677 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/xawt/libmawt.so
-b05ed000-b05ef000 rwxp 00043000 08:01 83677 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/xawt/libmawt.so
-b05ef000-b05f0000 rwxp b05ef000 00:00 0
-b05f0000-b0674000 r-xp 00000000 08:01 83674 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libawt.so
-b0674000-b067b000 rwxp 00084000 08:01 83674 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libawt.so
-b067b000-b069f000 rwxp b067b000 00:00 0
-b069f000-b06f0000 r-xp 00000000 08:01 42116 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf
-b06f0000-b06f1000 ---p b06f0000 00:00 0
-b06f1000-b0ef1000 rwxp b06f1000 00:00 0
-b0ef1000-b0f25000 r-xp 00000000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b0f25000-b0f27000 rwxp 00034000 08:06 133318 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libmork.so
-b0f27000-b0f2c000 r-xp 00000000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b0f2c000-b0f2d000 rwxp 00005000 08:06 133553 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpcom_compat_c.so
-b0f2d000-b0f42000 r-xp 00000000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b0f42000-b0f43000 rwxp 00015000 08:06 133513 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libprofile.so
-b0f43000-b0f5d000 r-xp 00000000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b0f5d000-b0f5e000 rwxp 0001a000 08:06 132123 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom_compat.so
-b0f5e000-b0f63000 r-xp 00000000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b0f63000-b0f64000 rwxp 00004000 08:06 133521 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtxmgr.so
-b0f64000-b0f67000 r-xs 00035000 08:01 83642 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/ext/sunpkcs11.jar
-b0f67000-b0f6a000 r-xs 000cb000 08:01 115067 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/ext/localedata.jar
-b0f6a000-b0f6c000 r-xs 00001000 08:01 115066 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/ext/dnsns.jar
-b0f6c000-b0f6d000 ---p b0f6c000 00:00 0
-b0f6d000-b176d000 rwxp b0f6d000 00:00 0
-b176d000-b1777000 r-xp 00000000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b1777000-b1778000 rwxp 00009000 08:06 133224 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcookie.so
-b1778000-b1779000 ---p b1778000 00:00 0
-b1779000-b1f79000 rwxp b1779000 00:00 0
-b1f79000-b1f84000 r-xp 00000000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b1f84000-b1f85000 rwxp 0000a000 08:06 133297 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjar50.so
-b1f85000-b1feb000 r-xp 00000000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b1feb000-b1fec000 r-xp 00065000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b1fec000-b1fee000 rwxp 00066000 08:01 2601 /lib/libgcrypt.so.11.4.4
-b1fee000-b1ffe000 r-xp 00000000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b1ffe000-b1fff000 r-xp 0000f000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b1fff000-b2000000 rwxp 00010000 08:01 10253 /usr/lib/libtasn1.so.3.0.16
-b2000000-b20c3000 r-xp 00000000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b20c3000-b20c5000 r-xp 000c2000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b20c5000-b20c8000 rwxp 000c4000 08:01 9435 /usr/lib/libasound.so.2.0.0
-b20c8000-b20cc000 r-xp 00000000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b20cc000-b20cd000 r-xp 00003000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b20cd000-b20ce000 rwxp 00004000 08:01 9349 /usr/lib/libORBitCosNaming-2.so.0.1.0
-b20ce000-b20dd000 r-xp 00000000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b20dd000-b20de000 r-xp 0000e000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b20de000-b20df000 rwxp 0000f000 08:01 9447 /usr/lib/libavahi-client.so.3.2.4
-b20df000-b20e9000 r-xp 00000000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b20e9000-b20ea000 r-xp 00009000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b20ea000-b20eb000 rwxp 0000a000 08:01 9449 /usr/lib/libavahi-common.so.3.5.0
-b20eb000-b2182000 r-xp 00000000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2182000-b2187000 r-xp 00097000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2187000-b2188000 rwxp 0009c000 08:01 9769 /usr/lib/libgnutls.so.26.4.6
-b2188000-b22bd000 r-xp 00000000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b22bd000-b22be000 ---p 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b22be000-b22c2000 r-xp 00135000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b22c2000-b22c3000 rwxp 00139000 08:01 10335 /usr/lib/libxml2.so.2.6.32
-b22c3000-b22c4000 rwxp b22c3000 00:00 0
-b22c4000-b22cc000 r-xp 00000000 08:01 2653 /lib/libpopt.so.0.0.0
-b22cc000-b22cd000 r-xp 00007000 08:01 2653 /lib/libpopt.so.0.0.0
-b22cd000-b22ce000 rwxp 00008000 08:01 2653 /lib/libpopt.so.0.0.0
-b22ce000-b22f0000 r-xp 00000000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b22f0000-b22f3000 rwxp 00021000 08:01 9445 /usr/lib/libaudiofile.so.0.0.2
-b22f3000-b22fc000 r-xp 00000000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b22fc000-b22fd000 r-xp 00008000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b22fd000-b22fe000 rwxp 00009000 08:01 9604 /usr/lib/libesd.so.0.2.39
-b22fe000-b2311000 r-xp 00000000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2311000-b2312000 r-xp 00012000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2312000-b2313000 rwxp 00013000 08:01 9472 /usr/lib/libbonobo-activation.so.4.0.0
-b2313000-b2314000 rwxp b2313000 00:00 0
-b2314000-b2366000 r-xp 00000000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2366000-b2369000 r-xp 00051000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2369000-b2370000 rwxp 00054000 08:01 9470 /usr/lib/libbonobo-2.so.0.0.0
-b2370000-b23c9000 r-xp 00000000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b23c9000-b23cb000 r-xp 00058000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b23cb000-b23cc000 rwxp 0005a000 08:01 9763 /usr/lib/libgnomevfs-2.so.0.2400.1
-b23cc000-b23cd000 rwxp b23cc000 00:00 0
-b23cd000-b23e1000 r-xp 00000000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b23e1000-b23e2000 r-xp 00013000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b23e2000-b23e3000 rwxp 00014000 08:01 9733 /usr/lib/libgnome-2.so.0.2600.0
-b23e4000-b23eb000 r-xp 00000000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b23eb000-b23ec000 rwxp 00006000 08:06 133495 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libp3p.so
-b23ec000-b23f5000 r-xp 00000000 08:01 76354 /usr/share/locale-langpack/fr/LC_MESSAGES/libgnome-2.0.mo
-b23f5000-b24b0000 r-xp 00000000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b24b0000-b24b6000 rwxp 000bb000 08:06 133523 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libuconv.so
-b24b6000-b24c0000 rwxp b24b6000 00:00 0
-b24c0000-b2519000 r-xp 00000000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b2519000-b251e000 rwxp 00058000 08:06 133285 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libhtmlpars.so
-b251e000-b2535000 r-xp 00000000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2535000-b2536000 rwxp 00017000 08:06 133206 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libchrome.so
-b2536000-b255f000 r-xp 00000000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b255f000-b2561000 rwxp 00028000 08:06 133240 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgkplugin.so
-b2561000-b2579000 r-xp 00000000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b2579000-b257a000 rwxp 00017000 08:06 133486 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/liboji.so
-b257a000-b2593000 r-xp 00000000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2593000-b2595000 rwxp 00018000 08:06 132139 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libjsj.so
-b2595000-b259c000 r-xp 00000000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b259c000-b259d000 rwxp 00007000 08:06 133497 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpipboot.so
-b259d000-b2610000 r-xp 00000000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2610000-b2613000 rwxp 00073000 08:06 133176 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libappcomps.so
-b2613000-b265f000 r-xp 00000000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b265f000-b2662000 rwxp 0004c000 08:06 133225 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libdocshell.so
-b2662000-b2693000 r-xp 00000000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2693000-b2695000 rwxp 00031000 08:06 133238 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgfx_gtk.so
-b2695000-b26a6000 r-xp 00000000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b26a6000-b26a7000 rwxp 00011000 08:06 133547 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwebbrwsr.so
-b26a7000-b26dd000 r-xp 00000000 08:01 74453 /lib/libdbus-1.so.3.4.0
-b26dd000-b26de000 r-xp 00035000 08:01 74453 /lib/libdbus-1.so.3.4.0
-b26de000-b26df000 rwxp 00036000 08:01 74453 /lib/libdbus-1.so.3.4.0
-b26df000-b26fb000 r-xp 00000000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b26fb000-b26fc000 r-xp 0001b000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b26fc000-b26fd000 rwxp 0001c000 08:01 9550 /usr/lib/libdbus-glib-1.so.2.1.0
-b26fd000-b2746000 r-xp 00000000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b2746000-b274e000 r-xp 00049000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b274e000-b2750000 rwxp 00051000 08:01 9345 /usr/lib/libORBit-2.so.0.1.0
-b2750000-b277e000 r-xp 00000000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b277e000-b277f000 ---p 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b277f000-b2780000 r-xp 0002e000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b2780000-b2782000 rwxp 0002f000 08:01 9653 /usr/lib/libgconf-2.so.4.1.5
-b2782000-b27aa000 r-xp 00000000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b27aa000-b27ad000 rwxp 00028000 08:06 133551 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libwidget_gtk2.so
-b27ad000-b27b0000 r-xp 00000000 08:01 2688 /lib/libuuid.so.1.2
-b27b0000-b27b1000 r-xp 00002000 08:01 2688 /lib/libuuid.so.1.2
-b27b1000-b27b2000 rwxp 00003000 08:01 2688 /lib/libuuid.so.1.2
-b27b2000-b27c7000 r-xp 00000000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b27c7000-b27c8000 rwxp 00014000 08:01 9322 /usr/lib/libICE.so.6.3.0
-b27c8000-b27ca000 rwxp b27c8000 00:00 0
-b27ca000-b2819000 r-xp 00000000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b2819000-b281a000 r-xp 0004f000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b281a000-b281d000 rwxp 00050000 08:01 9400 /usr/lib/libXt.so.6.0.0
-b281d000-b2820000 r-xp 00000000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b2820000-b2821000 rwxp 00002000 08:01 2603 /lib/libgpg-error.so.0.3.0
-b2821000-b282e000 r-xp 00000000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b282e000-b282f000 rwxp 0000c000 08:06 133057 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libgwt-ll.so
-b282f000-b2842000 r-xp 00000000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b2842000-b2843000 rwxp 00013000 08:06 133303 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libjsd.so
-b2843000-b286c000 r-xp 00000000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b286c000-b286e000 rwxp 00028000 08:06 133514 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/librdf.so
-b286e000-b289b000 r-xp 00000000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b289b000-b289c000 rwxp 0002d000 08:06 133288 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libimglib2.so
-b289c000-b28d4000 r-xp 00000000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b28d4000-b28d7000 rwxp 00037000 08:06 133287 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libi18n.so
-b28d7000-b28d8000 ---p b28d7000 00:00 0
-b28d8000-b30d8000 rwxp b28d8000 00:00 0
-b30d8000-b311c000 r-xp 00000000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b311c000-b311f000 rwxp 00043000 08:06 133554 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libxpconnect.so
-b311f000-b3120000 rwxp b311f000 00:00 0
-b3120000-b3135000 r-xp 00000000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3135000-b3136000 rwxp 00014000 08:06 133203 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libcaps.so
-b3136000-b3148000 r-xp 00000000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3148000-b3149000 r-xp 00011000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b3149000-b314a000 rwxp 00012000 08:01 9380 /usr/lib/libXft.so.2.1.13
-b314a000-b3155000 r-xp 00000000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3155000-b3156000 r-xp 0000a000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3156000-b3157000 rwxp 0000b000 08:01 10088 /usr/lib/libpangox-1.0.so.0.2400.1
-b3157000-b3159000 r-xp 00000000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b3159000-b315a000 r-xp 00001000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b315a000-b315b000 rwxp 00002000 08:01 6211 /lib/tls/i686/cmov/libutil-2.9.so
-b315b000-b3162000 r-xp 00000000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3162000-b3163000 r-xp 00006000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3163000-b3164000 rwxp 00007000 08:01 9353 /usr/lib/libSM.so.6.0.0
-b3164000-b3168000 r-xp 00000000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3168000-b3169000 rwxp 00003000 08:06 132140 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgtkxtbin.so
-b3169000-b35e5000 r-xp 00000000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b35e5000-b3620000 rwxp 0047c000 08:06 133239 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libgklayout.so
-b3620000-b3626000 rwxp b3620000 00:00 0
-b3626000-b36eb000 r-xp 00000000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b36eb000-b36f1000 rwxp 000c4000 08:06 133466 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libnecko.so
-b36f1000-b36fd000 r-xp 00000000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b36fd000-b36ff000 rwxp 0000b000 08:06 132136 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozz.so
-b36ff000-b3710000 r-xp 00000000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b3710000-b3711000 rwxp 00011000 08:06 133512 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libpref.so
-b3711000-b37f5000 r-xp 00000000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b37f5000-b37f9000 r-xp 000e3000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b37f9000-b37fa000 rwxp 000e7000 08:01 10246 /usr/lib/libstdc++.so.6.0.10
-b37fa000-b3800000 rwxp b37fa000 00:00 0
-b3800000-b386d000 rwxp b3800000 00:00 0
-b386d000-b3900000 ---p b386d000 00:00 0
-b3900000-b3903000 r-xs 00027000 08:01 115065 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/ext/sunjce_provider.jar
-b3903000-b3908000 r-xp 00000000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b3908000-b3909000 rwxp 00005000 08:06 133517 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libsystem-pref.so
-b3909000-b3918000 r-xp 00000000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b3918000-b3919000 rwxp 0000e000 08:06 133522 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libtypeaheadfind.so
-b3919000-b3944000 r-xp 00000000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b3944000-b3946000 rwxp 0002a000 08:06 133233 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/components/libembedcomponents.so
-b3946000-b39c4000 r-xp 00000000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b39c4000-b39c8000 rwxp 0007e000 08:06 132137 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libmozjs.so
-b39c8000-b39e9000 r-xp 00000000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b39e9000-b39ea000 rwxp 00021000 08:06 132142 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libgkgfx.so
-b39ea000-b39fd000 r-xp 00000000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b39fd000-b39fe000 rwxp 00012000 08:06 133053 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla-gtk-3235.so
-b39fe000-b3a01000 ---p b39fe000 00:00 0
-b3a01000-b3a4f000 rwxp b3a01000 00:00 0
-b3a4f000-b3a52000 ---p b3a4f000 00:00 0
-b3a52000-b3aa0000 rwxp b3a52000 00:00 0
-b3aa0000-b3aa3000 ---p b3aa0000 00:00 0
-b3aa3000-b3af1000 rwxp b3aa3000 00:00 0
-b3af1000-b3af4000 ---p b3af1000 00:00 0
-b3af4000-b3b42000 rwxp b3af4000 00:00 0
-b3b42000-b3b45000 ---p b3b42000 00:00 0
-b3b45000-b3b93000 rwxp b3b45000 00:00 0
-b3b93000-b3b96000 ---p b3b93000 00:00 0
-b3b96000-b3be4000 rwxp b3b96000 00:00 0
-b3be4000-b3bf6000 r-xp 00000000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b3bf6000-b3bf7000 r-xp 00011000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b3bf7000-b3bf8000 rwxp 00012000 08:01 6205 /lib/tls/i686/cmov/libresolv-2.9.so
-b3bf8000-b3bfa000 rwxp b3bf8000 00:00 0
-b3bfa000-b3bff000 r-xp 00000000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b3bff000-b3c00000 r-xp 00004000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b3c00000-b3c01000 rwxp 00005000 08:01 6192 /lib/tls/i686/cmov/libnss_dns-2.9.so
-b3c01000-b3c03000 r-xp 00000000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b3c03000-b3c04000 rwxp 00001000 08:01 2629 /lib/libnss_mdns4_minimal.so.2
-b3c04000-b3c06000 r-xp 00000000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b3c06000-b3c07000 r-xp 00001000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b3c07000-b3c08000 rwxp 00002000 08:01 9453 /usr/lib/libavahi-glib.so.1.0.1
-b3c08000-b3c0e000 r-xp 00000000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3c0e000-b3c0f000 r-xp 00005000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3c0f000-b3c10000 rwxp 00006000 08:01 10090 /usr/lib/libpangoxft-1.0.so.0.2400.1
-b3c10000-b3c15000 r-xp 00000000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b3c15000-b3c16000 rwxp 00004000 08:06 133051 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-mozilla17-profile-gtk-3235.so
-b3c16000-b3c29000 r-xp 00000000 08:01 83663 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libnet.so
-b3c29000-b3c2a000 rwxp 00013000 08:01 83663 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libnet.so
-b3c2a000-b3c2d000 ---p b3c2a000 00:00 0
-b3c2d000-b3c7b000 rwxp b3c2d000 00:00 0
-b3c7b000-b3c7e000 ---p b3c7b000 00:00 0
-b3c7e000-b3ccc000 rwxp b3c7e000 00:00 0
-b3ccc000-b3d2c000 rwxs 00000000 00:09 8486940 /SYSV00000000 (deleted)
-b3d2c000-b3dc4000 r-xp 00000000 08:01 42112 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
-b3dc4000-b3dc6000 r-xp 00000000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b3dc6000-b3dc7000 r-xp 00001000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b3dc7000-b3dc8000 rwxp 00002000 08:01 18012 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
-b3dc8000-b3dce000 r-xs 00000000 08:01 107678 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
-b3dce000-b3dd1000 r-xs 00000000 08:01 107687 /var/cache/fontconfig/e383d7ea5fbe662a33d9b44caf393297-x86.cache-2
-b3dd1000-b3dd4000 r-xs 00000000 08:01 122740 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-x86.cache-2
-b3dd4000-b3dd5000 r-xs 00000000 08:01 107673 /var/cache/fontconfig/4c73fe0c47614734b17d736dbde7580a-x86.cache-2
-b3dd5000-b3dd8000 r-xs 00000000 08:01 107679 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-x86.cache-2
-b3dd8000-b3ddb000 r-xs 00000000 08:01 107675 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
-b3ddb000-b3dde000 r-xs 00000000 08:01 107685 /var/cache/fontconfig/de156ccd2eddbdc19d37a45b8b2aac9c-x86.cache-2
-b3dde000-b3de6000 r-xs 00000000 08:01 107688 /var/cache/fontconfig/e3de0de479f42330eadf588a55fb5bf4-x86.cache-2
-b3de6000-b3df1000 r-xs 00000000 08:01 107668 /var/cache/fontconfig/0f34bcd4b6ee430af32735b75db7f02b-x86.cache-2
-b3df1000-b3df3000 r-xs 00000000 08:01 107684 /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-x86.cache-2
-b3df3000-b3df4000 r-xs 00000000 08:01 107671 /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-x86.cache-2
-b3df4000-b3dfb000 r-xs 00000000 08:01 107682 /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-x86.cache-2
-b3dfb000-b3e01000 r-xs 00000000 08:01 107667 /var/cache/fontconfig/089dead882dea3570ffc31a9898cfb69-x86.cache-2
-b3e01000-b3e0e000 r-xs 00000000 08:01 163217 /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-x86.cache-2
-b3e0e000-b3e10000 r-xs 00000000 08:01 122742 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2
-b3e10000-b3e1e000 r-xs 00000000 08:01 163215 /var/cache/fontconfig/865f88548240fee46819705c6468c165-x86.cache-2
-b3e1e000-b3e29000 r-xp 00000000 08:01 76265 /usr/share/locale-langpack/fr/LC_MESSAGES/glib20.mo
-b3e29000-b3e4f000 r-xp 00000000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b3e4f000-b3e51000 rwxp 00025000 08:06 133056 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-gtk-3235.so
-b3e51000-b3e52000 rwxp b3e51000 00:00 0
-b3e52000-b3e7a000 r-xp 00000000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b3e7a000-b3e7b000 r-xp 00027000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b3e7b000-b3e7c000 rwxp 00028000 08:01 12656 /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
-b3e7c000-b3e9e000 r-xp 00000000 08:01 76349 /usr/share/locale-langpack/fr/LC_MESSAGES/libc.mo
-b3e9e000-b3ea5000 r-xp 00000000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b3ea5000-b3ea6000 r-xp 00006000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b3ea6000-b3ea7000 rwxp 00007000 08:01 9982 /usr/lib/libltdl.so.7.2.0
-b3ea7000-b3eb3000 r-xp 00000000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b3eb3000-b3eb4000 r-xp 0000b000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b3eb4000-b3eb5000 rwxp 0000c000 08:01 10255 /usr/lib/libtdb.so.1.1.3
-b3eb5000-b3eb9000 r-xp 00000000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b3eb9000-b3eba000 r-xp 00003000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b3eba000-b3ebb000 rwxp 00004000 08:01 10062 /usr/lib/libogg.so.0.5.3
-b3ebb000-b3ed6000 r-xp 00000000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b3ed6000-b3ed7000 r-xp 0001a000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b3ed7000-b3ee5000 rwxp 0001b000 08:01 10296 /usr/lib/libvorbis.so.0.4.0
-b3ee5000-b3eec000 r-xp 00000000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b3eec000-b3eed000 r-xp 00006000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b3eed000-b3eee000 rwxp 00007000 08:01 10300 /usr/lib/libvorbisfile.so.3.2.0
-b3eee000-b3efb000 r-xp 00000000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b3efb000-b3efc000 r-xp 0000d000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b3efc000-b3efd000 rwxp 0000e000 08:01 9496 /usr/lib/libcanberra.so.0.1.4
-b3efd000-b3f00000 r-xp 00000000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b3f00000-b3f01000 r-xp 00002000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b3f01000-b3f02000 rwxp 00003000 08:01 9494 /usr/lib/libcanberra-gtk.so.0.0.4
-b3f03000-b3f05000 r-xp 00000000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b3f05000-b3f06000 r-xp 00001000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b3f06000-b3f07000 rwxp 00002000 08:01 11971 /usr/lib/gconv/UTF-16.so
-b3f07000-b3f08000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b3f08000-b3f09000 r-xp 00000000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b3f09000-b3f0a000 rwxp 00001000 08:01 12672 /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so
-b3f0a000-b3f12000 r-xp 00000000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b3f12000-b3f13000 r-xp 00007000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b3f13000-b3f14000 rwxp 00008000 08:01 12664 /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so
-b3f14000-b3f18000 r-xp 00000000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b3f18000-b3f19000 r-xp 00003000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b3f19000-b3f1a000 rwxp 00004000 08:01 12710 /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
-b3f1a000-b3f42000 r-xp 00000000 08:01 76309 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20-properties.mo
-b3f42000-b402d000 r-xp 00000000 08:01 13735 /usr/lib/locale/fr_FR.utf8/LC_COLLATE
-b402d000-b403a000 r-xp 00000000 08:01 2599 /lib/libgcc_s.so.1
-b403a000-b403b000 r-xp 0000c000 08:01 2599 /lib/libgcc_s.so.1
-b403b000-b403c000 rwxp 0000d000 08:01 2599 /lib/libgcc_s.so.1
-b403c000-b40ec000 r-xp 00000000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b40ec000-b40f1000 rwxp 000af000 08:01 163682 /usr/lib/libstdc++.so.5.0.7
-b40f1000-b40f6000 rwxp b40f1000 00:00 0
-b40f6000-b40f7000 r-xp b40f6000 00:00 0
-b40f7000-b4108000 r-xp 00000000 08:01 76310 /usr/share/locale-langpack/fr/LC_MESSAGES/gtk20.mo
-b4108000-b41ba000 r-xp 00000000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b41ba000-b41c0000 rwxp 000b2000 08:06 132124 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libxpcom.so
-b41c0000-b41f1000 r-xp 00000000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b41f1000-b41f3000 rwxp 00031000 08:06 132134 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libnspr4.so
-b41f3000-b41f4000 rwxp b41f3000 00:00 0
-b41f4000-b41f8000 r-xp 00000000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b41f8000-b41f9000 rwxp 00003000 08:01 9372 /usr/lib/libXdmcp.so.6.0.0
-b41f9000-b421d000 r-xp 00000000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b421d000-b421f000 r-xp 00023000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b421f000-b4220000 rwxp 00025000 08:01 9618 /usr/lib/libexpat.so.1.5.2
-b4220000-b4238000 r-xp 00000000 08:01 2663 /lib/libselinux.so.1
-b4238000-b4239000 r-xp 00017000 08:01 2663 /lib/libselinux.so.1
-b4239000-b423a000 rwxp 00018000 08:01 2663 /lib/libselinux.so.1
-b423a000-b4240000 r-xp 00000000 08:01 81186 /usr/lib/libxcb-render.so.0.0.0
-b4240000-b4241000 r-xp 00005000 08:01 81186 /usr/lib/libxcb-render.so.0.0.0
-b4241000-b4242000 rwxp 00006000 08:01 81186 /usr/lib/libxcb-render.so.0.0.0
-b4242000-b4245000 r-xp 00000000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4245000-b4246000 r-xp 00002000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4246000-b4247000 rwxp 00003000 08:01 10325 /usr/lib/libxcb-render-util.so.0.0.0
-b4247000-b426b000 r-xp 00000000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b426b000-b426c000 r-xp 00023000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b426c000-b426d000 rwxp 00024000 08:01 10116 /usr/lib/libpng12.so.0.27.0
-b426d000-b4280000 r-xp 00000000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4280000-b4281000 r-xp 00012000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4281000-b4282000 rwxp 00013000 08:01 9558 /usr/lib/libdirect-1.0.so.0.1.0
-b4282000-b4289000 r-xp 00000000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b4289000-b428a000 r-xp 00006000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b428a000-b428b000 rwxp 00007000 08:01 9640 /usr/lib/libfusion-1.0.so.0.1.0
-b428b000-b42ef000 r-xp 00000000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b42ef000-b42f0000 r-xp 00063000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b42f0000-b42f1000 rwxp 00064000 08:01 9560 /usr/lib/libdirectfb-1.0.so.0.1.0
-b42f1000-b4331000 r-xp 00000000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4331000-b4333000 r-xp 0003f000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4333000-b4334000 rwxp 00041000 08:01 10110 /usr/lib/libpixman-1.so.0.13.2
-b4334000-b434c000 r-xp 00000000 08:01 33944 /usr/lib/libxcb.so.1.1.0
-b434c000-b434d000 r-xp 00017000 08:01 33944 /usr/lib/libxcb.so.1.1.0
-b434d000-b434e000 rwxp 00018000 08:01 33944 /usr/lib/libxcb.so.1.1.0
-b434e000-b4350000 r-xp 00000000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4350000-b4351000 r-xp 00001000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4351000-b4352000 rwxp 00002000 08:01 9361 /usr/lib/libXau.so.6.0.0
-b4352000-b4382000 r-xp 00000000 08:01 2649 /lib/libpcre.so.3.12.1
-b4382000-b4383000 r-xp 0002f000 08:01 2649 /lib/libpcre.so.3.12.1
-b4383000-b4384000 rwxp 00030000 08:01 2649 /lib/libpcre.so.3.12.1
-b4384000-b443a000 r-xp 00000000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b443a000-b443b000 r-xp 000b5000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b443b000-b443c000 rwxp 000b6000 08:01 9717 /usr/lib/libglib-2.0.so.0.2000.1
-b443c000-b443f000 r-xp 00000000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b443f000-b4440000 r-xp 00002000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4440000-b4441000 rwxp 00003000 08:01 9729 /usr/lib/libgmodule-2.0.so.0.2000.1
-b4441000-b447d000 r-xp 00000000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b447d000-b447e000 r-xp 0003b000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b447e000-b447f000 rwxp 0003c000 08:01 9771 /usr/lib/libgobject-2.0.so.0.2000.1
-b447f000-b44aa000 r-xp 00000000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b44aa000-b44ab000 r-xp 0002a000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b44ab000-b44ac000 rwxp 0002b000 08:01 9628 /usr/lib/libfontconfig.so.1.3.0
-b44ac000-b44c0000 r-xp 00000000 08:01 2695 /lib/libz.so.1.2.3.3
-b44c0000-b44c1000 r-xp 00013000 08:01 2695 /lib/libz.so.1.2.3.3
-b44c1000-b44c2000 rwxp 00014000 08:01 2695 /lib/libz.so.1.2.3.3
-b44c2000-b4534000 r-xp 00000000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4534000-b4538000 r-xp 00071000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4538000-b4539000 rwxp 00075000 08:01 6233 /usr/lib/libfreetype.so.6.3.20
-b4539000-b4579000 r-xp 00000000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b4579000-b457a000 ---p 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b457a000-b457b000 r-xp 00040000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b457b000-b457c000 rwxp 00041000 08:01 10080 /usr/lib/libpango-1.0.so.0.2400.1
-b457c000-b45a3000 r-xp 00000000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b45a3000-b45a4000 r-xp 00026000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b45a4000-b45a5000 rwxp 00027000 08:01 10084 /usr/lib/libpangoft2-1.0.so.0.2400.1
-b45a5000-b4610000 r-xp 00000000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4610000-b4611000 ---p 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4611000-b4612000 r-xp 0006b000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4612000-b4613000 rwxp 0006c000 08:01 9709 /usr/lib/libgio-2.0.so.0.2000.1
-b4613000-b468a000 r-xp 00000000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b468a000-b468c000 r-xp 00076000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b468c000-b468d000 rwxp 00078000 08:01 9486 /usr/lib/libcairo.so.2.10800.6
-b468d000-b46a6000 r-xp 00000000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b46a6000-b46a7000 r-xp 00019000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b46a7000-b46a8000 rwxp 0001a000 08:01 9441 /usr/lib/libatk-1.0.so.0.2609.1
-b46a8000-b46ac000 r-xp 00000000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b46ac000-b46ad000 rwxp 00003000 08:01 9376 /usr/lib/libXfixes.so.3.1.0
-b46ad000-b46af000 r-xp 00000000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b46af000-b46b0000 rwxp 00001000 08:01 9370 /usr/lib/libXdamage.so.1.1.0
-b46b0000-b479a000 r-xp 00000000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b479a000-b479b000 ---p 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b479b000-b479c000 r-xp 000ea000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b479c000-b479e000 rwxp 000eb000 08:01 9355 /usr/lib/libX11.so.6.2.0
-b479e000-b479f000 rwxp b479e000 00:00 0
-b479f000-b47a9000 r-xp 00000000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b47a9000-b47aa000 r-xp 00009000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b47aa000-b47ab000 rwxp 0000a000 08:01 10082 /usr/lib/libpangocairo-1.0.so.0.2400.1
-b47ab000-b47c3000 r-xp 00000000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b47c3000-b47c4000 r-xp 00017000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b47c4000-b47c5000 rwxp 00018000 08:01 9674 /usr/lib/libgdk_pixbuf-2.0.so.0.1600.1
-b47c5000-b47cd000 r-xp 00000000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b47cd000-b47ce000 rwxp 00007000 08:01 9368 /usr/lib/libXcursor.so.1.0.2
-b47ce000-b47d4000 r-xp 00000000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b47d4000-b47d5000 r-xp 00006000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b47d5000-b47d6000 rwxp 00007000 08:01 9394 /usr/lib/libXrandr.so.2.2.0
-b47d6000-b47de000 r-xp 00000000 08:01 30975 /usr/lib/libXi.so.6.0.0
-b47de000-b47df000 r-xp 00007000 08:01 30975 /usr/lib/libXi.so.6.0.0
-b47df000-b47e0000 rwxp 00008000 08:01 30975 /usr/lib/libXi.so.6.0.0
-b47e0000-b47e8000 r-xp 00000000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b47e8000-b47e9000 r-xp 00007000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b47e9000-b47ea000 rwxp 00008000 08:01 9396 /usr/lib/libXrender.so.1.3.0
-b47ea000-b47f8000 r-xp 00000000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b47f8000-b47f9000 r-xp 0000d000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b47f9000-b47fa000 rwxp 0000e000 08:01 9374 /usr/lib/libXext.so.6.4.0
-b47fa000-b4883000 r-xp 00000000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b4883000-b4884000 ---p 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b4884000-b4886000 r-xp 00089000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b4886000-b4887000 rwxp 0008b000 08:01 9672 /usr/lib/libgdk-x11-2.0.so.0.1600.1
-b4887000-b488b000 r-xp 00000000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b488b000-b488c000 r-xp 00004000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b488c000-b488d000 rwxp 00005000 08:01 9402 /usr/lib/libXtst.so.6.1.0
-b488d000-b4891000 r-xp 00000000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b4891000-b4892000 r-xp 00003000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b4892000-b4893000 rwxp 00004000 08:01 9849 /usr/lib/libgthread-2.0.so.0.2000.1
-b4893000-b4c3c000 r-xp 00000000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b4c3c000-b4c40000 r-xp 003a8000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b4c40000-b4c42000 rwxp 003ac000 08:01 9853 /usr/lib/libgtk-x11-2.0.so.0.1600.1
-b4c42000-b4c45000 rwxp b4c42000 00:00 0
-b4c45000-b4c48000 rwxs 00000000 00:09 8519711 /SYSV00000000 (deleted)
-b4c48000-b4c49000 r-xp 00000000 08:01 13715 /usr/lib/locale/fr_FR.utf8/LC_NUMERIC
-b4c49000-b4c4a000 r-xp 00000000 08:01 13718 /usr/lib/locale/fr_FR.utf8/LC_TIME
-b4c4a000-b4c4b000 r-xp 00000000 08:01 13709 /usr/lib/locale/fr_FR.utf8/LC_MONETARY
-b4c4b000-b4c4c000 r-xp 00000000 08:01 13693 /usr/lib/locale/fr_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-b4c4c000-b4c4d000 r-xp 00000000 08:01 13742 /usr/lib/locale/fr_FR.utf8/LC_PAPER
-b4c4d000-b4c4e000 r-xp 00000000 08:01 13701 /usr/lib/locale/fr_FR.utf8/LC_NAME
-b4c4e000-b4c50000 r-xp 00000000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b4c50000-b4c51000 rwxp 00002000 08:06 132130 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplds4.so
-b4c51000-b4c55000 r-xp 00000000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b4c55000-b4c56000 rwxp 00003000 08:06 132131 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/mozilla-1.7.12/libplc4.so
-b4c56000-b4ca0000 r-xp 00000000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b4ca0000-b4ca2000 rwxp 0004a000 08:06 133050 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/libswt-pi-gtk-3235.so
-b4ca2000-b4d22000 r-xs 00903000 08:06 131558 /home/kevin/.m2/repository/com/google/gwt/gwt-dev/1.5.3/gwt-dev-1.5.3-linux.jar
-b4d22000-b4d6b000 r-xs 00297000 08:06 131547 /home/kevin/.m2/repository/com/google/gwt/gwt-user/1.5.3/gwt-user-1.5.3.jar
-b4d6b000-b4d6c000 ---p b4d6b000 00:00 0
-b4d6c000-b4dec000 rwxp b4d6c000 00:00 0
-b4dec000-b4def000 ---p b4dec000 00:00 0
-b4def000-b4e3d000 rwxp b4def000 00:00 0
-b4e3d000-b4e40000 ---p b4e3d000 00:00 0
-b4e40000-b4ebe000 rwxp b4e40000 00:00 0
-b4ebe000-b4ec1000 ---p b4ebe000 00:00 0
-b4ec1000-b4f42000 rwxp b4ec1000 00:00 0
-b4f42000-b50d8000 r-xs 02fb1000 08:01 109444 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/rt.jar
-b50d8000-b50df000 r-xs 00000000 08:01 11976 /usr/lib/gconv/gconv-modules.cache
-b50df000-b511e000 r-xp 00000000 08:01 13736 /usr/lib/locale/fr_FR.utf8/LC_CTYPE
-b511e000-b5121000 ---p b511e000 00:00 0
-b5121000-b516f000 rwxp b5121000 00:00 0
-b516f000-b5172000 ---p b516f000 00:00 0
-b5172000-b51c0000 rwxp b5172000 00:00 0
-b51c0000-b51c1000 ---p b51c0000 00:00 0
-b51c1000-b524f000 rwxp b51c1000 00:00 0
-b524f000-b5269000 rwxp b524f000 00:00 0
-b5269000-b5290000 rwxp b5269000 00:00 0
-b5290000-b5356000 rwxp b5290000 00:00 0
-b5356000-b535a000 rwxp b5356000 00:00 0
-b535a000-b5369000 rwxp b535a000 00:00 0
-b5369000-b5391000 rwxp b5369000 00:00 0
-b5391000-b5456000 rwxp b5391000 00:00 0
-b5456000-b545d000 rwxp b5456000 00:00 0
-b545d000-b5476000 rwxp b545d000 00:00 0
-b5476000-b5493000 rwxp b5476000 00:00 0
-b5493000-b5501000 rwxp b5493000 00:00 0
-b5501000-b5949000 rwxp b5501000 00:00 0
-b5949000-b7501000 rwxp b5949000 00:00 0
-b7501000-b7510000 r-xp 00000000 08:01 83659 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libzip.so
-b7510000-b7512000 rwxp 0000e000 08:01 83659 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libzip.so
-b7512000-b751c000 r-xp 00000000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b751c000-b751d000 r-xp 00009000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b751d000-b751e000 rwxp 0000a000 08:01 6194 /lib/tls/i686/cmov/libnss_files-2.9.so
-b751e000-b7527000 r-xp 00000000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7527000-b7528000 r-xp 00008000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7528000-b7529000 rwxp 00009000 08:01 6198 /lib/tls/i686/cmov/libnss_nis-2.9.so
-b7529000-b752a000 r-xp 00000000 08:01 13708 /usr/lib/locale/fr_FR.utf8/LC_ADDRESS
-b752a000-b752c000 r-xp 00000000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b752c000-b752d000 r-xp 00001000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b752d000-b752e000 rwxp 00002000 08:01 9366 /usr/lib/libXcomposite.so.1.0.0
-b752e000-b7533000 rwxp b752e000 00:00 0
-b7533000-b753b000 rwxs 00000000 08:01 10893 /tmp/hsperfdata_kevin/9288
-b753b000-b7550000 r-xp 00000000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7550000-b7551000 r-xp 00014000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7551000-b7552000 rwxp 00015000 08:01 6188 /lib/tls/i686/cmov/libnsl-2.9.so
-b7552000-b7554000 rwxp b7552000 00:00 0
-b7554000-b7555000 r-xp 00000000 08:01 13713 /usr/lib/locale/fr_FR.utf8/LC_TELEPHONE
-b7555000-b7556000 r-xp 00000000 08:01 13738 /usr/lib/locale/fr_FR.utf8/LC_MEASUREMENT
-b7556000-b755d000 r-xp 00000000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b755d000-b755e000 r-xp 00006000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b755e000-b755f000 rwxp 00007000 08:01 6190 /lib/tls/i686/cmov/libnss_compat-2.9.so
-b755f000-b7565000 r-xp 00000000 08:01 83645 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/native_threads/libhpi.so
-b7565000-b7566000 rwxp 00006000 08:01 83645 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/native_threads/libhpi.so
-b7566000-b7589000 r-xp 00000000 08:01 83656 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libjava.so
-b7589000-b758b000 rwxp 00023000 08:01 83656 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libjava.so
-b758b000-b7592000 r-xp 00000000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7592000-b7593000 r-xp 00006000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7593000-b7594000 rwxp 00007000 08:01 6207 /lib/tls/i686/cmov/librt-2.9.so
-b7594000-b7597000 ---p b7594000 00:00 0
-b7597000-b75e5000 rwxp b7597000 00:00 0
-b75e5000-b7609000 r-xp 00000000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b7609000-b760a000 r-xp 00023000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b760a000-b760b000 rwxp 00024000 08:01 6185 /lib/tls/i686/cmov/libm-2.9.so
-b760b000-b7a70000 r-xp 00000000 08:01 83651 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/client/libjvm.so
-b7a70000-b7a90000 rwxp 00465000 08:01 83651 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/client/libjvm.so
-b7a90000-b7eb1000 rwxp b7a90000 00:00 0
-b7eb1000-b800d000 r-xp 00000000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b800d000-b800e000 ---p 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b800e000-b8010000 r-xp 0015c000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b8010000-b8011000 rwxp 0015e000 08:01 6177 /lib/tls/i686/cmov/libc-2.9.so
-b8011000-b8014000 rwxp b8011000 00:00 0
-b8014000-b8016000 r-xp 00000000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b8016000-b8017000 r-xp 00001000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b8017000-b8018000 rwxp 00002000 08:01 6183 /lib/tls/i686/cmov/libdl-2.9.so
-b8018000-b801f000 r-xp 00000000 08:01 83658 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/jli/libjli.so
-b801f000-b8021000 rwxp 00006000 08:01 83658 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/jli/libjli.so
-b8021000-b8022000 rwxp b8021000 00:00 0
-b8022000-b8037000 r-xp 00000000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b8037000-b8038000 r-xp 00014000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b8038000-b8039000 rwxp 00015000 08:01 6203 /lib/tls/i686/cmov/libpthread-2.9.so
-b8039000-b803b000 rwxp b8039000 00:00 0
-b803b000-b803c000 r-xp 00000000 08:01 13711 /usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION
-b803c000-b803e000 r-xp 00000000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b803e000-b803f000 rwxp 00001000 08:01 9384 /usr/lib/libXinerama.so.1.0.0
-b803f000-b8040000 rwxp b803f000 00:00 0
-b8040000-b8041000 r-xp b8040000 00:00 0
-b8041000-b804c000 r-xp 00000000 08:01 83655 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libverify.so
-b804c000-b804d000 rwxp 0000b000 08:01 83655 /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/libverify.so
-b804d000-b804f000 rwxp b804d000 00:00 0
-b804f000-b8050000 r-xp b804f000 00:00 0 [vdso]
-b8050000-b806c000 r-xp 00000000 08:01 2557 /lib/ld-2.9.so
-b806c000-b806d000 r-xp 0001b000 08:01 2557 /lib/ld-2.9.so
-b806d000-b806e000 rwxp 0001c000 08:01 2557 /lib/ld-2.9.so
-bff59000-bff6e000 rwxp bffeb000 00:00 0 [stack]
-
-VM Arguments:
-jvm_args: -Xmx512m -Dcatalina.base=/home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/tomcat
-java_command: com.google.gwt.dev.GWTShell -gen /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/.generated -logLevel INFO -style DETAILED -out /home/kevin/Workspaces/NetBeansProjects/guix/trunk/guix-test-gwt/target/guix-test-gwt-1.0.0-SNAPSHOT -port 8888 org.nuiton.guix.Index/Index.html
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-JAVA_HOME=/usr/lib/jvm/java-6-sun
-PATH=/home/kevin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
-USERNAME=kevin
-LD_LIBRARY_PATH=/usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.14/jre/../lib/i386
-SHELL=/bin/bash
-DISPLAY=:0.0
-
-Signal Handlers:
-SIGSEGV: [libjvm.so+0x3fc070], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGBUS: [libjvm.so+0x3fc070], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGFPE: [libjvm.so+0x325d30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGPIPE: SIG_IGN, sa_mask[0]=0x00001000, sa_flags=0x10000000
-SIGXFSZ: [libjvm.so+0x325d30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGILL: [libjvm.so+0x325d30], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGUSR2: [libjvm.so+0x328920], sa_mask[0]=0x00000004, sa_flags=0x10000004
-SIGHUP: [libjvm.so+0x328650], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
-SIGTERM: [libjvm.so+0x328650], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-SIGQUIT: [libjvm.so+0x328650], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
-
-
---------------- S Y S T E M ---------------
-
-OS:5.0
-
-uname:Linux 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 19:49:51 UTC 2009 i686
-libc:glibc 2.9 NPTL 2.9
-rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
-load average:1,13 1,27 1,32
-
-CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 127 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext
-
-Memory: 4k page, physical 1930940k(77652k free), swap 5574512k(5563592k free)
-
-vm_info: Java HotSpot(TM) Client VM (14.0-b16) for linux-x86 JRE (1.6.0_14-b08), built on May 21 2009 02:01:47 by "java_re" with gcc 3.2.1-7a (J2SE release)
-
-time: Thu Jul 23 10:51:53 2009
-elapsed time: 111 seconds
-
Deleted: trunk/guix-test-gwt/nbactions.xml
===================================================================
--- trunk/guix-test-gwt/nbactions.xml 2009-08-24 12:37:44 UTC (rev 1571)
+++ trunk/guix-test-gwt/nbactions.xml 2009-08-24 12:46:19 UTC (rev 1572)
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<actions>
- <action>
- <actionName>CUSTOM-gwt-maven:gwt</actionName>
- <displayName>gwt-maven:gwt</displayName>
- <goals>
- <goal>gwt-maven:gwt</goal>
- </goals>
- </action>
- <action>
- <actionName>CUSTOM-clean gwt-maven:gwt</actionName>
- <displayName>clean gwt-maven:gwt</displayName>
- <goals>
- <goal>clean</goal>
- <goal>gwt-maven:gwt</goal>
- </goals>
- </action>
- <action>
- <actionName>CUSTOM-jetty:run-war</actionName>
- <displayName>jetty:run-war</displayName>
- <goals>
- <goal>jetty:run-war</goal>
- </goals>
- </action>
- <action>
- <actionName>CUSTOM-clean jetty:run-war</actionName>
- <displayName>clean jetty:run-war</displayName>
- <goals>
- <goal>clean</goal>
- <goal>jetty:run-war</goal>
- </goals>
- </action>
- </actions>
Deleted: trunk/guix-test-swing/nbactions.xml
===================================================================
--- trunk/guix-test-swing/nbactions.xml 2009-08-24 12:37:44 UTC (rev 1571)
+++ trunk/guix-test-swing/nbactions.xml 2009-08-24 12:46:19 UTC (rev 1572)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<actions>
- <action>
- <actionName>run</actionName>
- <packagings>
- <packaging>jar</packaging>
- </packagings>
- <goals>
- <goal>process-classes</goal>
- <goal>org.codehaus.mojo:exec-maven-plugin:1.1:exec</goal>
- </goals>
- <properties>
- <exec.args>-classpath %classpath org.nuiton.guix.Main</exec.args>
- <exec.executable>java</exec.executable>
- </properties>
- </action>
- </actions>
1
0