You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/04/01 16:34:32 UTC
svn commit: r760903 - in /incubator/pivot/trunk: demos/lib/
demos/src/pivot/demos/dom/ wtk/src/pivot/wtk/effects/
wtk/src/pivot/wtk/media/drawing/ wtk/src/pivot/wtk/skin/terra/
wtk/src/pivot/wtkx/
Author: gbrown
Date: Wed Apr 1 14:34:19 2009
New Revision: 760903
URL: http://svn.apache.org/viewvc?rev=760903&view=rev
Log:
Add IMClient demo.
Added:
incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java
incubator/pivot/trunk/demos/src/pivot/demos/dom/dom_test.html
incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.html
incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.wtkx
incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java
- copied, changed from r760897, incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeTransition.java
incubator/pivot/trunk/wtk/src/pivot/wtk/effects/SlideTransition.java
- copied, changed from r760897, incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/SlideTransition.java
incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Ellipse.java
incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Polygon.java
Removed:
incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeTransition.java
incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/SlideTransition.java
Modified:
incubator/pivot/trunk/demos/lib/smack.jar
incubator/pivot/trunk/demos/lib/smackx.jar
incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Shape.java
incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java
incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java
incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java
incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraSheetSkin.java
incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraTooltipSkin.java
incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java
Modified: incubator/pivot/trunk/demos/lib/smack.jar
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/lib/smack.jar?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
Binary files - no diff available.
Modified: incubator/pivot/trunk/demos/lib/smackx.jar
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/lib/smackx.jar?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
Binary files - no diff available.
Added: incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java?rev=760903&view=auto
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java (added)
+++ incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java Wed Apr 1 14:34:19 2009
@@ -0,0 +1,217 @@
+/*
+ * Copyright (c) 2009 VMware, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package pivot.demos.dom;
+
+import org.jivesoftware.smack.ConnectionConfiguration;
+import org.jivesoftware.smack.PacketListener;
+import org.jivesoftware.smack.XMPPConnection;
+import org.jivesoftware.smack.XMPPException;
+import org.jivesoftware.smack.filter.PacketFilter;
+import org.jivesoftware.smack.filter.PacketTypeFilter;
+import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.packet.Packet;
+
+import pivot.collections.Dictionary;
+import pivot.util.concurrent.Task;
+import pivot.util.concurrent.TaskExecutionException;
+import pivot.util.concurrent.TaskListener;
+import pivot.wtk.Application;
+import pivot.wtk.ApplicationContext;
+import pivot.wtk.BrowserApplicationContext;
+import pivot.wtk.Button;
+import pivot.wtk.ButtonPressListener;
+import pivot.wtk.CardPane;
+import pivot.wtk.Component;
+import pivot.wtk.ComponentKeyListener;
+import pivot.wtk.Display;
+import pivot.wtk.Form;
+import pivot.wtk.Keyboard;
+import pivot.wtk.Label;
+import pivot.wtk.PushButton;
+import pivot.wtk.TextInput;
+import pivot.wtk.Window;
+import pivot.wtk.effects.FadeTransition;
+import pivot.wtk.effects.Transition;
+import pivot.wtk.effects.TransitionListener;
+import pivot.wtkx.WTKXSerializer;
+
+public class IMClient implements Application {
+ /**
+ * Task for asynchronously logging into Jabber.
+ *
+ * @author gbrown
+ */
+ private class LoginTask extends Task<Void> {
+ public Void execute() throws TaskExecutionException {
+ try {
+ String domain = domainTextInput.getText();
+
+ ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration(domain);
+ xmppConnection = new XMPPConnection(connectionConfiguration);
+
+ String username = usernameTextInput.getText();
+ String password = passwordTextInput.getText();
+ xmppConnection.connect();
+ xmppConnection.login(username, password);
+ } catch(XMPPException exception) {
+ throw new TaskExecutionException(exception);
+ }
+
+ return null;
+ }
+ }
+
+ private XMPPConnection xmppConnection = null;
+
+ private Window window = null;
+ private CardPane cardPane = null;
+ private Form loginForm = null;
+
+ private TextInput usernameTextInput;
+ private TextInput passwordTextInput;
+ private TextInput domainTextInput;
+
+ private PushButton loginButton = null;
+ private Label errorMessageLabel = null;
+
+ private Label messageLabel = null;
+
+ private ApplicationContext.ScheduledCallback scheduledFadeCallback = null;
+
+ public void startup(Display display, Dictionary<String, String> properties)
+ throws Exception {
+ WTKXSerializer wtkxSerializer = new WTKXSerializer();
+ window = new Window((Component)wtkxSerializer.readObject(getClass().getResource("im_client.wtkx")));
+
+ cardPane = (CardPane)wtkxSerializer.getObjectByName("cardPane");
+ loginForm = (Form)wtkxSerializer.getObjectByName("loginForm");
+
+ loginForm.getComponentKeyListeners().add(new ComponentKeyListener() {
+ public boolean keyTyped(Component component, char character) {
+ return false;
+ }
+
+ public boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation) {
+ if (keyCode == Keyboard.KeyCode.ENTER) {
+ login();
+ }
+
+ return false;
+ }
+
+ public boolean keyReleased(Component component, int keyCode, Keyboard.KeyLocation keyLocation) {
+ return false;
+ }
+ });
+
+ usernameTextInput = (TextInput)wtkxSerializer.getObjectByName("usernameTextInput");
+ passwordTextInput = (TextInput)wtkxSerializer.getObjectByName("passwordTextInput");
+ domainTextInput = (TextInput)wtkxSerializer.getObjectByName("domainTextInput");
+
+ loginButton = (PushButton)wtkxSerializer.getObjectByName("loginButton");
+ loginButton.getButtonPressListeners().add(new ButtonPressListener() {
+ public void buttonPressed(final Button button) {
+ login();
+ }
+ });
+
+ errorMessageLabel = (Label)wtkxSerializer.getObjectByName("errorMessageLabel");
+
+ messageLabel = (Label)wtkxSerializer.getObjectByName("messageLabel");
+
+ window.setMaximized(true);
+ window.open(display);
+ }
+
+ public boolean shutdown(boolean optional) throws Exception {
+ return false;
+ }
+
+ public void suspend() {
+ // No-op
+ }
+
+ public void resume() {
+ // No-op
+ }
+
+ private void login() {
+ if (usernameTextInput.getText().length() == 0) {
+ errorMessageLabel.setText("Username is required.");
+ } else if (passwordTextInput.getText().length() == 0) {
+ errorMessageLabel.setText("Password is required.");
+ } else if (domainTextInput.getText().length() == 0) {
+ errorMessageLabel.setText("Domain is required.");
+ } else {
+ LoginTask loginTask = new LoginTask();
+ loginTask.execute(new TaskListener<Void>() {
+ public void taskExecuted(Task<Void> task) {
+ loginButton.setEnabled(true);
+ cardPane.setSelectedIndex(1);
+ listenForMessages();
+ }
+
+ public void executeFailed(Task<Void> task) {
+ loginButton.setEnabled(true);
+ errorMessageLabel.setText(task.getFault().getMessage());
+ }
+ });
+
+ errorMessageLabel.setText(null);
+ loginButton.setEnabled(false);
+ }
+ }
+
+ private void listenForMessages() {
+ PacketFilter filter = new PacketTypeFilter(Message.class);
+
+ PacketListener packetListener = new PacketListener() {
+ public void processPacket(Packet packet) {
+ final Message message = (Message)packet;
+
+ ApplicationContext.queueCallback(new Runnable() {
+ public void run() {
+ // Show the message text
+ String body = message.getBody();
+ messageLabel.setText(body);
+
+ // Notify the page that a message was received
+ BrowserApplicationContext.eval("messageReceived(\"" + body + "\");", IMClient.this);
+
+ // Cancel any pending fade and schedule a new fade callback
+ if (scheduledFadeCallback != null) {
+ scheduledFadeCallback.cancel();
+ }
+
+ scheduledFadeCallback = ApplicationContext.scheduleCallback(new Runnable() {
+ public void run() {
+ FadeTransition fadeTransition = new FadeTransition(messageLabel, 500, 30);
+
+ fadeTransition.start(new TransitionListener() {
+ public void transitionCompleted(Transition transition) {
+ messageLabel.setText(null);
+ }
+ });
+ }
+ }, 2500);
+ }
+ });
+ }
+ };
+
+ xmppConnection.addPacketListener(packetListener, filter);
+ }
+}
Added: incubator/pivot/trunk/demos/src/pivot/demos/dom/dom_test.html
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dom/dom_test.html?rev=760903&view=auto
==============================================================================
(empty)
Added: incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.html
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.html?rev=760903&view=auto
==============================================================================
(empty)
Added: incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.wtkx
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.wtkx?rev=760903&view=auto
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.wtkx (added)
+++ incubator/pivot/trunk/demos/src/pivot/demos/dom/im_client.wtkx Wed Apr 1 14:34:19 2009
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2009 VMware, Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<Border styles="{padding:8}"
+ xmlns:wtkx="http://incubator.apache.org/pivot/wtkx/1.1"
+ xmlns="pivot.wtk">
+ <content>
+ <CardPane wtkx:id="cardPane" orientation="horizontal" selectedIndex="0">
+ <Form wtkx:id="loginForm" styles="{fieldAlignment:'justify'}">
+ <sections>
+ <Form.Section>
+ <TextInput wtkx:id="usernameTextInput" Form.name="Username" />
+ <TextInput wtkx:id="passwordTextInput" Form.name="Password" password="true" />
+ <TextInput wtkx:id="domainTextInput" Form.name="Domain"/>
+ <FlowPane>
+ <PushButton wtkx:id="loginButton" buttonData="Login"/>
+ </FlowPane>
+ <Label wtkx:id="errorMessageLabel" styles="{color:'#ff0000', wrapText:true}"/>
+ </Form.Section>
+ </sections>
+ </Form>
+
+ <Border title="Messages" styles="{padding:4}">
+ <content>
+ <Label wtkx:id="messageLabel" styles="{horizontalAlignment:'center', verticalAlignment:'center', wrapText:true}"/>
+ </content>
+ </Border>
+ </CardPane>
+ </content>
+</Border>
Copied: incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java (from r760897, incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeTransition.java)
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java?p2=incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java&p1=incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeTransition.java&r1=760897&r2=760903&rev=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeTransition.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java Wed Apr 1 14:34:19 2009
@@ -13,12 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package pivot.wtk.skin.terra;
+package pivot.wtk.effects;
import pivot.wtk.Component;
-import pivot.wtk.effects.FadeDecorator;
-import pivot.wtk.effects.Transition;
-import pivot.wtk.effects.TransitionListener;
/**
* Fade transition class.
Copied: incubator/pivot/trunk/wtk/src/pivot/wtk/effects/SlideTransition.java (from r760897, incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/SlideTransition.java)
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/effects/SlideTransition.java?p2=incubator/pivot/trunk/wtk/src/pivot/wtk/effects/SlideTransition.java&p1=incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/SlideTransition.java&r1=760897&r2=760903&rev=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/SlideTransition.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/effects/SlideTransition.java Wed Apr 1 14:34:19 2009
@@ -13,13 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package pivot.wtk.skin.terra;
+package pivot.wtk.effects;
import pivot.wtk.Component;
import pivot.wtk.Container;
-import pivot.wtk.effects.Transition;
-import pivot.wtk.effects.TransitionListener;
-import pivot.wtk.effects.TranslationDecorator;
import pivot.wtk.effects.easing.Easing;
import pivot.wtk.effects.easing.Quadratic;
Added: incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Ellipse.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Ellipse.java?rev=760903&view=auto
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Ellipse.java (added)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Ellipse.java Wed Apr 1 14:34:19 2009
@@ -0,0 +1,28 @@
+package pivot.wtk.media.drawing;
+
+import java.awt.Graphics2D;
+
+public class Ellipse extends Shape {
+
+ @Override
+ public boolean contains(int x, int y) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public int getHeight() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int getWidth() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void paint(Graphics2D graphics) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added: incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Polygon.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Polygon.java?rev=760903&view=auto
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Polygon.java (added)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Polygon.java Wed Apr 1 14:34:19 2009
@@ -0,0 +1,28 @@
+package pivot.wtk.media.drawing;
+
+import java.awt.Graphics2D;
+
+public class Polygon extends Shape {
+
+ @Override
+ public boolean contains(int x, int y) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public int getHeight() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int getWidth() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void paint(Graphics2D graphics) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Shape.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Shape.java?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Shape.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/media/drawing/Shape.java Wed Apr 1 14:34:19 2009
@@ -90,11 +90,14 @@
return null;
}
- public AffineTransform getTransform() {
- // TODO
- return null;
- }
-
+ /**
+ * TODO Subclasses should override this method to perform an inverse
+ * transformation and map to the untransformed coordinate space.
+ *
+ * @param x
+ * @param y
+ * @return
+ */
public abstract boolean contains(int x, int y);
public Paint getFill() {
@@ -180,4 +183,9 @@
public void setTranslateY(double translateY) {
this.translateY = translateY;
}
+
+ public AffineTransform getTransform() {
+ // TODO
+ return null;
+ }
}
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java Wed Apr 1 14:34:19 2009
@@ -35,6 +35,7 @@
import pivot.wtk.Theme;
import pivot.wtk.Window;
import pivot.wtk.WindowStateListener;
+import pivot.wtk.effects.FadeTransition;
import pivot.wtk.effects.Transition;
import pivot.wtk.effects.TransitionListener;
import pivot.wtk.skin.CalendarButtonSkin;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java Wed Apr 1 14:34:19 2009
@@ -38,6 +38,7 @@
import pivot.wtk.Theme;
import pivot.wtk.Window;
import pivot.wtk.WindowStateListener;
+import pivot.wtk.effects.FadeTransition;
import pivot.wtk.effects.Transition;
import pivot.wtk.effects.TransitionListener;
import pivot.wtk.skin.ListButtonSkin;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java Wed Apr 1 14:34:19 2009
@@ -31,6 +31,7 @@
import pivot.wtk.Theme;
import pivot.wtk.Window;
import pivot.wtk.effects.DropShadowDecorator;
+import pivot.wtk.effects.FadeTransition;
import pivot.wtk.effects.Transition;
import pivot.wtk.effects.TransitionListener;
import pivot.wtk.skin.WindowSkin;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraSheetSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraSheetSkin.java?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraSheetSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraSheetSkin.java Wed Apr 1 14:34:19 2009
@@ -32,6 +32,7 @@
import pivot.wtk.Theme;
import pivot.wtk.Window;
import pivot.wtk.effects.DropShadowDecorator;
+import pivot.wtk.effects.SlideTransition;
import pivot.wtk.effects.Transition;
import pivot.wtk.effects.TransitionListener;
import pivot.wtk.skin.WindowSkin;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraTooltipSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraTooltipSkin.java?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraTooltipSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraTooltipSkin.java Wed Apr 1 14:34:19 2009
@@ -34,6 +34,7 @@
import pivot.wtk.TooltipListener;
import pivot.wtk.Window;
import pivot.wtk.effects.DropShadowDecorator;
+import pivot.wtk.effects.FadeTransition;
import pivot.wtk.effects.Transition;
import pivot.wtk.effects.TransitionListener;
import pivot.wtk.skin.WindowSkin;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java?rev=760903&r1=760902&r2=760903&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java Wed Apr 1 14:34:19 2009
@@ -142,6 +142,10 @@
public Object readObject(String resourceName) throws IOException,
SerializationException {
+ if (resourceName == null) {
+ throw new IllegalArgumentException("resourceName is null.");
+ }
+
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL location = classLoader.getResource(resourceName);
@@ -154,6 +158,10 @@
}
public Object readObject(URL location) throws IOException, SerializationException {
+ if (location == null) {
+ throw new IllegalArgumentException("location is null.");
+ }
+
this.location = location;
return readObject(new BufferedInputStream(location.openStream()));
}
@@ -161,6 +169,10 @@
@SuppressWarnings("unchecked")
public Object readObject(InputStream inputStream) throws IOException,
SerializationException {
+ if (inputStream == null) {
+ throw new IllegalArgumentException("inputStream is null.");
+ }
+
Object object = null;
// Clear any previous named objects and include serializers