Author: julien(a)jboss.com
Date: 2007-02-24 19:18:12 -0500 (Sat, 24 Feb 2007)
New Revision: 6392
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/ContentEditorTagHandler.java
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/PortletContentEditor.java
trunk/core-admin/src/resources/portal-admin-sar/content/editor.xhtml
Log:
improve a bit the instance editor
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/ContentEditorTagHandler.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/ContentEditorTagHandler.java 2007-02-24
19:12:20 UTC (rev 6391)
+++
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/ContentEditorTagHandler.java 2007-02-25
00:18:12 UTC (rev 6392)
@@ -27,7 +27,6 @@
import com.sun.facelets.tag.TagAttribute;
import com.sun.facelets.FaceletContext;
import com.sun.facelets.FaceletException;
-import com.sun.facelets.el.VariableMapperWrapper;
import javax.faces.component.UIComponent;
import javax.faces.FacesException;
@@ -35,7 +34,6 @@
import javax.el.ValueExpression;
import javax.el.ExpressionFactory;
import javax.el.VariableMapper;
-import javax.el.ELContext;
import java.io.IOException;
import java.net.URL;
@@ -66,6 +64,11 @@
this.contentType = this.getRequiredAttribute("contentType");
}
+ public static String getContentURI()
+ {
+ return null;
+ }
+
public ContentEditorRegistry getRegistry()
{
return registry;
@@ -97,27 +100,28 @@
// Only perform inclusion if content type is not null
if (editor != null)
{
-
// Get editor URL
URL url = editor.getFaceletURL();
+ //
+ VariableMapper variableMapper = ctx.getVariableMapper();
+ ValueExpression previousContentURIVE =
variableMapper.resolveVariable(contentURI.getLocalName());
+
// Do the include stuff
- VariableMapper orig = ctx.getVariableMapper();
- ctx.setVariableMapper(new VariableMapperWrapper(orig));
try
{
nextHandler.apply(ctx, null);
//
ValueExpression valueVE = contentURI.getValueExpression(ctx, Object.class);
- ctx.getVariableMapper().setVariable(contentURI.getLocalName(), valueVE);
+ variableMapper.setVariable(contentURI.getLocalName(), valueVE);
//
ctx.includeFacelet(parent, url);
}
finally
{
- ctx.setVariableMapper(orig);
+ variableMapper.setVariable(contentURI.getLocalName(), previousContentURIVE);
}
}
}
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/PortletContentEditor.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/PortletContentEditor.java 2007-02-24
19:12:20 UTC (rev 6391)
+++
trunk/core-admin/src/main/org/jboss/portal/core/portlet/management/content/PortletContentEditor.java 2007-02-25
00:18:12 UTC (rev 6392)
@@ -24,13 +24,29 @@
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.core.model.instance.InstanceDefinition;
+import org.jboss.portal.core.model.instance.Instance;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.info.PortletInfo;
+import org.jboss.portal.portlet.info.MetaInfo;
import javax.faces.model.SelectItem;
+import javax.faces.context.FacesContext;
+import javax.faces.application.Application;
+import javax.faces.el.VariableResolver;
+import javax.faces.el.PropertyResolver;
+import javax.faces.el.ValueBinding;
+import javax.el.ExpressionFactory;
+import javax.el.ELContext;
+import javax.el.ValueExpression;
import java.util.List;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
+import java.util.Map;
+import java.util.HashMap;
+import com.sun.facelets.el.ELAdaptor;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
@@ -51,7 +67,7 @@
this.instanceContainer = instanceContainer;
}
- public List getInstances()
+ public List getInstanceItems()
{
Collection definitions = instanceContainer.getDefinitions();
List items = new ArrayList(definitions.size());
@@ -66,4 +82,70 @@
}
return items;
}
+
+ public Map getInstanceMap()
+ {
+ Collection definitions = instanceContainer.getDefinitions();
+ Map map = new HashMap(definitions.size());
+ for (Iterator i = definitions.iterator();i.hasNext();)
+ {
+ InstanceDefinition def = (InstanceDefinition)i.next();
+ map.put(def.getId(), def);
+ }
+ return map;
+ }
+
+ public Instance getSelectedInstance()
+ {
+ try
+ {
+// Class clazz =
Thread.currentThread().getContextClassLoader().loadClass("com.sun.el.ExpressionFactoryImpl");
+// ExpressionFactory factory = (ExpressionFactory)clazz.newInstance();
+// ELContext ctx = ELAdaptor.getELContext(FacesContext.getCurrentInstance());
+//
+// ValueExpression ve =
ctx.getVariableMapper().resolveVariable("contentURI");
+// System.out.println("ve = " + ve);
+// Object o = ve.getValue(ctx);
+// System.out.println("o = " + o);
+// System.out.println("o = " + o);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+// FacesContext ctx = FacesContext.getCurrentInstance();
+// Application app = ctx.getApplication();
+// ValueBinding vb = app.createValueBinding("#{contentURI}");
+// String contentURI = (String)vb.getValue(ctx);
+//// System.out.println("vb.getExpressionString() = " +
vb.getExpressionString());
+//// System.out.println("vb.getExpressionString() = " +
vb.getExpressionString());
+//// System.out.println("vb.getExpressionString() = " +
vb.getExpressionString());
+// System.out.println("contentURI = " + contentURI);
+// System.out.println("contentURI = " + contentURI);
+// System.out.println("contentURI = " + contentURI);
+
+
+ return null;
+ }
+
+// public List getKeywords()
+// {
+// Collection definitions = instanceContainer.getDefinitions();
+// List items = new ArrayList(definitions.size());
+// for (Iterator i = definitions.iterator();i.hasNext();)
+// {
+// InstanceDefinition def = (InstanceDefinition)i.next();
+// Portlet portlet = def.getPortlet();
+// PortletInfo info = portlet.getInfo();
+// MetaInfo meta = info.getMeta();
+// meta.getMetaValue(MetaInfo.KEYWORDS);
+// SelectItem item = new SelectItem();
+// item.setValue(def.getId());
+// item.setDescription("blah");
+// item.setLabel(def.getId());
+// items.add(item);
+// }
+// return items;
+// }
}
Modified: trunk/core-admin/src/resources/portal-admin-sar/content/editor.xhtml
===================================================================
--- trunk/core-admin/src/resources/portal-admin-sar/content/editor.xhtml 2007-02-24
19:12:20 UTC (rev 6391)
+++ trunk/core-admin/src/resources/portal-admin-sar/content/editor.xhtml 2007-02-25
00:18:12 UTC (rev 6392)
@@ -6,7 +6,13 @@
<h:selectOneListbox
value="#{contentURI}">
- <f:selectItems value="#{registry.editors.portlet.instances}"/>
+ <f:selectItems value="#{registry.editors.portlet.instanceItems}"/>
</h:selectOneListbox>
+ <h:panelGroup rendered="#{registry.editors.portlet.instanceMap[contentURI] !=
null}">
+ <h:outputText
value="#{registry.editors.portlet.instanceMap[contentURI].id}"/>
+ </h:panelGroup>
+
+ <h:commandButton value="Show details"/>
+
</div>
\ No newline at end of file
Show replies by date