Fixed missing cookies in JsfJavaDataObject lookup release60_fcs_03dec2007 sailfin_support_in_six_oh_update_base
authorquynguyen@netbeans.org
Tue, 16 Oct 2007 22:46:20 +0000
changeset 1756d73c973ad005
parent 1755 f6381a7e926e
child 1757 53db3f204f21
Fixed missing cookies in JsfJavaDataObject lookup
visualweb.project.jsfloader/src/org/netbeans/modules/visualweb/project/jsfloader/JsfJavaDataObject.java
     1.1 --- a/visualweb.project.jsfloader/src/org/netbeans/modules/visualweb/project/jsfloader/JsfJavaDataObject.java	Tue Oct 16 22:06:59 2007 +0000
     1.2 +++ b/visualweb.project.jsfloader/src/org/netbeans/modules/visualweb/project/jsfloader/JsfJavaDataObject.java	Tue Oct 16 22:46:20 2007 +0000
     1.3 @@ -56,10 +56,13 @@
     1.4  import org.openide.loaders.DataObjectNotFoundException;
     1.5  import org.openide.loaders.MultiDataObject;
     1.6  import org.openide.nodes.Node;
     1.7 +import org.openide.nodes.Node.Cookie;
     1.8  import org.openide.util.HelpCtx;
     1.9  
    1.10  import org.netbeans.modules.visualweb.api.insync.JsfJavaDataObjectMarker;
    1.11  import org.netbeans.modules.visualweb.project.jsf.api.JsfDataObjectException;
    1.12 +import org.openide.cookies.EditorCookie;
    1.13 +import org.openide.nodes.CookieSet;
    1.14  import org.openide.util.Lookup;
    1.15  
    1.16  
    1.17 @@ -68,14 +71,19 @@
    1.18   *
    1.19   * @author Peter Zavadsky
    1.20   */
    1.21 -public class JsfJavaDataObject extends MultiDataObject implements JsfJavaDataObjectMarker {
    1.22 +public class JsfJavaDataObject extends MultiDataObject implements JsfJavaDataObjectMarker, CookieSet.Factory {
    1.23  
    1.24  
    1.25      static final long serialVersionUID =8354927561693097159L;
    1.26      static final String JSF_ATTRIBUTE = "jsfjava"; // NOI18N
    1.27 -
    1.28 +    
    1.29      public JsfJavaDataObject(FileObject pf, JsfJavaDataLoader loader) throws DataObjectExistsException {
    1.30          super(pf, loader);
    1.31 +        
    1.32 +        CookieSet set = getCookieSet();
    1.33 +        set.add(OpenCookie.class, this);
    1.34 +        set.add(EditCookie.class, this);
    1.35 +        set.add(EditorCookie.class, this);
    1.36      }
    1.37  
    1.38      /** Gets the superclass cookie, without hacking save cookie. */
    1.39 @@ -87,6 +95,7 @@
    1.40      
    1.41      /** Overrides behaviour to provide compound save cookie. */
    1.42      @Override
    1.43 +    @SuppressWarnings(value ="unchecked")
    1.44      public Node.Cookie getCookie(Class clazz) {
    1.45          if(clazz == SaveCookie.class){
    1.46              FileObject primaryJsfFileObject = Utils.findJspForJava(getPrimaryFile());
    1.47 @@ -106,18 +115,27 @@
    1.48                      return new CompoundSaveCookie(javaSaveCookie, jspSaveCookie);
    1.49                  }
    1.50              }
    1.51 -        }else if (OpenCookie.class.equals(clazz) || EditCookie.class.equals(clazz)) {
    1.52 -            if (openEdit == null)
    1.53 -                openEdit = new OpenEdit();
    1.54 -
    1.55 -            return openEdit;
    1.56          }else if (clazz.isAssignableFrom(JsfJavaEditorSupport.class)) {
    1.57              return getJsfJavaEditorSupport();
    1.58 -         }
    1.59 +        }
    1.60  
    1.61          return super.getCookie(clazz);
    1.62      }
    1.63  
    1.64 +    public <T extends Cookie> T createCookie(Class<T> klass) {
    1.65 +        if (OpenCookie.class.equals(klass) || EditCookie.class.equals(klass)) {
    1.66 +            if (openEdit == null) {
    1.67 +                openEdit = new OpenEdit();
    1.68 +            }
    1.69 +            return klass.cast(openEdit);
    1.70 +        }else if (EditorCookie.class.equals(klass)) {
    1.71 +            return klass.cast(getJsfJavaEditorSupport());
    1.72 +        }else {
    1.73 +            return null;
    1.74 +        }
    1.75 +    }
    1.76 +    
    1.77 +    
    1.78      /** Hacking access to be able to add the save cookie, see the JsfJavaEditorSupport. */
    1.79      void addSaveCookie(SaveCookie save) {
    1.80          getCookieSet().add(save);
    1.81 @@ -242,7 +260,6 @@
    1.82              getJsfJavaEditorSupport().open();
    1.83          }
    1.84      }
    1.85 -    
    1.86  // </rave>
    1.87  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    1.88  }