1 19 20 package org.netbeans.modules.xml.schema.ui.nodes.categorized.customizer; 21 22 import java.io.IOException ; 23 import java.util.List ; 24 import java.util.Map ; 25 import org.netbeans.modules.xml.schema.model.Include; 26 import org.netbeans.modules.xml.schema.model.Schema; 27 import org.netbeans.modules.xml.schema.model.SchemaModel; 28 import org.netbeans.modules.xml.xam.Model; 29 import org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent; 30 import org.netbeans.modules.xml.xam.ui.customizer.ExternalReferenceCreator; 31 import org.netbeans.modules.xml.xam.ui.customizer.ExternalReferenceDecorator; 32 import org.openide.nodes.Node; 33 import org.openide.util.HelpCtx; 34 import org.openide.util.NbBundle; 35 36 42 public class IncludeCreator extends ExternalReferenceCreator<Schema> { 43 44 private static final long serialVersionUID = 1L; 45 46 private ExternalReferenceDecorator decorator; 47 48 53 public IncludeCreator(Schema schema) { 54 super(schema, null); 55 } 56 57 @Override 58 public void applyChanges() throws IOException { 59 super.applyChanges(); 60 Schema schema = getModelComponent(); 61 SchemaModel model = schema.getModel(); 62 List <Node> nodes = getSelectedNodes(); 63 for (Node node : nodes) { 64 Include imp = model.getFactory().createInclude(); 65 imp.setSchemaLocation(getLocation(node)); 67 schema.addExternalReference(imp); 68 } 69 } 70 71 public HelpCtx getHelpCtx() { 72 return new HelpCtx(IncludeCreator.class); 73 } 74 75 protected String getTargetNamespace(Model model) { 76 return ((SchemaModel) model).getSchema().getTargetNamespace(); 77 } 78 79 @SuppressWarnings ("unchecked") 80 protected Map <String , String > getPrefixes(Model model) { 81 SchemaModel sm = (SchemaModel) model; 82 AbstractDocumentComponent schema = 83 (AbstractDocumentComponent) sm.getSchema(); 84 return schema.getPrefixes(); 85 } 86 87 protected ExternalReferenceDecorator getNodeDecorator() { 88 if (decorator == null) { 89 decorator = new SchemaReferenceDecorator(this); 90 } 91 return decorator; 92 } 93 94 public boolean mustNamespaceDiffer() { 95 return false; 96 } 97 98 protected String referenceTypeName() { 99 return NbBundle.getMessage(IncludeCreator.class, 100 "LBL_IncludeCreator_Type"); 101 } 102 } 103 | Popular Tags |