diff options
author | kchong | 2009-03-07 19:25:16 +0000 |
---|---|---|
committer | kchong | 2009-03-07 19:25:16 +0000 |
commit | aa278b30c490ca5651e6fd228aa9ab3d8cf88a54 (patch) | |
tree | 624e90646c2d15385619d5bb7d6ac2faa110bd14 /bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer | |
parent | 2ce2336702749d6fe4d939d1f9b5678d041fbbd6 (diff) | |
download | webtools.webservices-200903071919.tar.gz webtools.webservices-200903071919.tar.xz webtools.webservices-200903071919.zip |
This commit was manufactured by cvs2svn to create tag 'v200903071919'.v200903071919
Diffstat (limited to 'bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer')
7 files changed, 0 insertions, 663 deletions
diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/CurrentNodeSelectionTransformer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/CurrentNodeSelectionTransformer.java deleted file mode 100644 index 3966e6dd8..000000000 --- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/CurrentNodeSelectionTransformer.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer; - -import java.util.Hashtable; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node; - -public class CurrentNodeSelectionTransformer implements ITransformer -{ - protected Controller controller; - protected String key; - - public CurrentNodeSelectionTransformer(Controller controller) - { - this(controller, ActionInputs.NODEID); - } - - public CurrentNodeSelectionTransformer(Controller controller, String key) - { - this.controller = controller; - this.key = key; - } - - public Hashtable normalize(Hashtable properties) - { - return properties; - } - - public Hashtable deNormalize(Hashtable properties) - { - Node currNode = controller.getCurrentPerspective().getNodeManager().getSelectedNode(); - if (currNode != null) - properties.put(key, String.valueOf(currNode.getNodeId())); - return properties; - } -} diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/ITransformer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/ITransformer.java deleted file mode 100644 index d416d30cc..000000000 --- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/ITransformer.java +++ /dev/null @@ -1,19 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer; - -import java.util.Hashtable; - -public interface ITransformer -{ - public Hashtable normalize(Hashtable properties); - public Hashtable deNormalize(Hashtable properties); -} diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MassNodeIdTransformer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MassNodeIdTransformer.java deleted file mode 100644 index 5b74e836c..000000000 --- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MassNodeIdTransformer.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer; - -import java.util.Hashtable; -import java.util.Vector; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller; - -public class MassNodeIdTransformer extends NodeIdTransformer -{ - protected String massNodeIdKey; - - public MassNodeIdTransformer(Controller controller, String massNodeIdKey) - { - super(controller); - this.massNodeIdKey = massNodeIdKey; - } - - public Hashtable normalize(Hashtable properties) - { - if (!properties.containsKey(massNodeIdKey)) - return super.normalize(properties); - Object origNodeId = properties.get(ActionInputs.NODEID); - String[] massNodeIds = getValueAsStringArray(properties, massNodeIdKey); - for (int i = 0; i < massNodeIds.length; i++) - { - properties.put(ActionInputs.NODEID, massNodeIds[i]); - properties = super.normalize(properties); - String[] rels = getValueAsStringArray(properties, ModelConstants.REL_ID); - if (rels.length > 0) - { - StringBuffer sb = new StringBuffer(ModelConstants.REL_ID); - sb.append(ModelConstants.REL_LOCALNAME_SEPARATOR); - sb.append(massNodeIds[i]); - properties.put(sb.toString(), rels); - } - properties.remove(ActionInputs.NODEID); - properties.remove(ModelConstants.REL_ID); - } - if (origNodeId != null) - properties.put(ActionInputs.NODEID, origNodeId); - return properties; - } - - public Hashtable deNormalize(Hashtable properties) - { - if (!properties.containsKey(massNodeIdKey)) - return super.deNormalize(properties); - Vector massNodeIdVector = new Vector(); - Object origNodeId = properties.get(ActionInputs.NODEID); - properties.remove(ActionInputs.NODEID); - String[] massNodeIds = getValueAsStringArray(properties, massNodeIdKey); - for (int i = 0; i < massNodeIds.length; i++) - { - StringBuffer sb = new StringBuffer(ModelConstants.REL_ID); - sb.append(ModelConstants.REL_LOCALNAME_SEPARATOR); - sb.append(massNodeIds[i]); - Object rels = properties.get(sb.toString()); - if (rels != null) - { - properties.put(ModelConstants.REL_ID, rels); - properties = super.deNormalize(properties); - Object nodeId = properties.get(ActionInputs.NODEID); - if (nodeId != null) - { - massNodeIdVector.add(nodeId); - properties.remove(ActionInputs.NODEID); - } - properties.remove(ModelConstants.REL_ID); - } - } - if (origNodeId != null) - properties.put(ActionInputs.NODEID, origNodeId); - int size = massNodeIdVector.size(); - if (size == 1) - properties.put(massNodeIdKey, massNodeIdVector.get(0)); - else if (size > 1) - properties.put(massNodeIdKey, massNodeIdVector.toArray(new String[0])); - else - properties.remove(massNodeIdKey); - return properties; - } - - private String[] getValueAsStringArray(Hashtable properties, String key) - { - Object values = properties.get(key); - if (values == null) - return new String[0]; - else if (values instanceof String[]) - return (String[])values; - else - return new String[] {values.toString()}; - } -} diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MultipartFormDataParserTransformer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MultipartFormDataParserTransformer.java deleted file mode 100644 index 732c165fe..000000000 --- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MultipartFormDataParserTransformer.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer; - -import java.util.Enumeration; -import java.util.Hashtable; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller; -import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser; - -public class MultipartFormDataParserTransformer implements ITransformer -{ - protected Controller controller; - - public MultipartFormDataParserTransformer(Controller controller) - { - this.controller = controller; - } - - public Hashtable normalize(Hashtable properties) - { - MultipartFormDataParser parser = (MultipartFormDataParser)properties.get(ActionInputs.MULTIPART_FORM_DATA_PARSER); - String[] keys; - try - { - keys = parser.getParameterNames(); - } - catch (Throwable t) - { - keys = new String[0]; - } - for (int i = 0; i < keys.length; i++) - { - StringBuffer newKey = new StringBuffer(ActionInputs.MULTIPART_FORM_DATA_PARSER); - newKey.append(keys[i]); - try - { - properties.put(newKey.toString(), parser.getParameterValues(keys[i])); - } - catch (Throwable t) - { - } - } - return properties; - } - - public Hashtable deNormalize(Hashtable properties) - { - Enumeration e = properties.keys(); - while (e.hasMoreElements()) - { - Object key = e.nextElement(); - if (key instanceof String) - { - if (((String)key).startsWith(ActionInputs.MULTIPART_FORM_DATA_PARSER)) - { - String realKey = ((String)key).substring(ActionInputs.MULTIPART_FORM_DATA_PARSER.length()); - if (!properties.containsKey(realKey)) - { - Object value = properties.remove(key); - properties.put(realKey, value); - } - } - } - } - return properties; - } -} diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeIdTransformer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeIdTransformer.java deleted file mode 100644 index 2a5413a0b..000000000 --- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeIdTransformer.java +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; -import org.eclipse.wst.ws.internal.datamodel.Element; -import org.eclipse.wst.ws.internal.datamodel.Rel; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants; -import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager; - -public class NodeIdTransformer implements ITransformer -{ - protected Controller controller; - - public NodeIdTransformer(Controller controller) - { - this.controller = controller; - } - - public Hashtable normalize(Hashtable properties) - { - Vector rels = new Vector(); - try - { - int nodeId = Integer.parseInt((String)properties.get(ActionInputs.NODEID)); - NodeManager nodeManager = controller.getCurrentPerspective().getNodeManager(); - Node rootNode = nodeManager.getRootNode(); - Node node = nodeManager.getNode(nodeId); - int depth = 0; - if (node != null) - depth = node.getNodeDepth(); - while (rels.size() < depth && node != null && node != rootNode) - { - Node parentNode = node.getParent(); - Element element = node.getTreeElement(); - Rel rel = getRel(parentNode.getTreeElement(), element); - StringBuffer relValue = new StringBuffer(rel.getName()); - relValue.append(ModelConstants.REL_LOCALNAME_SEPARATOR); - relValue.append(element.getName()); - rels.insertElementAt(relValue.toString(), 0); - node = parentNode; - } - } - catch (NumberFormatException nfe) - { - } - int numRelationships = rels.size(); - if (numRelationships == 1) - properties.put(ModelConstants.REL_ID, rels.get(0).toString()); - else if (numRelationships > 1) - properties.put(ModelConstants.REL_ID, (String[])rels.toArray(new String[0])); - return properties; - } - - private Rel getRel(Element sourceElement, Element targetElement) - { - Enumeration rels = sourceElement.getRels(); - while (rels.hasMoreElements()) - { - Rel rel = (Rel)rels.nextElement(); - Enumeration targetElements = rel.getTargetElements(); - while (targetElements.hasMoreElements()) - { - if (targetElements.nextElement() == targetElement) - return rel; - } - } - return null; - } - - public Hashtable deNormalize(Hashtable properties) - { - NodeManager nodeManager = controller.getCurrentPerspective().getNodeManager(); - Node node = nodeManager.getRootNode(); - Object value = properties.get(ModelConstants.REL_ID); - String[] relationships = null; - if (value instanceof String[]) - relationships = (String[])value; - else if (value != null) - relationships = new String[] {value.toString()}; - if (relationships != null) - { - for (int i = 0; i < relationships.length; i++) - { - int index = relationships[i].indexOf(ModelConstants.REL_LOCALNAME_SEPARATOR); - if (index == -1) - return deNormalizeAsSelectedNode(properties); - String rel = (index != -1) ? relationships[i].substring(0, index) : relationships[i]; - String localname = (index != -1) ? relationships[i].substring(index + 1, relationships[i].length()) : null; - if (localname == null) - return deNormalizeAsSelectedNode(properties); - node = getNode(node, rel, localname); - if (node == null) - return deNormalizeAsSelectedNode(properties); - } - properties.put(ActionInputs.NODEID, String.valueOf(node.getNodeId())); - return properties; - } - else - return deNormalizeAsSelectedNode(properties); - } - - private Hashtable deNormalizeAsSelectedNode(Hashtable properties) - { - return (new CurrentNodeSelectionTransformer(controller)).deNormalize(properties); - } - - private Node getNode(Node parent, String rel, String localname) - { - Element parentElement = parent.getTreeElement(); - Enumeration e = parentElement.getElements(rel); - while (e.hasMoreElements()) - { - Element element = (Element)e.nextElement(); - if (localname.equals(element.getName())) - return parent.getChildNode((TreeElement)element); - } - return null; - } -} diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeSelectionTransformer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeSelectionTransformer.java deleted file mode 100644 index 93f57efd9..000000000 --- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeSelectionTransformer.java +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; -import org.eclipse.wst.ws.internal.datamodel.Element; -import org.eclipse.wst.ws.internal.datamodel.Rel; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs; -import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants; -import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager; - -public class NodeSelectionTransformer implements ITransformer -{ - protected Controller controller; - - public NodeSelectionTransformer(Controller controller) - { - this.controller = controller; - } - - public Hashtable normalize(Hashtable properties) - { - try - { - NodeManager nodeManager = controller.getCurrentPerspective().getNodeManager(); - Node nextNode = nodeManager.getNode(Integer.parseInt((String) properties.get(ActionInputs.NODEID))); - Node currNode = nodeManager.getSelectedNode(); - if (currNode == null) - currNode = nodeManager.getRootNode(); - Vector nextRels = new Vector(); - Vector currRels = new Vector(); - while (nextNode != null && currNode != null && (!isRootElement(nextNode.getTreeElement()) || !isRootElement(currNode.getTreeElement())) && nextNode != currNode) - { - if (nextNode.getNodeDepth() >= currNode.getNodeDepth()) - { - Node parentNode = nextNode.getParent(); - Element nextElement = nextNode.getTreeElement(); - Rel rel = getRel(parentNode.getTreeElement(), nextElement); - StringBuffer relValue = new StringBuffer(rel.getName()); - relValue.append(ModelConstants.REL_LOCALNAME_SEPARATOR); - relValue.append(nextElement.getName()); - nextRels.insertElementAt(relValue.toString(), 0); - nextNode = parentNode; - } - else - { - Node parentNode = currNode.getParent(); - Element parentElement = parentNode.getTreeElement(); - Rel rel = getRel(currNode.getTreeElement(), parentElement); - StringBuffer relValue = new StringBuffer(rel.getName()); - relValue.append(ModelConstants.REL_LOCALNAME_SEPARATOR); - relValue.append(parentElement.getName()); - currRels.add(relValue.toString()); - currNode = parentNode; - } - } - currRels.addAll(nextRels); - int numRelationships = currRels.size(); - if (numRelationships == 1) - properties.put(ModelConstants.REL_ID, currRels.get(0).toString()); - else if (numRelationships > 1) - properties.put(ModelConstants.REL_ID, (String[]) currRels.toArray(new String[0])); - } - catch (NumberFormatException nfe) - { - } - return properties; - } - - private boolean isRootElement(Element e) - { - return e.getModel().getRootElement() == e; - } - - private Rel getRel(Element sourceElement, Element targetElement) - { - Enumeration rels = sourceElement.getRels(); - while (rels.hasMoreElements()) - { - Rel rel = (Rel) rels.nextElement(); - Enumeration targetElements = rel.getTargetElements(); - while (targetElements.hasMoreElements()) - { - if (targetElements.nextElement() == targetElement) - return rel; - } - } - return null; - } - - public Hashtable deNormalize(Hashtable properties) - { - NodeManager nodeManager = controller.getCurrentPerspective().getNodeManager(); - Node rootNode = nodeManager.getRootNode(); - Node currNode = nodeManager.getSelectedNode(); - if (currNode == null) - currNode = rootNode; - Object value = properties.get(ModelConstants.REL_ID); - String[] relationships = null; - if (value instanceof String[]) - relationships = (String[]) value; - else if (value != null) - relationships = new String[]{value.toString()}; - if (relationships != null) - { - Element currElement = currNode.getTreeElement(); - for (int i = 0; i < relationships.length; i++) - { - int index = relationships[i].indexOf(ModelConstants.REL_LOCALNAME_SEPARATOR); - String rel = (index != -1) ? relationships[i].substring(0, index) : relationships[i]; - String localname = (index != -1) ? relationships[i].substring(index + 1, relationships[i].length()) : null; - Enumeration e = currElement.getElements(rel); - Element targetElement = null; - if (localname != null) - { - Element firstElement = null; - while (e.hasMoreElements()) - { - Element nextElement = (Element) e.nextElement(); - if (firstElement == null) - firstElement = nextElement; - if (localname.equals(nextElement.getName())) - { - targetElement = nextElement; - break; - } - } - if (targetElement == null) - targetElement = firstElement; - } - else - { - if (e.hasMoreElements()) - targetElement = (Element) e.nextElement(); - } - if (targetElement != null) - { - currElement = (Element) targetElement; - Node parentNode = currNode.getParent(); - if (parentNode != null && parentNode.getTreeElement() == currElement) - currNode = parentNode; - else - currNode = currNode.getChildNode((TreeElement) currElement); - } - } - } - properties.put(ActionInputs.NODEID, String.valueOf(currNode.getNodeId())); - return properties; - } -} diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/ViewSelectionTransformer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/ViewSelectionTransformer.java deleted file mode 100644 index 0261f2a22..000000000 --- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/ViewSelectionTransformer.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Vector; -import org.eclipse.wst.ws.internal.datamodel.Element; -import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement; -import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager; -import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node; -import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager; - -public class ViewSelectionTransformer implements ITransformer -{ - protected Controller controller; - protected String listManagerKey; - protected String viewKey; - - public ViewSelectionTransformer(Controller controller, String listManagerKey, String viewKey) - { - this.controller = controller; - this.listManagerKey = listManagerKey; - this.viewKey = viewKey; - } - - public Hashtable normalize(Hashtable properties) - { - Vector normalizedViewIds = new Vector(); - NodeManager nodeManager = controller.getCurrentPerspective().getNodeManager(); - Node currNode = nodeManager.getSelectedNode(); - TreeElement currElement = currNode.getTreeElement(); - Object listManagerObj = currElement.getPropertyAsObject(listManagerKey); - if (listManagerObj instanceof ListManager) - { - ListManager listManager = (ListManager) listManagerObj; - String[] viewIds = getViewValues(properties); - for (int i = 0; i < viewIds.length; i++) - { - ListElement listElement = null; - try - { - listElement = listManager.getElementWithViewId(Integer.parseInt(viewIds[i])); - } - catch (NumberFormatException nfe) - { - } - if (listElement != null) - { - Object object = listElement.getObject(); - if (object != null && object instanceof Element) - { - Element element = (Element) object; - normalizedViewIds.add(element.getName()); - } - } - } - } - properties.put(viewKey, normalizedViewIds.toArray(new String[0])); - return properties; - } - - public Hashtable deNormalize(Hashtable properties) - { - Vector viewIds = new Vector(); - Node currNode = controller.getCurrentPerspective().getNodeManager().getSelectedNode(); - if (currNode != null) - { - TreeElement currElement = currNode.getTreeElement(); - Object listManagerObj = currElement.getPropertyAsObject(listManagerKey); - if (listManagerObj instanceof ListManager) - { - ListManager listManager = (ListManager) listManagerObj; - String[] normalizedViewIds = getViewValues(properties); - for (int i = 0; i < normalizedViewIds.length; i++) - { - Enumeration e = listManager.getListElements(); - while (e.hasMoreElements()) - { - ListElement listElement = (ListElement) e.nextElement(); - Element element = (Element) listElement.getObject(); - if (element != null && normalizedViewIds[i].equals(element.getName())) - { - viewIds.add(String.valueOf(listElement.getViewId())); - break; - } - } - } - } - } - int size = viewIds.size(); - if (size == 1) - properties.put(viewKey, viewIds.get(0)); - else if (size > 1) - properties.put(viewKey, viewIds.toArray(new String[0])); - return properties; - } - - private String[] getViewValues(Hashtable properties) - { - Object viewValueObj = properties.get(viewKey); - String[] viewValues; - if (viewValueObj == null) - viewValues = new String[0]; - else if (viewValueObj.getClass().isArray()) - viewValues = (String[]) viewValueObj; - else - viewValues = new String[]{(String) viewValueObj}; - return viewValues; - } -} |