Author: mareshkau
Date: 2008-11-13 14:36:31 -0500 (Thu, 13 Nov 2008)
New Revision: 11774
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpePreviewDomBuilder.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
Log:
JBIDE-3144
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpePreviewDomBuilder.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpePreviewDomBuilder.java 2008-11-13
19:27:52 UTC (rev 11773)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpePreviewDomBuilder.java 2008-11-13
19:36:31 UTC (rev 11774)
@@ -37,8 +37,6 @@
boolean rebuildFlag = false;
-// private static final String YES_STRING = "yes";
-
/**
*
* @param domMapping
@@ -77,8 +75,19 @@
if (ElService.getInstance().isCloneableNode(getPageContext(), sourceNode))
{
final Node sourceNodeClone =
VpeProxyUtil.createProxyForELExpressionNode(getPageContext(),
sourceNode);
- creationData = template.create(getPageContext(), sourceNodeClone,
getVisualDocument());
- } else {
+ try {
+ creationData = template.create(getPageContext(),
+ sourceNodeClone, getVisualDocument());
+ //Fix for JBIDE-3144, we use proxy and some template can
+ //try to cast for not supported interface
+ } catch(ClassCastException ex) {
+ VpePlugin.reportProblem(ex);
+ //then we create template without using proxy
+ creationData = template.create(getPageContext(), sourceNode,
+ getVisualDocument());
+ }
+
+ } else {
creationData = template.create(getPageContext(), sourceNode,
getVisualDocument());
}
}catch (XPCOMException ex) {
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2008-11-13
19:27:52 UTC (rev 11773)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2008-11-13
19:36:31 UTC (rev 11774)
@@ -446,19 +446,19 @@
sourceNodeClone = VpeProxyUtil.createProxyForELExpressionNode(getPageContext(),
sourceNode);
-// if(sourceNodeClone instanceof Element){
-// ((Element)sourceNodeClone).setAttribute(PARENT,""); //$NON-NLS-1$
-// Attr a = ((Element)sourceNodeClone).getAttributeNode(PARENT);
-// a.setUserData(PARENT, sourceNode.getParentNode(),null);
-//
-// //added by estherbin fix
https://jira.jboss.org/jira/browse/JBIDE-1605 issue.
-// sourceNodeClone.setUserData(SRC_NODE, sourceNode,null);
-//
-// }
-// template.beforeTemplateCreated(getPageContext(),
-// sourceNodeClone, getVisualDocument());
+ try {
creationData = template.create(getPageContext(),
sourceNodeClone, getVisualDocument());
+ //Fix for JBIDE-3144, we use proxy and some template can
+ //try to cast for not supported interface
+ } catch(ClassCastException ex) {
+ VpePlugin.reportProblem(ex);
+ sourceNodeClone = null;
+ //then we create template without using proxy
+ creationData = template.create(getPageContext(), sourceNode,
+ getVisualDocument());
+ }
+
} else {
creationData = template.create(getPageContext(), sourceNode,
getVisualDocument());