1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 20 package org.netbeans.modules.websvc.customization.multiview; 21 22 import org.netbeans.modules.websvc.api.jaxws.project.config.Client; 23 import org.netbeans.modules.xml.multiview.ui.SectionInnerPanel; 24 import org.netbeans.modules.xml.multiview.ui.SectionView; 25 import org.netbeans.modules.xml.wsdl.model.WSDLModel; 26 import org.netbeans.modules.xml.xam.ModelSource; 27 import org.openide.ErrorManager; 28 import org.openide.filesystems.FileObject; 29 import org.openide.loaders.DataObject; 30 import org.openide.nodes.Node; 31 32 /** 33 * 34 * @author rico 35 */ 36 public abstract class SaveableSectionInnerPanel extends SectionInnerPanel { 37 38 /** Creates a new instance of SaveableSectionInnerPanel */ 39 public SaveableSectionInnerPanel(SectionView view) { 40 super(view); 41 } 42 43 protected boolean isClient(Node node){ 44 Client client = (Client)node.getLookup().lookup(Client.class); 45 if(client != null){ 46 return true; 47 } 48 return false; 49 } 50 51 protected void setModelDirty(WSDLModel model){ 52 try{ 53 ModelSource ms = model.getModelSource(); 54 FileObject fo = (FileObject)ms.getLookup().lookup(FileObject.class); 55 DataObject wsdlDO = DataObject.find(fo); 56 if(!wsdlDO.isModified()){ 57 wsdlDO.setModified(true); 58 } 59 }catch(Exception e){ 60 ErrorManager.getDefault().notify(e); 61 } 62 } 63 64 /** 65 * Perform anything here other than saving the wsdl 66 */ 67 public abstract void save(); 68 69 /** 70 * Does the jaxws model need to be saved? 71 */ 72 public boolean jaxwsIsDirty(){ 73 return false; 74 } 75 76 /** 77 * Has the wsdl been changed? 78 */ 79 public abstract boolean wsdlIsDirty(); 80 } 81