Example #1
1
        private void buttonConnect_Click(object sender, EventArgs e)
        {
            listViewWellbore.Columns.Clear();
            listViewWellbore.Items.Clear();
            listViewDetail.Columns.Clear();
            listViewDetail.Items.Clear();
            listViewLogData.Columns.Clear();
            listViewLogData.Items.Clear();
            listViewLogData.GridLines            = false;
            LoadlogdataToolStripMenuItem.Enabled = false;
            toCSVToolStripMenuItem.Enabled       = false;
            toolStripStatusLabelWellPath.Text    = String.Empty;

            step = 0;

            Cursor.Current = Cursors.WaitCursor;

            try
            {
                svr = new WitsmlServer(comboBoxURL.Text, textBoxUsername.Text, textBoxPassword.Text,
                                       WitsmlVersion.VERSION_1_3_1, clientCapabilities);

                wells = svr.get <WitsmlWell>(new WitsmlQuery());

                CreateWellColumns();
                ShowItemsOfWells();

                toolStripStatusLabelWellPath.Text = "Double click on well to see wellbores";

                if (!comboBoxURL.Items.Contains(comboBoxURL.Text))
                {
                    comboBoxURL.Items.Add(comboBoxURL.Text);
                }

                SaveHistoryInFile("history.txt");
            }

            catch (WebException)
            {
                MessageBox.Show("Username and password do not match. Please check your URL and credentials again.",
                                "Login error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            catch (UriFormatException)
            {
                MessageBox.Show("URI format could not be determined. Please input complete URL; for example: http://serveraddress/wmls/wmls.asmx",
                                "URL not valid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Example #2
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. Always null on this level.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML realtime instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String parentId = element.Attribute("uidWellbore").Value;

            WitsmlRealtime realtime = new WitsmlRealtime(server, parent, parentId);

            realtime.update(element);

            return(realtime);
        }
Example #3
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. Always null on this level.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML rig instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uid").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = element.Element(element.Name.Namespace + "name").Value.Trim(); //, element.getNamespace());

            WitsmlRig rig = new WitsmlRig(server, id, name, parent, parentId);

            rig.update(element);

            return(rig);
        }
Example #4
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML wellbore instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uidMudLog").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = XmlUtil.update(element, "name", (String)null);

            WitsmlMudLog mudLog = new WitsmlMudLog(server, id, name, parent, parentId);

            mudLog.update(element);

            return(mudLog);
        }
Example #5
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. Always null on this level.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML message instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uidMessage").Value;
            String parentId = element.Attribute("uidWellbore").Value;

            WitsmlMessage message = new WitsmlMessage(server, id, parent, parentId);

            message.update(element);

            return(message);
        }
Example #6
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML cement job instance. Never null.
         */
        static WitsmlObject newInstances(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uidCementJob").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = element.Element(element.Name.Namespace + "nameCementJob").Value.Trim(); //, element.getNamespace());

            WitsmlCementJob cementJob = new WitsmlCementJob(server, id, name, parent, parentId);

            cementJob.update(element);

            return(cementJob);
        }
Example #7
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML bha run instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uidTubularAssy").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = element.Element(element.Name.Namespace + "nameTubularAssy").Value.Trim(); //, element.getNamespace());

            WitsmlBhaRun bhaRun = new WitsmlBhaRun(server, id, name, parent, parentId);

            bhaRun.update(element);

            return(bhaRun);
        }
Example #8
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. Always null on this level.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML well instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
                                        XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id   = element.Attribute("uid").Value;
            String name = element.Element(element.Name.Namespace + "name").Value.Trim(); //, element.getNamespace());

            WitsmlWell witsmlWell = new WitsmlWell(server, id, name, parent);

            witsmlWell.update(element);

            return(witsmlWell);
        }
Example #9
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML log instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
                                        XElement element)
        { //throws WitsmlParseException {
          //Debug.Assert(server != null : "server cannot be null";
          //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uid").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = element.Element(element.Name.Namespace + "name").Value.Trim(); //, element.getNamespace());

            WitsmlLog log = new WitsmlLog(server, id, name, parent, parentId);

            log.update(element);

            return(log);
        }
