1 19 package org.netbeans.modules.xml.schema.completion.util; 20 21 import java.io.InputStream ; 22 import java.util.ArrayList ; 23 import java.util.List ; 24 import org.netbeans.modules.xml.schema.completion.spi.CompletionContext; 25 import org.netbeans.modules.xml.schema.completion.spi.CompletionModelProvider; 26 import org.netbeans.modules.xml.schema.completion.spi.CompletionModelProvider.CompletionModel; 27 import org.netbeans.modules.xml.schema.model.SchemaModel; 28 import org.netbeans.modules.xml.schema.model.SchemaModelFactory; 29 import org.netbeans.modules.xml.xam.ModelSource; 30 import org.netbeans.modules.xml.xam.dom.AbstractDocumentModel; 31 import org.openide.util.lookup.Lookups; 32 33 38 public class MetaSchemaModelProvider extends CompletionModelProvider { 39 40 private CompletionContextImpl context; 41 42 public MetaSchemaModelProvider() { 43 } 44 45 50 public List <CompletionModel> getModels(CompletionContext context) { 51 SchemaModel sm = createMetaSchemaModel(); 52 if(sm == null) 53 return null; 54 CompletionModel cm = new CompletionModelEx((CompletionContextImpl)context, "xsd", sm); List <CompletionModel> models = new ArrayList <CompletionModel>(); 56 models.add(cm); 57 return models; 58 } 59 60 private SchemaModel createMetaSchemaModel() { 61 try { 62 InputStream in = getClass().getResourceAsStream("XMLSchema.xsd"); javax.swing.text.Document d = AbstractDocumentModel. 64 getAccessProvider().loadSwingDocument(in); 65 ModelSource ms = new ModelSource(Lookups.singleton(d), false); 66 SchemaModel m = SchemaModelFactory.getDefault().createFreshModel(ms); 67 m.sync(); 68 return m; 69 } catch (Exception ex) { 70 } 72 return null; 73 } 74 75 } 76 | Popular Tags |