@@ -18,7 +18,36 @@ package de.kp.works.witsml
18
18
*
19
19
*/
20
20
21
+ import com .hashmapinc .tempus .WitsmlObjects .v1411 .{ObjWellbores , ObjWells }
21
22
import com .hashmapinc .tempus .witsml .api .WitsmlVersion
23
+ import com .hashmapinc .tempus .witsml .client .WitsmlQuery
24
+ import de .kp .works .witsml .Objects1411 ._
25
+
26
+ object Objects1411 extends Enumeration {
27
+ val ATTACHMENT : Objects1411 .Value = Value (" ATTACHMENT" )
28
+ val BHARUN : Objects1411 .Value = Value (" BHARUN" )
29
+ val CEMENTJOB : Objects1411 .Value = Value (" CEMENTJOB" )
30
+ val CHANGELOG : Objects1411 .Value = Value (" CHANGELOG" )
31
+ val CONVCORE : Objects1411 .Value = Value (" CONVCORE" )
32
+ val DRILLREPORT : Objects1411 .Value = Value (" DRILLREPORT" )
33
+ val FLUIDREPORT : Objects1411 .Value = Value (" FLUIDREPORT" )
34
+ val FORMATIONMARKER : Objects1411 .Value = Value (" FORMATIONMARKER" )
35
+ val LOG : Objects1411 .Value = Value (" LOG" )
36
+ val MESSAGE : Objects1411 .Value = Value (" MESSAGE" )
37
+ val MUDLOG : Objects1411 .Value = Value (" MUDLOG" )
38
+ val OBJECTGROUP : Objects1411 .Value = Value (" OBJECTGROUP" )
39
+ val OPSREPORT : Objects1411 .Value = Value (" OPSREPORT" )
40
+ val RIG : Objects1411 .Value = Value (" RIG" )
41
+ val RISK : Objects1411 .Value = Value (" RISK" )
42
+ val SIDEWALLCORE : Objects1411 .Value = Value (" SIDEWALLCORE" )
43
+ val STIMJOB : Objects1411 .Value = Value (" STIMJOB" )
44
+ val SURVEYPROGRAM : Objects1411 .Value = Value (" SURVEYPROGRAM" )
45
+ val TARGET : Objects1411 .Value = Value (" TARGET" )
46
+ val TRAJECTORY : Objects1411 .Value = Value (" TRAJECTORY" )
47
+ val TUBULAR : Objects1411 .Value = Value (" TUBULAR" )
48
+ val WBGEOMETRY : Objects1411 .Value = Value (" WBGEOMETRY" )
49
+
50
+ }
22
51
23
52
class WitsmlObjects1411 (
24
53
/* Specifies the witsml.tcp address of the witsml server */
@@ -28,4 +57,101 @@ class WitsmlObjects1411(
28
57
/* Specify the password for Witsml Server */
29
58
password: String ) extends WitsmlObjects (endpoint, username, password, WitsmlVersion .VERSION_1411 ) {
30
59
60
+ def getObject (witsmlQuery : WitsmlQuery , objectType: Objects1411 .Value ): Any = {
61
+ try {
62
+ objectType match {
63
+ case ATTACHMENT =>
64
+ client.getAttachmentsAsObj(witsmlQuery)
65
+ case BHARUN =>
66
+ client.getBhaRunsAsObj(witsmlQuery)
67
+ case CEMENTJOB =>
68
+ client.getCementJobsAsObj(witsmlQuery)
69
+ case CHANGELOG =>
70
+ client.getChangeLogsAsObj(witsmlQuery)
71
+ case CONVCORE =>
72
+ client.getConvCoresAsObj(witsmlQuery)
73
+ case DRILLREPORT =>
74
+ client.getDrillReportsAsObj(witsmlQuery)
75
+ case FLUIDREPORT =>
76
+ client.getFluidsReportsAsObj(witsmlQuery)
77
+ case FORMATIONMARKER =>
78
+ client.getFormationMarkersAsObj(witsmlQuery)
79
+ case LOG =>
80
+ client.getLogsAsObj(witsmlQuery)
81
+ case MESSAGE =>
82
+ client.getMessagesAsObj(witsmlQuery)
83
+ case MUDLOG =>
84
+ client.getMudLogsAsObj(witsmlQuery)
85
+ case OBJECTGROUP =>
86
+ client.getObjectGroupsAsObj(witsmlQuery)
87
+ case OPSREPORT =>
88
+ client.getOpsReportsAsObj(witsmlQuery)
89
+ case RIG =>
90
+ client.getRigsAsObj(witsmlQuery)
91
+ case RISK =>
92
+ client.getRisksAsObj(witsmlQuery)
93
+ case SIDEWALLCORE =>
94
+ client.getSideWallCoresAsObj(witsmlQuery)
95
+ case STIMJOB =>
96
+ client.getStimJobsAsObj(witsmlQuery)
97
+ case SURVEYPROGRAM =>
98
+ client.getSurveyProgramsAsObj(witsmlQuery)
99
+ case TARGET =>
100
+ client.getTargetsAsObj(witsmlQuery)
101
+ case TRAJECTORY =>
102
+ client.getTrajectorysAsObj(witsmlQuery)
103
+ case TUBULAR =>
104
+ client.getTubularsAsObj(witsmlQuery)
105
+ case WBGEOMETRY =>
106
+ client.getWbGeometrysAsObj(witsmlQuery)
107
+ case _ =>
108
+ throw new Exception (s " Provided object type ` ${objectType.toString}` is not supported. " )
109
+ }
110
+ } catch {
111
+ case t: Throwable =>
112
+ val message = s " Error getting data from WITSML server (Version 1411). "
113
+ logger.error(message, t)
114
+
115
+ null
116
+ }
117
+ }
118
+
119
+ def getWells (witsmlQuery: WitsmlQuery ): ObjWells = {
120
+
121
+ try {
122
+ /*
123
+ * Note: Even if the server operates with version 1.3.11,
124
+ * the server internally converts the result into version
125
+ * v1411
126
+ */
127
+ val wells : com.hashmapinc.tempus.WitsmlObjects .v1411.ObjWells =
128
+ client.getWellsAsObj(witsmlQuery)
129
+
130
+ wells
131
+
132
+ } catch {
133
+ case t: Throwable => null
134
+ }
135
+
136
+ }
137
+
138
+ def getWellbores (witsmlQuery: WitsmlQuery ): ObjWellbores = {
139
+
140
+ try {
141
+ /*
142
+ * Note: Even if the server operates with version 1.3.11,
143
+ * the server internally converts the result into version
144
+ * v1411
145
+ */
146
+ val wellbores : com.hashmapinc.tempus.WitsmlObjects .v1411.ObjWellbores =
147
+ client.getWellboresForWellAsObj(witsmlQuery)
148
+
149
+ wellbores
150
+
151
+ } catch {
152
+ case t: Throwable => null
153
+ }
154
+
155
+ }
156
+
31
157
}
0 commit comments