Author: scabanovich
Date: 2009-07-20 12:42:31 -0400 (Mon, 20 Jul 2009)
New Revision: 16684
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DefaultElementGenerator.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropData.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/ExternalDropWizardModel.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/composite/TagAttributesComposite.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteViewPart.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-1826
Drop wizard is switched to new kb.
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DefaultElementGenerator.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DefaultElementGenerator.java 2009-07-20
16:29:54 UTC (rev 16683)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DefaultElementGenerator.java 2009-07-20
16:42:31 UTC (rev 16684)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.common.model.ui.editors.dnd;
-import org.jboss.tools.common.kb.TagDescriptor;
+import
org.jboss.tools.common.model.ui.editors.dnd.DropUtils.AttributeDescriptorValueProvider;
import
org.jboss.tools.common.model.ui.editors.dnd.composite.TagAttributesComposite.AttributeDescriptorValue;
public class DefaultElementGenerator implements IElementGenerator {
@@ -35,18 +35,14 @@
public String generateStartTag() {
TagProposal proposal = getWizardDataModel().getTagProposal();
- TagDescriptor descr = DropUtils.getJspTagDescriptor(
- getWizardDataModel().getDropData().getSourceViewer().getDocument(),
- proposal.getUri(),
- proposal.getLibraryVersion(),
- proposal.getPrefix(),
- proposal.getName()
- );
+ AttributeDescriptorValueProvider valueProvider =
getWizardDataModel().getDropData().getValueProvider();
+ if(valueProvider != null) valueProvider.setProposal(proposal);
+ String tagName = valueProvider == null ? null : valueProvider.getTag();
StringBuffer tagText = new StringBuffer();
- if(descr!=null) {
- String fullName = descr.getFullName();
- if(descr.getPrefix()==null) {
+ if(tagName != null) {
+ String fullName = tagName;
+ if(tagName.indexOf(':') < 0) {
// for HTML
fullName = fullName.toLowerCase();
}
@@ -65,8 +61,8 @@
}
}
- if(descr.hasClosingTag()) {
- if(descr.hasBody()) {
+ if(tagName.indexOf(':') > 0) { //TODO html case, old kb had specific
method
+ if(valueProvider.canHaveBody()) {
tagText
.append(">") //$NON-NLS-1$
.append("</") //$NON-NLS-1$
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropData.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropData.java 2009-07-20
16:29:54 UTC (rev 16683)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropData.java 2009-07-20
16:42:31 UTC (rev 16684)
@@ -19,6 +19,7 @@
import org.eclipse.ui.IEditorInput;
import org.w3c.dom.Node;
+import
org.jboss.tools.common.model.ui.editors.dnd.DropUtils.AttributeDescriptorValueProvider;
import org.jboss.tools.jst.web.tld.VpeTaglibManager;
public class DropData {
@@ -31,6 +32,7 @@
private IDropCommand fDropCommand = null;
private Node container = null;
private String attributeName = null;
+ private AttributeDescriptorValueProvider valueProvider;
/**
*
@@ -172,4 +174,13 @@
public Node getContainer() {
return container;
}
+
+ public void setValueProvider(AttributeDescriptorValueProvider valueProvider) {
+ this.valueProvider = valueProvider;
+ }
+
+ public AttributeDescriptorValueProvider getValueProvider() {
+ return valueProvider;
+ }
+
}
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java 2009-07-20
16:29:54 UTC (rev 16683)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropUtils.java 2009-07-20
16:42:31 UTC (rev 16684)
@@ -12,28 +12,16 @@
import java.io.File;
import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Properties;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.text.IDocument;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IFileEditorInput;
-import org.jboss.tools.common.kb.AttributeDescriptor;
-import org.jboss.tools.common.kb.KbConnectorFactory;
-import org.jboss.tools.common.kb.KbConnectorType;
-import org.jboss.tools.common.kb.KbException;
-import org.jboss.tools.common.kb.KbTldResource;
-import org.jboss.tools.common.kb.TagDescriptor;
-import org.jboss.tools.common.kb.wtp.JspWtpKbConnector;
-import org.jboss.tools.common.kb.wtp.TLDVersionHelper;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.model.XModelObject;
import org.jboss.tools.common.model.filesystems.impl.FileAnyImpl;
@@ -41,7 +29,6 @@
import org.jboss.tools.common.model.ui.ModelUIPlugin;
import org.jboss.tools.common.model.ui.editor.IModelObjectEditorInput;
import org.jboss.tools.common.model.ui.editors.dnd.composite.TagAttributesComposite;
-import
org.jboss.tools.common.model.ui.editors.dnd.composite.TagAttributesComposite.AttributeDescriptorValue;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.jst.web.tld.ITaglibMapping;
import org.jboss.tools.jst.web.tld.IWebProject;
@@ -84,75 +71,14 @@
return tldContent;
}
- /**
- * Get jsp tag's attribute data from prompting knowledgebase, these data needs for
editing in property list
- * @param document - document where tag will be inserted
- * @param uri - uri for tag
- * @param tagPrefix - prefix for tag
- * @param tagName - name for tag
- * @return Array of TagAttributesComposite.AttributeDescriptorValue
- */
- public static final TagAttributesComposite.AttributeDescriptorValue[]
getJspTagAtttributeValueArray(
- IEditorInput input,
- IDocument document,
- String uri,
- String libraryVersion,
- String tagPrefix,
- String tagName
- ) {
- JspWtpKbConnector wtpKbConnector;
- List attributes = null;
- String tldContent = getTldContent(input, uri);
- String tldLocation = ""; //$NON-NLS-1$
- try {
- wtpKbConnector =
(JspWtpKbConnector)KbConnectorFactory.getIntstance().createConnector(KbConnectorType.JSP_WTP_KB_CONNECTOR,
document);
- String version = libraryVersion;
- if(libraryVersion==null || libraryVersion.trim().length()<1) {
- version = TLDVersionHelper.getTldVersion(uri, tagPrefix, document);
- }
- KbTldResource resource = new KbTldResource(uri, tldLocation, tagPrefix, version);
- resource.setTldContent(tldContent);
- wtpKbConnector.registerResource(resource, true);
-
- TagDescriptor tagInfo =
wtpKbConnector.getTagInformation("/"+(tagPrefix==TagProposal.EMPTY_PREFIX?"":tagPrefix+":")+tagName);
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if(tagInfo != null) {
- attributes = tagInfo.getAttributesDescriptors();
- }
- } catch (KbException ex) {
- ModelUIPlugin.getPluginLog().logError(ex);
- }
- if(attributes==null)return new AttributeDescriptorValue[0];
- List<AttributeDescriptorValue> attributesValues = new
ArrayList<AttributeDescriptorValue>();
- for (int i = 0; i < attributes.size(); i++) {
- AttributeDescriptor descriptor = (AttributeDescriptor)attributes.get(i);
- attributesValues.add(new AttributeDescriptorValue(descriptor));
- }
- return attributesValues.toArray(new
AttributeDescriptorValue[attributesValues.size()]);
+ public static interface AttributeDescriptorValueProvider {
+ public void initContext(Properties context);
+ public void setProposal(TagProposal proposal);
+ public String getTag();
+ public boolean canHaveBody();
+ public TagAttributesComposite.AttributeDescriptorValue[] getValues();
}
- public static final TagDescriptor getJspTagDescriptor(
- IDocument document,
- String uri,
- String libraryVersion,
- String tagPrefix,
- String tagName
- ) {
- JspWtpKbConnector wtpKbConnector;
- TagDescriptor tagInfo=null;
- try {
- wtpKbConnector =
(JspWtpKbConnector)KbConnectorFactory.getIntstance().createConnector(KbConnectorType.JSP_WTP_KB_CONNECTOR,document);
- String version = libraryVersion;
- if(libraryVersion==null || libraryVersion.trim().length()<1) {
- version = TLDVersionHelper.getTldVersion(uri, tagPrefix, document);
- }
- wtpKbConnector.registerResource(new KbTldResource(uri, "", tagPrefix,
version), true); //$NON-NLS-1$
- tagInfo =
wtpKbConnector.getTagInformation("/"+(tagPrefix==TagProposal.EMPTY_PREFIX?"":tagPrefix+":")+tagName);
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } catch (KbException ex) {
- ModelUIPlugin.getPluginLog().logError(ex);
- }
- return tagInfo;
- }
-
/**
* Convert mimeData that contain full file path to IFile instance from project
* @param dropData
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/ExternalDropWizardModel.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/ExternalDropWizardModel.java 2009-07-20
16:29:54 UTC (rev 16683)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/ExternalDropWizardModel.java 2009-07-20
16:42:31 UTC (rev 16684)
@@ -15,6 +15,7 @@
import java.util.Comparator;
import java.util.List;
+import
org.jboss.tools.common.model.ui.editors.dnd.DropUtils.AttributeDescriptorValueProvider;
import
org.jboss.tools.common.model.ui.editors.dnd.composite.TagAttributesComposite.AttributeDescriptorValue;
public class ExternalDropWizardModel extends DefaultDropWizardModel implements
IDropWizardModel {
@@ -41,14 +42,11 @@
if(getTagProposal()!=UNDEFINED_TAG_PROPOSAL) {
DropData data = getDropData();
TagProposal proposal = getTagProposal();
- AttributeDescriptorValue[] values = DropUtils.getJspTagAtttributeValueArray(
- data.getEditorInput(),
- data.getSourceViewer().getDocument(),
- proposal.getUri(),
- proposal.getLibraryVersion(),
- proposal.getPrefix(),
- proposal.getName()
- );
+ AttributeDescriptorValueProvider valueProvider = data.getValueProvider();
+ if(valueProvider != null) valueProvider.setProposal(proposal);
+ AttributeDescriptorValue[] values = valueProvider == null ? new
AttributeDescriptorValue[0]
+ : valueProvider.getValues();
+
fAttributeValues = new
ArrayList<AttributeDescriptorValue>(Arrays.asList(sort(values)));
} else {
fAttributeValues = new ArrayList<AttributeDescriptorValue>();
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/composite/TagAttributesComposite.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/composite/TagAttributesComposite.java 2009-07-20
16:29:54 UTC (rev 16683)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/composite/TagAttributesComposite.java 2009-07-20
16:42:31 UTC (rev 16684)
@@ -43,9 +43,8 @@
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
-import org.jboss.tools.common.kb.AttributeDescriptor;
-import org.jboss.tools.common.kb.AttributeValueDescriptor;
import org.jboss.tools.common.model.ui.editors.dnd.IDropWizardModel;
+import
org.jboss.tools.common.model.ui.editors.dnd.DropUtils.AttributeDescriptorValueProvider;
import org.jboss.tools.common.model.ui.objecteditor.ExtendedCellEditorProvider;
import org.jboss.tools.common.model.util.ModelFeatureFactory;
@@ -63,16 +62,18 @@
/**
* @author eskimo
*/
- public static class AttributeDescriptorValue extends AttributeDescriptor {
-
- AttributeDescriptor fDescr;
-
+ public static class AttributeDescriptorValue {
+ String name;
+ boolean isRequired;
+ boolean isPreferable;
/**
*
* @param descriptor
*/
- public AttributeDescriptorValue(AttributeDescriptor descriptor) {
- fDescr = descriptor;
+ public AttributeDescriptorValue(String name, boolean isRequired, boolean isPreferable)
{
+ this.name = name;
+ this.isPreferable = isPreferable;
+ this.isRequired = isRequired;
}
/**
@@ -99,79 +100,38 @@
/**
*
*/
- public void addValuDescriptor(AttributeValueDescriptor value) {
- fDescr.addValuDescriptor(value);
- }
-
- /**
- *
- */
public String getName() {
- return fDescr.getName();
+ return name;
}
/**
*
*/
- public AttributeValueDescriptor[] getValueDesriptors() {
- return fDescr.getValueDesriptors();
- }
-
- /**
- *
- */
public boolean isPreferable() {
- return fDescr.isPreferable();
+ return isPreferable;
}
/**
*
*/
public boolean isRequired() {
- return fDescr.isRequired();
+ return isRequired;
}
/**
*
*/
- public void setName(String name) {
- fDescr.setName(name);
- }
-
- /**
- *
- */
- public void setPreferable(boolean desired) {
- fDescr.setPreferable(desired);
- }
-
- /**
- *
- */
- public void setRequired(boolean required) {
- fDescr.setRequired(required);
- }
-
- /**
- *
- */
public boolean equals(Object obj) {
- return fDescr.equals(obj);
+ return super.equals(obj);
}
/**
*
*/
public int hashCode() {
- return fDescr.hashCode();
+ return super.hashCode();
}
- /**
- *
- */
- public String toString() {
- return fDescr.toString();
- }
}
/**
@@ -205,6 +165,10 @@
removeDisposeListener(this);
}
});
+ AttributeDescriptorValueProvider valueProvider =
fWizardModel.getDropData().getValueProvider();
+ if(valueProvider != null) {
+ valueProvider.initContext(context);
+ }
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteViewPart.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteViewPart.java 2009-07-20
16:29:54 UTC (rev 16683)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/views/palette/PaletteViewPart.java 2009-07-20
16:42:31 UTC (rev 16684)
@@ -198,7 +198,7 @@
}
}
private boolean dropIntoEditor2(ITextEditor editor, XModelObject macro) {
- SpecialWizard w =
SpecialWizardFactory.createSpecialWizard("org.jboss.tools.common.model.ui.editors.dnd.DefaultDropCommandRunner");
//$NON-NLS-1$
+ SpecialWizard w =
SpecialWizardFactory.createSpecialWizard("org.jboss.tools.jst.jsp.outline.DefaultDropCommandRunner");
//$NON-NLS-1$
if(w == null) return false;
Properties p = new Properties();
p.setProperty("isDrag", "true"); //$NON-NLS-1$ //$NON-NLS-2$