Author: scabanovich
Date: 2012-01-12 20:23:53 -0500 (Thu, 12 Jan 2012)
New Revision: 37807
Added:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/attribute/adapter/FilterNameListAdapter.java
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml
Log:
JBIDE-10576
https://issues.joss.org/browse/JBIDE-10576
Linking field editor is implemented for web.xml attributes 'servlet-name',
'filter-name' and 'role-name' where they are references to objects with
such name.
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml 2012-01-13 01:15:31 UTC (rev
37806)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/plugin.xml 2012-01-13 01:23:53 UTC (rev
37807)
@@ -17,6 +17,8 @@
</attributeAdapter>
<attributeAdapter
class="org.jboss.tools.jst.web.ui.attribute.adapter.ServletNameListAdapter"
id="ServletList">
</attributeAdapter>
+ <attributeAdapter
class="org.jboss.tools.jst.web.ui.attribute.adapter.FilterNameListAdapter"
id="FilterList">
+ </attributeAdapter>
</extension>
<extension point="org.jboss.tools.common.model.ui.attributeEditor">
<attributeEditor
class="org.jboss.tools.common.model.ui.attribute.editor.ComboBoxEditor"
id="WebRoleList">
@@ -27,6 +29,8 @@
</attributeEditor>
<attributeEditor
class="org.jboss.tools.common.model.ui.attribute.editor.ComboBoxEditor"
id="ServletList">
</attributeEditor>
+ <attributeEditor
class="org.jboss.tools.common.model.ui.attribute.editor.ComboBoxEditor"
id="FilterList">
+ </attributeEditor>
</extension>
<extension id="e" name="XML Editors"
point="org.jboss.tools.common.model.ui.xmlEditor">
Added:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/attribute/adapter/FilterNameListAdapter.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/attribute/adapter/FilterNameListAdapter.java
(rev 0)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/attribute/adapter/FilterNameListAdapter.java 2012-01-13
01:23:53 UTC (rev 37807)
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.web.ui.attribute.adapter;
+
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.filesystems.FileSystemsHelper;
+import org.jboss.tools.common.model.ui.attribute.*;
+import org.jboss.tools.common.model.ui.attribute.adapter.*;
+import org.jboss.tools.common.meta.XAttribute;
+import org.jboss.tools.jst.web.model.helpers.WebAppHelper;
+import org.jboss.tools.jst.web.webapp.model.WebAppConstants;
+
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class FilterNameListAdapter extends DefaultComboBoxValueAdapter {
+
+ protected IListContentProvider createListContentProvider(XAttribute attribute) {
+ FilterNameListContentProvider p = new FilterNameListContentProvider();
+ p.setModel(model, modelObject);
+ p.setAttribute(attribute);
+ return p;
+ }
+
+}
+
+class FilterNameListContentProvider extends DefaultXAttributeListContentProvider {
+ private XModel model;
+ private XModelObject object;
+
+ public void setModel(XModel model, XModelObject context) {
+ this.model = model;
+ object = context;
+ }
+
+ protected void loadTags() {
+ XModelObject webxml = FileSystemsHelper.getFile(object);
+ if(webxml == null) {
+ webxml = WebAppHelper.getWebApp(model);
+ }
+ if(webxml != null) {
+ XModelObject[] os = WebAppHelper.getFilters(webxml);
+ tags = new String[os.length];
+ for (int i = 0; i < tags.length; i++) tags[i] =
os[i].getAttributeValue(WebAppConstants.FILTER_NAME);
+ }
+ }
+
+}
Property changes on:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/attribute/adapter/FilterNameListAdapter.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain