aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-06-14 13:34:59 +0300
committerLeif Åstrand <leif@vaadin.com>2012-06-14 13:34:59 +0300
commit3e313cabb025d46f42bebd0d919e59c2638b6289 (patch)
treeff972bb1416203c798ab7758cf619dede69d6cd3 /src
parent332195ec278f128043ae842ace48f1b1df340047 (diff)
downloadvaadin-framework-3e313cabb025d46f42bebd0d919e59c2638b6289.tar.gz
vaadin-framework-3e313cabb025d46f42bebd0d919e59c2638b6289.zip
File missing from previous commit (#6690)
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/terminal/AbstractClientConnector.java30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/com/vaadin/terminal/AbstractClientConnector.java b/src/com/vaadin/terminal/AbstractClientConnector.java
index a2bf4a0be8..ee1a2ab981 100644
--- a/src/com/vaadin/terminal/AbstractClientConnector.java
+++ b/src/com/vaadin/terminal/AbstractClientConnector.java
@@ -210,7 +210,7 @@ public abstract class AbstractClientConnector implements ClientConnector {
public Iterator<ClientConnector> iterator() {
CombinedIterator<ClientConnector> iterator = new CombinedIterator<ClientConnector>();
- iterator.addIterator(connector.getExtensionIterator());
+ iterator.addIterator(connector.getExtensions().iterator());
if (connector instanceof HasComponents) {
HasComponents hasComponents = (HasComponents) connector;
@@ -376,30 +376,22 @@ public abstract class AbstractClientConnector implements ClientConnector {
return new AllChildrenIterable(connector);
}
- public Iterator<Extension> getExtensionIterator() {
- return Collections.unmodifiableList(extensions).iterator();
+ public Collection<Extension> getExtensions() {
+ return Collections.unmodifiableCollection(extensions);
}
protected void addExtension(Extension extension) {
- addExtensionAtIndex(extension, extensions.size());
- }
-
- protected void addExtensionAtIndex(Extension extension, int index) {
ClientConnector previousParent = extension.getParent();
if (previousParent == this) {
- int oldIndex = extensions.indexOf(extension);
- if (oldIndex < index) {
- index--;
- }
- extensions.remove(oldIndex);
- extensions.add(index, extension);
- } else {
- if (previousParent != null) {
- previousParent.removeExtension(extension);
- }
- extensions.add(index, extension);
- extension.setParent(this);
+ // Nothing to do, already attached
+ return;
+ } else if (previousParent != null) {
+ throw new IllegalStateException(
+ "Moving an extension from one parent to another is not supported");
}
+
+ extensions.add(extension);
+ extension.setParent(this);
requestRepaint();
}