Example #10
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML wellbore instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server,
                                        WitsmlObject parent, XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uidTraj").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = element.Element(element.Name.Namespace + "nameTraj").Value.Trim(); // element.getNamespace());

            WitsmlTrajectory witsmlTrajectory = new WitsmlTrajectory(server, id, name, parent, parentId);

            witsmlTrajectory.update(element);

            return(witsmlTrajectory);
        }
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML formation marker instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
                                        XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id       = element.Attribute("uidMarker").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = element.Element(element.Name.Namespace + "nameMarker").Value.Trim(); //, element.getNamespace());

            WitsmlFormationMarker formationMarker = new WitsmlFormationMarker(server, id, name, parent, parentId);

            formationMarker.update(element);

            return(formationMarker);
        }
Example #12
0
        /// <summary>
        /// Factory method for this type.
        /// </summary>
        /// <param name="server">Server the new instance lives within. Non-null.</param>
        /// <param name="parent">Parent instance. May be null.</param>
        /// <param name="element">XML element to create instance from. Non-null.</param>
        /// <returns>New WITSML wellbore instance. Never null.</returns>
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server cannot be null");
            }
            if (element == null)
            {
                throw new ArgumentNullException("element cannot be null");
            }

            String id       = element.Attribute("uid").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name     = XmlUtil.update(element, "name", (String)null);

            WitsmlMudLog mudLog = new WitsmlMudLog(server, id, name, parent, parentId);

            mudLog.update(element);

            return(mudLog);
        }
Example #13
0
        /// <summary>
        /// Factory method for this type.
        /// </summary>
        /// <param name="server">Server the new instance lives within. Non-null.</param>
        /// <param name="parent">Parent instance. Always null on this level.</param>
        /// <param name="element">XML element to create instance from. Non-null.</param>
        /// <returns>New WITSML well instance. Never null.</returns>
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
                                        XElement element)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server cannot be null");
            }
            if (element == null)
            {
                throw new ArgumentNullException("element cannot be null");
            }

            String id   = element.Attribute("uid").Value;
            String name = element.Element(element.Name.Namespace + "name").Value.Trim(); //, element.getNamespace());

            WitsmlWell witsmlWell = new WitsmlWell(server, id, name, parent);

            witsmlWell.update(element);

            return(witsmlWell);
        }
Example #14
0
        //Throwable throwable)
        /**
         * Create a WITSML response information instance.
         *
         * @param requestTime   Time of request in milliseconds since the epoch.
         * @param requestXml    The request XML. Non-null.
         * @param responseXml   The response XML. May be null.
         * @param throwable     Throwable if one was thrown, or null if not.
         */
        internal WitsmlAccessEvent(WitsmlServer witsmlServer,
            String wsdlFunction, String witsmlType,
            long requestTime,
            String request,
            String response,
            Int32? statusCode,
            String serverMessage,
            Exception throwable)
        {
            //Debug.Assert(witsmlServer != null : "witsmlServer cannot be null";
            //Debug.Assert(wsdlFunction != null : "wsdlFunction cannot be null";
            //Debug.Assert(requestTime <= System.currentTimeMillis() : "Request time in the future: " + requestTime;

            this.witsmlServer = witsmlServer;
            this.wsdlFunction = wsdlFunction;
            this.witsmlType = witsmlType;
            this.requestTime = requestTime;
            this.request = request;
            this.response = response;
            this.statusCode = statusCode;
            this.serverMessage = serverMessage;
            this.responseTime = DateTime.Now.Ticks - requestTime ; // System.currentTimeMillis() - requestTime;
            this.throwable = throwable;
        }
Example #15
0
 /**
  * Create a new WITSML well instance.
  *
  * @param server  Server this instance lives within. Non-null.
  * @param id      ID of instance. May be null.
  * @param name    Name of instance. May be null.
  * @param parent  Parent of instance. Always null on this level.
  */
 private WitsmlWell(WitsmlServer server, String id, String name, WitsmlObject parent)
     : base(server, id, name, parent)
 {
 }
Example #16
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. Always null on this level.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML rig instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(element != null : "element cannot be null";

            String id = element.Attribute("uid").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name = element.Element(element.Name.Namespace + "name").Value.Trim(); //, element.getNamespace());

            WitsmlRig rig = new WitsmlRig(server, id, name, parent, parentId);
            rig.update(element);

            return rig;
        }
Example #17
0
        /**
         * Create a new WITSML wellbore instance.
         *
         * @param server  Server this instance lives within. Non-null.
         * @param id      ID of instance. May be null.
         * @param name    Name of instance. May be null.
         * @param parent  Parent of instance. May be null.
         * @param parent  ID of parent instance. May be null.
         */
        private WitsmlTrajectory(WitsmlServer server, String id, String name,
                                 WitsmlObject parent, String parentId)

            : base(server, id, name, parent, parentId)
        {
        }
