/**
 * <License>
 */
package edu.colorado.csdms.wmt.client.data;

import com.google.gwt.core.client.JavaScriptObject;

/**
 * A GWT JavaScript overlay (JSO) type that gives the metadata for a WMT model,
 * including the owner, the model id and the model name; information
 * corresponding to the "open" URL in the API. Declares JSNI methods to access
 * these attributes.
 * 
 * @author Mark Piper (mark.piper@colorado.edu)
 */
public class ModelMetadataJSO extends JavaScriptObject {

  // Overlay types always have protected, zero-arg constructors.
  protected ModelMetadataJSO() {
  }

  /**
   * Gets the name of the model, a String. This is a JSNI method.
   */
  public final native String getName() /*-{
		return this.name;
  }-*/;

  /**
   * A JSNI method to get the id of the model, an int used to uniquely
   * identify it in the database. The user can't modify this id -- it's set by
   * the API. Be aware that this is different than {@link ModelJSO#getId()},
   * which is used to get the id of a component.
   * <p>
   * Returns a value of -1 if no model metadata are present.
   */
  public final native int getId() /*-{
		if (typeof this.id == 'undefined') {
			return -1;
		} else {
			return this.id;
		}
  }-*/;

  /**
   * A JSNI method to get the owner of the model, a String.
   */
  public final native String getOwner() /*-{
		return this.owner;
  }-*/;
}

@@ -110,16 +110,60 @@
 tObject;
+%0Aimport com.google.gwt.dev.javac.JsniMethod;
 %0A%0A/**%0A *
@@ -236,18 +236,18 @@
  WMT
+%0A *
  model,
-%0A *
  inc
@@ -769,32 +769,237 @@
 .name;%0A  %7D-*/;%0A%0A
+  /**%0A   * Sets the name of the model, a String. This is a JSNI method.%0A   * %0A   * @param name the name of the model%0A   */%0A  public final native void setName(String name) /*-%7B%0A%09%09this.name = name;%0A  %7D-*/;%0A%0A
   /**%0A   * A JSN
@@ -1490,128 +1490,566 @@
   * 
-A JSNI method to get the owner of the model, a String.%0A   */%0A  public final native String getOwner() /*-%7B%0A%09%09return this.
+Sets the id of the model, an int. This is a JSNI method.%0A   * %0A   * @param id the id of the model assigned by the WMT API%0A   */%0A  public final native void setId(int id) /*-%7B%0A%09%09this.id = id;%0A  %7D-*/;%0A%0A  /**%0A   * A JSNI method to get the owner of the model, a String.%0A   */%0A  public final native String getOwner() /*-%7B%0A%09%09return this.owner;%0A  %7D-*/;%0A%0A  /**%0A   * Sets the owner of the model, a String. This is a JSNI method.%0A   * %0A   * @param owner the username of the owner of the model%0A   */%0A  public final native void setOwner(String owner) /*-%7B%0A%09%09this.owner = 
 owne

Add setter methods to ModelMetadataJSO