blob: f6687f4612ab58b062c185d13aa642824f58de6a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2008 Oracle 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:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.common.runtime.internal.debug;
import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentInfo;
/**
* Represents a component tree in message for that can be serialized.
*
* @author cbateman
*
*/
public class ComponentTreeMessage extends JSFMonitorMessage
{
/**
*
*/
private static final long serialVersionUID = -6282344329821994209L;
private String _viewId;
private ComponentInfo _treeRoot;
private RenderNode _renderRoot;
// private HashMap<String, ComponentInfo> _idIndex;
/**
* default constructor
*/
public ComponentTreeMessage()
{
//_idIndex = new HashMap<String, ComponentInfo>();
}
/**
* @return the view id
*/
public final String getViewId() {
return _viewId;
}
/**
* @return the componentinfo at the root of the component tree
*/
public final ComponentInfo getTreeRoot() {
return _treeRoot;
}
/**
* @return the rendered root node
*/
public final RenderNode getRenderRoot() {
return _renderRoot;
}
final void setRenderRoot(RenderNode renderRoot) {
_renderRoot = renderRoot;
}
final void setTreeRoot(ComponentInfo treeRoot)
{
_treeRoot = treeRoot;
}
final void setViewId(final String viewId)
{
_viewId = viewId;
}
// @Override
// protected void deserialize(InputStream inStream) throws IOException, ClassNotFoundException
// {
// ObjectInputStream objectInputStream = new ObjectInputStream(inStream);
//
// Object obj = objectInputStream.readObject();
// int bytesRead = super.deserialize(inStream);
//
// // first line must be startView
// final BufferedReader reader =
// new BufferedReader(new InputStreamReader(inStream));
//
// String line = reader.readLine();
//
// if (line != null
// && line.startsWith(START_VIEW))
// {
// _viewId = line.substring(START_VIEW.length()).trim();
// bytesRead += line.length()+1;
// }
//
// // loop until EOF
// while ((line = reader.readLine())!=null)
// {
// bytesRead += line.length()+1;
//
// if (line.startsWith("component:"))
// {
// parseComponent(line.substring("component:".length()).trim());
// }
// else if (line.startsWith("facet:"))
// {
// parseFacet(line.substring("facet:".length()).trim());
// }
// else if (line.startsWith("uiInput:"))
// {
// parseUIInput(line.substring("uiInput:".length()).trim());
// }
// else if (line.startsWith("uiOutput:"))
// {
// parseUIOutput(line.substring("uiOutput:".length()).trim());
// }
// else if (line.startsWith("endView"))
// {
// //
// }
// }
// return bytesRead;
// }
// private ComponentInfo parseComponent(final String line)
// {
// final String[] fields = line.split(",");
// if (fields.length >= 4)
// {
// String parentId = "!".equals(fields[0]) ? null : fields[0];
// String id = "!".equals(fields[1]) ? null : fields[1];
// String componentFamily = fields[2];
// String renderFamily = fields[3];
//
// ComponentInfo componentInfo =
// ComponentFactory.createComponentInfo
// (id, parentId, componentFamily, renderFamily);
//
// if (id == null)
// {
// _treeRoot = componentInfo;
// _idIndex.put(null, componentInfo);
// }
// else
// {
// _idIndex.put(id, componentInfo);
//
// ComponentInfo parent =
// (ComponentInfo)_idIndex.get(parentId);
//
// if (parent != null)
// {
// parent.getChildren().add(componentInfo);
// }
// else
// {
// _treeRoot.getChildren().add(componentInfo);
// }
// }
// }
// return null;
// }
//
// private FacetInfo parseFacet(final String line)
// {
// final String[] fields = line.split(",");
//
// if (fields.length >= 4)
// {
// String parentId = "!".equals(fields[0]) ? null : fields[0];
// String id = "!".equals(fields[1]) ? null : fields[1];
// String componentFamily = fields[2];
// String renderFamily = fields[3];
//
// FacetInfo facetInfo =
// ComponentFactory.createFacetInfo(id, parentId, componentFamily, renderFamily);
// ComponentInfo parent = _idIndex.get(parentId);
//
// if (parent != null)
// {
// parent.getChildren().add(facetInfo);
// }
//
// return facetInfo;
// }
// return null;
// }
//
// private UIInputInfo parseUIInput(final String line)
// {
// final String[] fields = line.split(",");
//
// if (fields.length >= 7)
// {
// String parentId = "!".equals(fields[0]) ? null : fields[0];
// String id = "!".equals(fields[1]) ? null : fields[1];
// String componentFamily = fields[2];
// String renderFamily = fields[3];
// String isValid = fields[4];
// String isImmediate = fields[5];
// String isRequired = fields[6];
// String isRendered = fields[7];
//
// UIInputInfo uiInputInfo =
// ComponentFactory.createUIInputInfo
// (id, parentId, componentFamily, renderFamily, isValid, isImmediate, isRequired, isRendered);
// ComponentInfo parent = _idIndex.get(parentId);
//
// if (parent != null)
// {
// parent.getChildren().add(uiInputInfo);
// }
//
// return uiInputInfo;
// }
// return null;
// }
//
// private UIOutputInfo parseUIOutput(final String line)
// {
// final String[] fields = line.split(",");
//
// if (fields.length >= 4)
// {
// String parentId = "!".equals(fields[0]) ? null : fields[0];
// String id = "!".equals(fields[1]) ? null : fields[1];
// String componentFamily = fields[2];
// String renderFamily = fields[3];
// String isRendered = fields[4];
//
// UIOutputInfo uiOutputInfo =
// ComponentFactory.createUIOutputInfo(id, parentId, componentFamily, renderFamily, isRendered);
//
// ComponentInfo parent = _idIndex.get(parentId);
//
// if (parent != null)
// {
// parent.getChildren().add(uiOutputInfo);
// }
//
// return uiOutputInfo;
// }
// return null;
// }
}