Example #18
0
        /**
         * Create a new WITSML realtime instance.
         *
         * @param server    Server this instance lives within. Non-null.
         * @param parent    Parent of instance. May be null.
         * @param parentId  ID of parent instance. May be null.
         */
        private WitsmlRealtime(WitsmlServer server, String id, WitsmlObject parent, String parentId)

            : base(server, id, parent, parentId)
        {
        }
Example #19
0
 // protected WitsmlDrillingParameters drillingParameters; // drillingParams
 /**
  * Create a well object with specified ID.
  *
  * @param id  ID of this well.
  */
 protected WitsmlBhaRun(WitsmlServer server, String id, String name,
     WitsmlObject parent, String parentId)
     : base(server, WITSML_TYPE, id, name, parent, parentId)
 {
 }
Example #20
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. Always null on this level.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML realtime instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
            XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id = element.Attribute("idSub").Value;
            String parentId = element.Attribute("uidWellbore").Value;

            WitsmlRealtime realtime = new WitsmlRealtime(server, id, parent, parentId);
            realtime.update(element);

            return realtime;
        }
Example #21
0
        /**
         * Create a new WITSML cement job instance.
         *
         * @param server    Server this instance lives within. Non-null.
         * @param id        ID of instance. May be null.
         * @param name      Name of instance. May be null.
         * @param parent    Parent of instance. May be null.
         * @param parentId  ID of parent instance. May be null.
         */
        private WitsmlCementJob(WitsmlServer server, String id, String name,
                                WitsmlObject parent, String parentId)

            : base(server, id, name, parent, parentId)
        {
        }
Example #22
0
 /**
  * Create a new WITSML cement job instance.
  *
  * @param server    Server this instance lives within. Non-null.
  * @param id        ID of instance. May be null.
  * @param name      Name of instance. May be null.
  * @param parent    Parent of instance. May be null.
  * @param parentId  ID of parent instance. May be null.
  */
 private WitsmlCementJob(WitsmlServer server, String id, String name,
     WitsmlObject parent, String parentId)
     : base(server, id, name, parent, parentId)
 {
 }
Example #23
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML bha run instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id = element.Attribute("uidTubularAssy").Value ;
            String parentId = element.Attribute("uidWellbore").Value;
            String name = element.Element(element.Name.Namespace + "nameTubularAssy").Value.Trim(); //, element.getNamespace());

            WitsmlBhaRun bhaRun = new WitsmlBhaRun(server, id, name, parent, parentId);
            bhaRun.update(element);

            return bhaRun;
        }
Example #24
0
        /**
         * Create a new WITSML message instance.
         *
         * @param server  Server this instance lives within. Non-null.
         * @param id      ID of instance. May be null.
         * @param parent  Parent of instance. May be null.
         */
        private WitsmlMessage(WitsmlServer server, String id, WitsmlObject parent, String parentId)

            : base(server, id, null, parent, parentId)
        {
        }
Example #25
0
 /**
  * Create a new WITSML message instance.
  *
  * @param server  Server this instance lives within. Non-null.
  * @param id      ID of instance. May be null.
  * @param name    Name of instance. May be null.
  * @param parent  Parent of instance. May be null.
  */
 private WitsmlMessage(WitsmlServer server, String id, String name, WitsmlObject parent, String parentId)
     : base(server, id, name, parent, parentId)
 {
 }
Example #26
0
        /**
         * Create a new WITSML well instance.
         *
         * @param server  Server this instance lives within. Non-null.
         * @param id      ID of instance. May be null.
         * @param name    Name of instance. May be null.
         * @param parent  Parent of instance. Always null on this level.
         */
        private WitsmlWell(WitsmlServer server, String id, String name, WitsmlObject parent)

            : base(server, id, name, parent)
        {
        }
Example #27
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML log instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
            XElement element)
        {
            //throws WitsmlParseException {

            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id = element.Attribute("uid").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name = element.Element(element.Name.Namespace + "name").Value.Trim(); //, element.getNamespace());

            WitsmlLog log = new WitsmlLog(server, id, name, parent, parentId);
            log.update(element);

            return log;
        }
Example #28
0
 /**
  * Create a new WITSML realtime instance.
  *
  * @param server    Server this instance lives within. Non-null.
  * @param parent    Parent of instance. May be null.
  * @param parentId  ID of parent instance. May be null.
  */
 private WitsmlRealtime(WitsmlServer server, String id, WitsmlObject parent, String parentId)
     : base(server, id, parent, parentId)
 {
 }
