diff options
author | pfullbright | 2011-01-14 22:25:13 +0000 |
---|---|---|
committer | pfullbright | 2011-01-14 22:25:13 +0000 |
commit | ed5e4ea4b242b3b0af6e8647c71b653a265e87e6 (patch) | |
tree | c49e8090c1cb362d149d086093a53731c8c822ae /jaxb | |
parent | 1e24976bc20027e9f6dcc1bf72b84bcc9509cf19 (diff) | |
download | webtools.dali-ed5e4ea4b242b3b0af6e8647c71b653a265e87e6.tar.gz webtools.dali-ed5e4ea4b242b3b0af6e8647c71b653a265e87e6.tar.xz webtools.dali-ed5e4ea4b242b3b0af6e8647c71b653a265e87e6.zip |
added xml type namespace content assist
Diffstat (limited to 'jaxb')
-rw-r--r-- | jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java index 27f4458ad1..3b2a0b8795 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java @@ -288,18 +288,35 @@ public abstract class AbstractJavaPersistentType return result; } + if (namespaceTouches(pos, astRoot)) { + return namespaceProposals(filter); + } + if (nameTouches(pos, astRoot)) { - return nameCandidates(filter); + return nameProposals(filter); } return EmptyIterable.instance(); } + protected boolean namespaceTouches(int pos, CompilationUnit astRoot) { + return getXmlTypeAnnotation().namespaceTouches(pos, astRoot); + } + + protected Iterable<String> namespaceProposals(Filter<String> filter) { + XsdSchema schema = getJaxbPackage().getXsdSchema(); + if (schema == null) { + return EmptyIterable.instance(); + } + return StringTools.convertToJavaStringLiterals( + new FilteringIterable<String>(schema.getNamespaces(), filter)); + } + protected boolean nameTouches(int pos, CompilationUnit astRoot) { return getXmlTypeAnnotation().nameTouches(pos, astRoot); } - protected Iterable<String> nameCandidates(Filter<String> filter) { + protected Iterable<String> nameProposals(Filter<String> filter) { String namespace = getNamespaceForContentAssist(); XsdSchema schema = getJaxbPackage().getXsdSchema(); if (schema == null) { |