Example #29
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. Always null on this level.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML well instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
            XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id = element.Attribute("uid").Value;
            String name = element.Element(element.Name.Namespace +"name").Value.Trim(); //, element.getNamespace());

            WitsmlWell witsmlWell = new WitsmlWell(server, id, name, parent);
            witsmlWell.update(element);

            return witsmlWell;
        }
Example #30
0
        /**
         * Create a new WITSML fluids report instance.
         *
         * @param server    Server this instance lives within. Non-null.
         * @param id        ID of instance. May be null.
         * @param name      Name of instance. May be null.
         * @param parent    Parent of instance. May be null.
         * @param parentId  ID of parent instance. May be null.
         */
        private WitsmlFluidsReport(WitsmlServer server, String id, String name,
                                   WitsmlObject parent, String parentId)

            : base(server, id, name, parent, parentId)
        {
        }
Example #31
0
 /// <summary>
 /// Create a realtime object with specified parent.
 /// </summary>
 /// <param name="server"></param>
 /// <param name="id"></param>
 /// <param name="parent"></param>
 /// <param name="parentId"></param>
 protected WitsmlRealtime(WitsmlServer server, String id, WitsmlObject parent, String parentId)
     : base(server, WITSML_TYPE, id, null, parent, parentId)
 {
 }
        /**
         * Create a new WITSML formation marker instance.
         *
         * @param server    Server this instance lives within. Non-null.
         * @param id        ID of instance. May be null.
         * @param name      Name of instance. May be null.
         * @param parent    Parent of instance. May be null.
         * @param parentId  ID of parent instance. May be null.
         */
        private WitsmlFormationMarker(WitsmlServer server, String id, String name,
                                      WitsmlObject parent, String parentId)

            : base(server, id, name, parent, parentId)
        {
        }
Example #33
0
        /**
         * Create a new WITSML wellbore instance.
         *
         * @param server    Server this instance lives within. Non-null.
         * @param id        ID of instance. May be null.
         * @param name      Name of instance. May be null.
         * @param parent    Parent of instance. May be null.
         * @param parentId  ID of parent instance. May be null.
         */
        private WitsmlWellbore(WitsmlServer server, String id, String name,
                               WitsmlObject parent, String parentId)

            : base(server, id, name, parent, parentId)
        {
        }
Example #34
0
 /**
  * Create a well object with specified ID.
  *
  * @param id  ID of this well.
  */
 protected WitsmlWell(WitsmlServer server, String id, String name,
     WitsmlObject parent)
     : base(server, WITSML_TYPE, id, name, parent, null)
 {
 }
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML formation marker instance. Never null.
         */
        static WitsmlObject newInstance(WitsmlServer server, WitsmlObject parent,
            XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id = element.Attribute("uidMarker").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name = element.Element(element.Name.Namespace +"nameMarker").Value.Trim(); //, element.getNamespace());

            WitsmlFormationMarker formationMarker = new WitsmlFormationMarker(server, id, name, parent, parentId);
            formationMarker.update(element);

            return formationMarker;
        }
 /**
  * Create a new WITSML formation marker instance.
  *
  * @param server    Server this instance lives within. Non-null.
  * @param id        ID of instance. May be null.
  * @param name      Name of instance. May be null.
  * @param parent    Parent of instance. May be null.
  * @param parentId  ID of parent instance. May be null.
  */
 private WitsmlFormationMarker(WitsmlServer server, String id, String name,
     WitsmlObject parent, String parentId)
     : base(server, id, name, parent, parentId)
 {
 }
Example #37
0
        /**
         * Factory method for this type.
         *
         * @param server   Server the new instance lives within. Non-null.
         * @param parent   Parent instance. May be null.
         * @param element  XML element to create instance from. Non-null.
         * @return         New WITSML cement job instance. Never null.
         */
        static WitsmlObject newInstances(WitsmlServer server, WitsmlObject parent, XElement element)
        {
            //Debug.Assert(server != null : "server cannot be null";
            //Debug.Assert(element != null : "element cannot be null";

            String id = element.Attribute("uidCementJob").Value;
            String parentId = element.Attribute("uidWellbore").Value;
            String name = element.Element(element.Name.Namespace +"nameCementJob").Value.Trim(); //, element.getNamespace());

            WitsmlCementJob cementJob = new WitsmlCementJob(server, id, name, parent, parentId);
            cementJob.update(element);

            return cementJob;
        }
 protected WitsmlWellboreGeometrySection(WitsmlServer server,
     String id, String name,
     WitsmlObject parent, String parentId)
     : base(server, WITSML_TYPE, id, name, parent, parentId)
 {
 }