~ubuntu-core-dev/ubuntu/maverick/eucalyptus/devel

« back to all changes in this revision

Viewing changes to cluster/generated/adb_configureNetworkType.c

  • Committer: Dustin Kirkland
  • Date: 2010-07-22 08:41:57 UTC
  • mfrom: (1050.1.19 ubuntu)
  • Revision ID: kirkland@x200-20100722084157-zh2p8dkawznvxxpn
Approving Dave Walker's merge of new upstream Eucalyptus 2.0 release.

Dustin Kirkland <kirkland@canonical.com>

* New major upstream version merge, 2.0 (r1211).
  - 01-wsdl-stubs.patch, debian/wsdl.md5sums: wsdl stubs updated.
  - 11-state-cleanup-memleakfix.patch: Removed, fixed upstream.
  - 21-eucalyptus-1.7-with-gwt-1.6.4.patch: New patch, allows 
    eucalyptus-1.7 to be built against gwt 1.6.4. Based on patch courtesy 
    of Dmitrii Zagorodnov, upstream. (LP: #597330)
* debian/eucalyptus-java-common.links: 
  - Changed symlink for groovy, point to groovy.all.jar, making compatiable 
    with groovy versions >1.7. (LP: #595421)
  - Added ant.jar & jetty-rewrite-handler.jar as they are now required.
* debian/control
  - & debian/build-jars: Added libjavassist-java and libjetty-extra-java as 
    build dependencies.
  - Added libjetty-extra-java as a dependency of eucalyptus-java-common
* The binary resulting jar's have been renamed from eucalyptus-*-1.6.2.jar
  to eucalyptus-*-main.jar:    
  - debian/eucalyptus-cc.upstart
  - debian/eucalyptus-cloud.install
  - debian/eucalyptus-common.eucalyptus.upstart
  - debian/eucalyptus-java-common.install
  - debian/eucalyptus-network.upstart
  - debian/eucalyptus-sc.install
  - debian/eucalyptus-walrus.install
* debian/eucalyptus-java-common.install: New upstream jars that have been
  installed:
  - eucalyptus-db-hsqldb-ext-main.jar
  - eucalyptus-component-main.jar
* debian/control:
  - Updated Standards Version to 3.8.4 (no change)
  - Updated the upstream Homepage to: http://open.eucalyptus.com/
  - Changed Vcs-Bzr to reflect new location of Ubuntu hosted development branch.
  - Made the Build Dependency of groovy and the binary eucalyptus-java-common
    package depend on version >=1.7.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
 
 
3
        /**
 
4
         * adb_configureNetworkType.c
 
5
         *
 
6
         * This file was auto-generated from WSDL
 
7
         * by the Apache Axis2/C version: SNAPSHOT  Built on : Mar 10, 2008 (08:35:52 GMT+00:00)
 
8
         */
 
9
 
 
10
        #include "adb_configureNetworkType.h"
 
11
        
 
12
                /*
 
13
                 * This type was generated from the piece of schema that had
 
14
                 * name = configureNetworkType
 
15
                 * Namespace URI = http://eucalyptus.ucsb.edu/
 
16
                 * Namespace Prefix = ns1
 
17
                 */
 
18
           
 
19
 
 
20
 
 
21
        struct adb_configureNetworkType
 
22
        {
 
23
            axis2_char_t* property_correlationId;
 
24
 
 
25
                
 
26
                axis2_bool_t is_valid_correlationId;
 
27
 
 
28
 
 
29
            axis2_char_t* property_userId;
 
30
 
 
31
                
 
32
                axis2_bool_t is_valid_userId;
 
33
 
 
34
 
 
35
            axis2_char_t* property_statusMessage;
 
36
 
 
37
                
 
38
                axis2_bool_t is_valid_statusMessage;
 
39
 
 
40
 
 
41
            axis2_bool_t property_return;
 
42
 
 
43
                
 
44
                axis2_bool_t is_valid_return;
 
45
 
 
46
 
 
47
            axutil_array_list_t* property_rules;
 
48
 
 
49
                
 
50
                axis2_bool_t is_valid_rules;
 
51
 
 
52
 
 
53
            
 
54
        };
 
55
 
 
56
 
 
57
       /************************* Private Function prototypes ********************************/
 
58
        
 
59
 
 
60
                axis2_status_t AXIS2_CALL
 
61
                adb_configureNetworkType_set_correlationId_nil(
 
62
                        adb_configureNetworkType_t* _configureNetworkType,
 
63
                        const axutil_env_t *env);
 
64
            
 
65
 
 
66
                axis2_status_t AXIS2_CALL
 
67
                adb_configureNetworkType_set_userId_nil(
 
68
                        adb_configureNetworkType_t* _configureNetworkType,
 
69
                        const axutil_env_t *env);
 
70
            
 
71
 
 
72
                axis2_status_t AXIS2_CALL
 
73
                adb_configureNetworkType_set_return_nil(
 
74
                        adb_configureNetworkType_t* _configureNetworkType,
 
75
                        const axutil_env_t *env);
 
76
            
 
77
                 axis2_status_t AXIS2_CALL
 
78
                 adb_configureNetworkType_set_rules_nil_at(
 
79
                        adb_configureNetworkType_t* _configureNetworkType, 
 
80
                        const axutil_env_t *env, int i);
 
81
                
 
82
 
 
83
                axis2_status_t AXIS2_CALL
 
84
                adb_configureNetworkType_set_rules_nil(
 
85
                        adb_configureNetworkType_t* _configureNetworkType,
 
86
                        const axutil_env_t *env);
 
87
            
 
88
 
 
89
 
 
90
       /************************* Function Implmentations ********************************/
 
91
        adb_configureNetworkType_t* AXIS2_CALL
 
92
        adb_configureNetworkType_create(
 
93
            const axutil_env_t *env)
 
94
        {
 
95
            adb_configureNetworkType_t *_configureNetworkType = NULL;
 
96
            
 
97
            AXIS2_ENV_CHECK(env, NULL);
 
98
 
 
99
            _configureNetworkType = (adb_configureNetworkType_t *) AXIS2_MALLOC(env->
 
100
                allocator, sizeof(adb_configureNetworkType_t));
 
101
 
 
102
            if(NULL == _configureNetworkType)
 
103
            {
 
104
                AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
 
105
                return NULL;
 
106
            }
 
107
 
 
108
            memset(_configureNetworkType, 0, sizeof(adb_configureNetworkType_t));
 
109
 
 
110
            _configureNetworkType->property_correlationId  = NULL;
 
111
                  _configureNetworkType->is_valid_correlationId  = AXIS2_FALSE;
 
112
            _configureNetworkType->property_userId  = NULL;
 
113
                  _configureNetworkType->is_valid_userId  = AXIS2_FALSE;
 
114
            _configureNetworkType->property_statusMessage  = NULL;
 
115
                  _configureNetworkType->is_valid_statusMessage  = AXIS2_FALSE;
 
116
            _configureNetworkType->is_valid_return  = AXIS2_FALSE;
 
117
            _configureNetworkType->property_rules  = NULL;
 
118
                  _configureNetworkType->is_valid_rules  = AXIS2_FALSE;
 
119
            
 
120
 
 
121
            return _configureNetworkType;
 
122
        }
 
123
 
 
124
        axis2_status_t AXIS2_CALL
 
125
        adb_configureNetworkType_free (
 
126
                adb_configureNetworkType_t* _configureNetworkType,
 
127
                const axutil_env_t *env)
 
128
        {
 
129
            
 
130
                int i = 0;
 
131
                int count = 0;
 
132
                void *element = NULL;
 
133
            
 
134
 
 
135
            AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
136
            AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
137
 
 
138
            adb_configureNetworkType_reset_correlationId(_configureNetworkType, env);
 
139
            adb_configureNetworkType_reset_userId(_configureNetworkType, env);
 
140
            adb_configureNetworkType_reset_statusMessage(_configureNetworkType, env);
 
141
            adb_configureNetworkType_reset_return(_configureNetworkType, env);
 
142
            adb_configureNetworkType_reset_rules(_configureNetworkType, env);
 
143
            
 
144
 
 
145
            if(_configureNetworkType)
 
146
            {
 
147
                AXIS2_FREE(env->allocator, _configureNetworkType);
 
148
                _configureNetworkType = NULL;
 
149
            }
 
150
            return AXIS2_SUCCESS;
 
151
        }
 
152
 
 
153
 
 
154
        
 
155
 
 
156
        axis2_status_t AXIS2_CALL
 
157
        adb_configureNetworkType_deserialize(
 
158
                adb_configureNetworkType_t* _configureNetworkType,
 
159
                const axutil_env_t *env,
 
160
                axiom_node_t **dp_parent,
 
161
                axis2_bool_t *dp_is_early_node_valid,
 
162
                axis2_bool_t dont_care_minoccurs)
 
163
        {
 
164
          axiom_node_t *parent = *dp_parent;
 
165
          
 
166
          axis2_status_t status = AXIS2_SUCCESS;
 
167
          
 
168
              void *element = NULL;
 
169
           
 
170
             axis2_char_t* text_value = NULL;
 
171
             axutil_qname_t *qname = NULL;
 
172
          
 
173
               int i = 0;
 
174
               axutil_array_list_t *arr_list = NULL;
 
175
            
 
176
               int sequence_broken = 0;
 
177
               axiom_node_t *tmp_node = NULL;
 
178
            
 
179
            axutil_qname_t *element_qname = NULL; 
 
180
            
 
181
               axiom_node_t *first_node = NULL;
 
182
               axis2_bool_t is_early_node_valid = AXIS2_TRUE;
 
183
               axiom_node_t *current_node = NULL;
 
184
               axiom_element_t *current_element = NULL;
 
185
            
 
186
            AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
187
            AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
188
 
 
189
            
 
190
              
 
191
              while(parent && axiom_node_get_node_type(parent, env) != AXIOM_ELEMENT)
 
192
              {
 
193
                  parent = axiom_node_get_next_sibling(parent, env);
 
194
              }
 
195
              if (NULL == parent)
 
196
              {
 
197
                /* This should be checked before everything */
 
198
                AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
 
199
                            "Failed in building adb object for configureNetworkType : "
 
200
                            "NULL elemenet can not be passed to deserialize");
 
201
                return AXIS2_FAILURE;
 
202
              }
 
203
              
 
204
                      
 
205
                      first_node = axiom_node_get_first_child(parent, env);
 
206
                      
 
207
                    
 
208
 
 
209
                     
 
210
                     /*
 
211
                      * building correlationId element
 
212
                      */
 
213
                     
 
214
                     
 
215
                     
 
216
                                   current_node = first_node;
 
217
                                   is_early_node_valid = AXIS2_FALSE;
 
218
                                   
 
219
                                   
 
220
                                    while(current_node && axiom_node_get_node_type(current_node, env) != AXIOM_ELEMENT)
 
221
                                    {
 
222
                                        current_node = axiom_node_get_next_sibling(current_node, env);
 
223
                                    }
 
224
                                    if(current_node != NULL)
 
225
                                    {
 
226
                                        current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, env);
 
227
                                        qname = axiom_element_get_qname(current_element, env, current_node);
 
228
                                    }
 
229
                                   
 
230
                                 element_qname = axutil_qname_create(env, "correlationId", "http://eucalyptus.ucsb.edu/", NULL);
 
231
                                 
 
232
 
 
233
                           if ( 
 
234
                                (current_node   && current_element && (axutil_qname_equals(element_qname, env, qname))))
 
235
                           {
 
236
                              if( current_node   && current_element && (axutil_qname_equals(element_qname, env, qname)))
 
237
                              {
 
238
                                is_early_node_valid = AXIS2_TRUE;
 
239
                              }
 
240
                              
 
241
                                 
 
242
                                      text_value = axiom_element_get_text(current_element, env, current_node);
 
243
                                      if(text_value != NULL)
 
244
                                      {
 
245
                                            status = adb_configureNetworkType_set_correlationId(_configureNetworkType, env,
 
246
                                                               text_value);
 
247
                                      }
 
248
                                      
 
249
                                      else
 
250
                                      {
 
251
                                            /*
 
252
                                             * axis2_qname_t *qname = NULL;
 
253
                                             * axiom_attribute_t *the_attri = NULL;
 
254
                                             * 
 
255
                                             * qname = axutil_qname_create(env, "nil", "http://www.w3.org/2001/XMLSchema-instance", "xsi");
 
256
                                             * the_attri = axiom_element_get_attribute(current_element, env, qname);
 
257
                                             */
 
258
                                            /* currently thereis a bug in the axiom_element_get_attribute, so we have to go to this bad method */
 
259
 
 
260
                                            axiom_attribute_t *the_attri = NULL;
 
261
                                            axis2_char_t *attrib_text = NULL;
 
262
                                            axutil_hash_t *attribute_hash = NULL;
 
263
 
 
264
                                            attribute_hash = axiom_element_get_all_attributes(current_element, env);
 
265
 
 
266
                                            attrib_text = NULL;
 
267
                                            if(attribute_hash)
 
268
                                            {
 
269
                                                 axutil_hash_index_t *hi;
 
270
                                                 void *val;
 
271
                                                 const void *key;
 
272
                                        
 
273
                                                 for (hi = axutil_hash_first(attribute_hash, env); hi; hi = axutil_hash_next(env, hi)) 
 
274
                                                 {
 
275
                                                     axutil_hash_this(hi, &key, NULL, &val);
 
276
                                                     
 
277
                                                     if(strstr((axis2_char_t*)key, "nil|http://www.w3.org/2001/XMLSchema-instance"))
 
278
                                                     {
 
279
                                                         the_attri = (axiom_attribute_t*)val;
 
280
                                                         break;
 
281
                                                     }
 
282
                                                 }
 
283
                                            }
 
284
 
 
285
                                            if(the_attri)
 
286
                                            {
 
287
                                                attrib_text = axiom_attribute_get_value(the_attri, env);
 
288
                                            }
 
289
                                            else
 
290
                                            {
 
291
                                                /* this is hoping that attribute is stored in "http://www.w3.org/2001/XMLSchema-instance", this happnes when name is in default namespace */
 
292
                                                attrib_text = axiom_element_get_attribute_value_by_name(current_element, env, "nil");
 
293
                                            }
 
294
 
 
295
                                            if(attrib_text && 0 == axutil_strcmp(attrib_text, "1"))
 
296
                                            {
 
297
                                                AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL value is set to a non nillable element correlationId");
 
298
                                                status = AXIS2_FAILURE;
 
299
                                            }
 
300
                                            else
 
301
                                            {
 
302
                                                /* after all, we found this is a empty string */
 
303
                                                status = adb_configureNetworkType_set_correlationId(_configureNetworkType, env,
 
304
                                                                   "");
 
305
                                            }
 
306
                                      }
 
307
                                      
 
308
                                 if(AXIS2_FAILURE ==  status)
 
309
                                 {
 
310
                                     AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "failed in setting the value for correlationId ");
 
311
                                     if(element_qname)
 
312
                                     {
 
313
                                         axutil_qname_free(element_qname, env);
 
314
                                     }
 
315
                                     return AXIS2_FAILURE;
 
316
                                 }
 
317
                              }
 
318
                           
 
319
                  if(element_qname)
 
320
                  {
 
321
                     axutil_qname_free(element_qname, env);
 
322
                     element_qname = NULL;
 
323
                  }
 
324
                 
 
325
 
 
326
                     
 
327
                     /*
 
328
                      * building userId element
 
329
                      */
 
330
                     
 
331
                     
 
332
                     
 
333
                                    /*
 
334
                                     * because elements are ordered this works fine
 
335
                                     */
 
336
                                  
 
337
                                   
 
338
                                   if(current_node != NULL && is_early_node_valid)
 
339
                                   {
 
340
                                       current_node = axiom_node_get_next_sibling(current_node, env);
 
341
                                       
 
342
                                       
 
343
                                        while(current_node && axiom_node_get_node_type(current_node, env) != AXIOM_ELEMENT)
 
344
                                        {
 
345
                                            current_node = axiom_node_get_next_sibling(current_node, env);
 
346
                                        }
 
347
                                        if(current_node != NULL)
 
348
                                        {
 
349
                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, env);
 
350
                                            qname = axiom_element_get_qname(current_element, env, current_node);
 
351
                                        }
 
352
                                       
 
353
                                   }
 
354
                                   is_early_node_valid = AXIS2_FALSE;
 
355
                                 
 
356
                                 element_qname = axutil_qname_create(env, "userId", "http://eucalyptus.ucsb.edu/", NULL);
 
357
                                 
 
358
 
 
359
                           if ( 
 
360
                                (current_node   && current_element && (axutil_qname_equals(element_qname, env, qname))))
 
361
                           {
 
362
                              if( current_node   && current_element && (axutil_qname_equals(element_qname, env, qname)))
 
363
                              {
 
364
                                is_early_node_valid = AXIS2_TRUE;
 
365
                              }
 
366
                              
 
367
                                 
 
368
                                      text_value = axiom_element_get_text(current_element, env, current_node);
 
369
                                      if(text_value != NULL)
 
370
                                      {
 
371
                                            status = adb_configureNetworkType_set_userId(_configureNetworkType, env,
 
372
                                                               text_value);
 
373
                                      }
 
374
                                      
 
375
                                      else
 
376
                                      {
 
377
                                            /*
 
378
                                             * axis2_qname_t *qname = NULL;
 
379
                                             * axiom_attribute_t *the_attri = NULL;
 
380
                                             * 
 
381
                                             * qname = axutil_qname_create(env, "nil", "http://www.w3.org/2001/XMLSchema-instance", "xsi");
 
382
                                             * the_attri = axiom_element_get_attribute(current_element, env, qname);
 
383
                                             */
 
384
                                            /* currently thereis a bug in the axiom_element_get_attribute, so we have to go to this bad method */
 
385
 
 
386
                                            axiom_attribute_t *the_attri = NULL;
 
387
                                            axis2_char_t *attrib_text = NULL;
 
388
                                            axutil_hash_t *attribute_hash = NULL;
 
389
 
 
390
                                            attribute_hash = axiom_element_get_all_attributes(current_element, env);
 
391
 
 
392
                                            attrib_text = NULL;
 
393
                                            if(attribute_hash)
 
394
                                            {
 
395
                                                 axutil_hash_index_t *hi;
 
396
                                                 void *val;
 
397
                                                 const void *key;
 
398
                                        
 
399
                                                 for (hi = axutil_hash_first(attribute_hash, env); hi; hi = axutil_hash_next(env, hi)) 
 
400
                                                 {
 
401
                                                     axutil_hash_this(hi, &key, NULL, &val);
 
402
                                                     
 
403
                                                     if(strstr((axis2_char_t*)key, "nil|http://www.w3.org/2001/XMLSchema-instance"))
 
404
                                                     {
 
405
                                                         the_attri = (axiom_attribute_t*)val;
 
406
                                                         break;
 
407
                                                     }
 
408
                                                 }
 
409
                                            }
 
410
 
 
411
                                            if(the_attri)
 
412
                                            {
 
413
                                                attrib_text = axiom_attribute_get_value(the_attri, env);
 
414
                                            }
 
415
                                            else
 
416
                                            {
 
417
                                                /* this is hoping that attribute is stored in "http://www.w3.org/2001/XMLSchema-instance", this happnes when name is in default namespace */
 
418
                                                attrib_text = axiom_element_get_attribute_value_by_name(current_element, env, "nil");
 
419
                                            }
 
420
 
 
421
                                            if(attrib_text && 0 == axutil_strcmp(attrib_text, "1"))
 
422
                                            {
 
423
                                                AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL value is set to a non nillable element userId");
 
424
                                                status = AXIS2_FAILURE;
 
425
                                            }
 
426
                                            else
 
427
                                            {
 
428
                                                /* after all, we found this is a empty string */
 
429
                                                status = adb_configureNetworkType_set_userId(_configureNetworkType, env,
 
430
                                                                   "");
 
431
                                            }
 
432
                                      }
 
433
                                      
 
434
                                 if(AXIS2_FAILURE ==  status)
 
435
                                 {
 
436
                                     AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "failed in setting the value for userId ");
 
437
                                     if(element_qname)
 
438
                                     {
 
439
                                         axutil_qname_free(element_qname, env);
 
440
                                     }
 
441
                                     return AXIS2_FAILURE;
 
442
                                 }
 
443
                              }
 
444
                           
 
445
                  if(element_qname)
 
446
                  {
 
447
                     axutil_qname_free(element_qname, env);
 
448
                     element_qname = NULL;
 
449
                  }
 
450
                 
 
451
 
 
452
                     
 
453
                     /*
 
454
                      * building statusMessage element
 
455
                      */
 
456
                     
 
457
                     
 
458
                     
 
459
                                    /*
 
460
                                     * because elements are ordered this works fine
 
461
                                     */
 
462
                                  
 
463
                                   
 
464
                                   if(current_node != NULL && is_early_node_valid)
 
465
                                   {
 
466
                                       current_node = axiom_node_get_next_sibling(current_node, env);
 
467
                                       
 
468
                                       
 
469
                                        while(current_node && axiom_node_get_node_type(current_node, env) != AXIOM_ELEMENT)
 
470
                                        {
 
471
                                            current_node = axiom_node_get_next_sibling(current_node, env);
 
472
                                        }
 
473
                                        if(current_node != NULL)
 
474
                                        {
 
475
                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, env);
 
476
                                            qname = axiom_element_get_qname(current_element, env, current_node);
 
477
                                        }
 
478
                                       
 
479
                                   }
 
480
                                   is_early_node_valid = AXIS2_FALSE;
 
481
                                 
 
482
                                 element_qname = axutil_qname_create(env, "statusMessage", "http://eucalyptus.ucsb.edu/", NULL);
 
483
                                 
 
484
 
 
485
                           if ( 
 
486
                                (current_node   && current_element && (axutil_qname_equals(element_qname, env, qname))))
 
487
                           {
 
488
                              if( current_node   && current_element && (axutil_qname_equals(element_qname, env, qname)))
 
489
                              {
 
490
                                is_early_node_valid = AXIS2_TRUE;
 
491
                              }
 
492
                              
 
493
                                 
 
494
                                      text_value = axiom_element_get_text(current_element, env, current_node);
 
495
                                      if(text_value != NULL)
 
496
                                      {
 
497
                                            status = adb_configureNetworkType_set_statusMessage(_configureNetworkType, env,
 
498
                                                               text_value);
 
499
                                      }
 
500
                                      
 
501
                                 if(AXIS2_FAILURE ==  status)
 
502
                                 {
 
503
                                     AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "failed in setting the value for statusMessage ");
 
504
                                     if(element_qname)
 
505
                                     {
 
506
                                         axutil_qname_free(element_qname, env);
 
507
                                     }
 
508
                                     return AXIS2_FAILURE;
 
509
                                 }
 
510
                              }
 
511
                           
 
512
                  if(element_qname)
 
513
                  {
 
514
                     axutil_qname_free(element_qname, env);
 
515
                     element_qname = NULL;
 
516
                  }
 
517
                 
 
518
 
 
519
                     
 
520
                     /*
 
521
                      * building return element
 
522
                      */
 
523
                     
 
524
                     
 
525
                     
 
526
                                    /*
 
527
                                     * because elements are ordered this works fine
 
528
                                     */
 
529
                                  
 
530
                                   
 
531
                                   if(current_node != NULL && is_early_node_valid)
 
532
                                   {
 
533
                                       current_node = axiom_node_get_next_sibling(current_node, env);
 
534
                                       
 
535
                                       
 
536
                                        while(current_node && axiom_node_get_node_type(current_node, env) != AXIOM_ELEMENT)
 
537
                                        {
 
538
                                            current_node = axiom_node_get_next_sibling(current_node, env);
 
539
                                        }
 
540
                                        if(current_node != NULL)
 
541
                                        {
 
542
                                            current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, env);
 
543
                                            qname = axiom_element_get_qname(current_element, env, current_node);
 
544
                                        }
 
545
                                       
 
546
                                   }
 
547
                                   is_early_node_valid = AXIS2_FALSE;
 
548
                                 
 
549
                                 element_qname = axutil_qname_create(env, "return", "http://eucalyptus.ucsb.edu/", NULL);
 
550
                                 
 
551
 
 
552
                           if ( 
 
553
                                (current_node   && current_element && (axutil_qname_equals(element_qname, env, qname))))
 
554
                           {
 
555
                              if( current_node   && current_element && (axutil_qname_equals(element_qname, env, qname)))
 
556
                              {
 
557
                                is_early_node_valid = AXIS2_TRUE;
 
558
                              }
 
559
                              
 
560
                                 
 
561
                                      text_value = axiom_element_get_text(current_element, env, current_node);
 
562
                                      if(text_value != NULL)
 
563
                                      {
 
564
                                            if (!axutil_strcasecmp(text_value , "true"))
 
565
                                            {
 
566
                                                status = adb_configureNetworkType_set_return(_configureNetworkType, env,
 
567
                                                                 AXIS2_TRUE);
 
568
                                            }
 
569
                                            else
 
570
                                            {
 
571
                                                status = adb_configureNetworkType_set_return(_configureNetworkType, env,
 
572
                                                                      AXIS2_FALSE);
 
573
                                            }
 
574
                                      }
 
575
                                      
 
576
                                      else
 
577
                                      {
 
578
                                          AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL value is set to a non nillable element return");
 
579
                                          status = AXIS2_FAILURE;
 
580
                                      }
 
581
                                      
 
582
                                 if(AXIS2_FAILURE ==  status)
 
583
                                 {
 
584
                                     AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "failed in setting the value for return ");
 
585
                                     if(element_qname)
 
586
                                     {
 
587
                                         axutil_qname_free(element_qname, env);
 
588
                                     }
 
589
                                     return AXIS2_FAILURE;
 
590
                                 }
 
591
                              }
 
592
                           
 
593
                  if(element_qname)
 
594
                  {
 
595
                     axutil_qname_free(element_qname, env);
 
596
                     element_qname = NULL;
 
597
                  }
 
598
                 
 
599
                    /*
 
600
                     * building rules array
 
601
                     */
 
602
                       arr_list = axutil_array_list_create(env, 10);
 
603
                   
 
604
 
 
605
                     
 
606
                     /*
 
607
                      * building rules element
 
608
                      */
 
609
                     
 
610
                     
 
611
                     
 
612
                                    element_qname = axutil_qname_create(env, "rules", "http://eucalyptus.ucsb.edu/", NULL);
 
613
                                  
 
614
                               
 
615
                               for (i = 0, sequence_broken = 0, current_node = (is_early_node_valid?axiom_node_get_next_sibling(current_node, env):current_node); !sequence_broken && current_node != NULL;) 
 
616
                                             
 
617
                               {
 
618
                                  if(axiom_node_get_node_type(current_node, env) != AXIOM_ELEMENT)
 
619
                                  {
 
620
                                     current_node =axiom_node_get_next_sibling(current_node, env);
 
621
                                     is_early_node_valid = AXIS2_FALSE;
 
622
                                     continue;
 
623
                                  }
 
624
                                  
 
625
                                  current_element = (axiom_element_t *)axiom_node_get_data_element(current_node, env);
 
626
                                  qname = axiom_element_get_qname(current_element, env, current_node);
 
627
 
 
628
                                  if (axutil_qname_equals(element_qname, env, qname))
 
629
                                  {
 
630
                                  
 
631
                                      is_early_node_valid = AXIS2_TRUE;
 
632
                                      
 
633
                                     
 
634
                                          element = (void*)adb_networkRule_create(env);
 
635
                                          
 
636
                                          status =  adb_networkRule_deserialize((adb_networkRule_t*)element, env,
 
637
                                                                                 &current_node, &is_early_node_valid, AXIS2_FALSE);
 
638
                                          
 
639
                                          if(AXIS2_FAILURE ==  status)
 
640
                                          {
 
641
                                              AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "failed in building element rules ");
 
642
                                          }
 
643
                                          else
 
644
                                          {
 
645
                                            axutil_array_list_add_at(arr_list, env, i, element);
 
646
                                          }
 
647
                                        
 
648
                                     if(AXIS2_FAILURE ==  status)
 
649
                                     {
 
650
                                         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "failed in setting the value for rules ");
 
651
                                         if(element_qname)
 
652
                                         {
 
653
                                            axutil_qname_free(element_qname, env);
 
654
                                         }
 
655
                                         if(arr_list)
 
656
                                         {
 
657
                                            axutil_array_list_free(arr_list, env);
 
658
                                         }
 
659
                                         return AXIS2_FAILURE;
 
660
                                     }
 
661
 
 
662
                                     i ++;
 
663
                                    current_node = axiom_node_get_next_sibling(current_node, env);
 
664
                                  }
 
665
                                  else
 
666
                                  {
 
667
                                      is_early_node_valid = AXIS2_FALSE;
 
668
                                      sequence_broken = 1;
 
669
                                  }
 
670
                                  
 
671
                               }
 
672
 
 
673
                               
 
674
                                   if (i < 0)
 
675
                                   {
 
676
                                     /* found element out of order */
 
677
                                     AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "rules (@minOccurs = '0') only have %d elements", i);
 
678
                                     if(element_qname)
 
679
                                     {
 
680
                                        axutil_qname_free(element_qname, env);
 
681
                                     }
 
682
                                     if(arr_list)
 
683
                                     {
 
684
                                        axutil_array_list_free(arr_list, env);
 
685
                                     }
 
686
                                     return AXIS2_FAILURE;
 
687
                                   }
 
688
                               
 
689
 
 
690
                               if(0 == axutil_array_list_size(arr_list,env))
 
691
                               {
 
692
                                    axutil_array_list_free(arr_list, env);
 
693
                               }
 
694
                               else
 
695
                               {
 
696
                                    status = adb_configureNetworkType_set_rules(_configureNetworkType, env,
 
697
                                                                   arr_list);
 
698
                               }
 
699
 
 
700
                             
 
701
                  if(element_qname)
 
702
                  {
 
703
                     axutil_qname_free(element_qname, env);
 
704
                     element_qname = NULL;
 
705
                  }
 
706
                 
 
707
          return status;
 
708
       }
 
709
 
 
710
          axis2_bool_t AXIS2_CALL
 
711
          adb_configureNetworkType_is_particle()
 
712
          {
 
713
            
 
714
                 return AXIS2_FALSE;
 
715
              
 
716
          }
 
717
 
 
718
 
 
719
          void AXIS2_CALL
 
720
          adb_configureNetworkType_declare_parent_namespaces(
 
721
                    adb_configureNetworkType_t* _configureNetworkType,
 
722
                    const axutil_env_t *env, axiom_element_t *parent_element,
 
723
                    axutil_hash_t *namespaces, int *next_ns_index)
 
724
          {
 
725
            
 
726
                  /* Here this is an empty function, Nothing to declare */
 
727
                 
 
728
          }
 
729
 
 
730
        
 
731
        
 
732
        axiom_node_t* AXIS2_CALL
 
733
        adb_configureNetworkType_serialize(
 
734
                adb_configureNetworkType_t* _configureNetworkType,
 
735
                const axutil_env_t *env, axiom_node_t *parent, axiom_element_t *parent_element, int parent_tag_closed, axutil_hash_t *namespaces, int *next_ns_index)
 
736
        {
 
737
            
 
738
            
 
739
             axis2_char_t *string_to_stream;
 
740
            
 
741
         
 
742
         axiom_node_t *current_node = NULL;
 
743
         int tag_closed = 0;
 
744
 
 
745
         
 
746
         
 
747
                axiom_namespace_t *ns1 = NULL;
 
748
 
 
749
                axis2_char_t *qname_uri = NULL;
 
750
                axis2_char_t *qname_prefix = NULL;
 
751
                axis2_char_t *p_prefix = NULL;
 
752
                axis2_bool_t ns_already_defined;
 
753
            
 
754
               int i = 0;
 
755
               int count = 0;
 
756
               void *element = NULL;
 
757
             
 
758
                    axis2_char_t *text_value_1;
 
759
                    axis2_char_t *text_value_1_temp;
 
760
                    
 
761
                    axis2_char_t *text_value_2;
 
762
                    axis2_char_t *text_value_2_temp;
 
763
                    
 
764
                    axis2_char_t *text_value_3;
 
765
                    axis2_char_t *text_value_3_temp;
 
766
                    
 
767
                    axis2_char_t text_value_4[64];
 
768
                    
 
769
                    axis2_char_t text_value_5[64];
 
770
                    
 
771
               axis2_char_t *start_input_str = NULL;
 
772
               axis2_char_t *end_input_str = NULL;
 
773
               unsigned int start_input_str_len = 0;
 
774
               unsigned int end_input_str_len = 0;
 
775
            
 
776
            
 
777
               axiom_data_source_t *data_source = NULL;
 
778
               axutil_stream_t *stream = NULL;
 
779
 
 
780
            
 
781
 
 
782
            AXIS2_ENV_CHECK(env, NULL);
 
783
            AXIS2_PARAM_CHECK(env->error, _configureNetworkType, NULL);
 
784
            
 
785
            
 
786
                    current_node = parent;
 
787
                    data_source = (axiom_data_source_t *)axiom_node_get_data_element(current_node, env);
 
788
                    if (!data_source)
 
789
                        return NULL;
 
790
                    stream = axiom_data_source_get_stream(data_source, env); /* assume parent is of type data source */
 
791
                    if (!stream)
 
792
                        return NULL;
 
793
                  
 
794
            if(!parent_tag_closed)
 
795
            {
 
796
            
 
797
              string_to_stream = ">"; 
 
798
              axutil_stream_write(stream, env, string_to_stream, axutil_strlen(string_to_stream));
 
799
              tag_closed = 1;
 
800
            
 
801
            }
 
802
            
 
803
                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING)))
 
804
                       {
 
805
                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
 
806
                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
 
807
                           axutil_hash_set(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING, p_prefix);
 
808
                           
 
809
                           axiom_element_declare_namespace_assume_param_ownership(parent_element, env, axiom_namespace_create (env,
 
810
                                            "http://eucalyptus.ucsb.edu/",
 
811
                                            p_prefix));
 
812
                       }
 
813
                      
 
814
 
 
815
                   if (!_configureNetworkType->is_valid_correlationId)
 
816
                   {
 
817
                      
 
818
                           /* no need to complain for minoccurs=0 element */
 
819
                            
 
820
                          
 
821
                   }
 
822
                   else
 
823
                   {
 
824
                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
825
                                 (4 + axutil_strlen(p_prefix) + 
 
826
                                  axutil_strlen("correlationId"))); 
 
827
                                 
 
828
                                 /* axutil_strlen("<:>") + 1 = 4 */
 
829
                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
830
                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("correlationId")));
 
831
                                  /* axutil_strlen("</:>") + 1 = 5 */
 
832
                                  
 
833
                     
 
834
 
 
835
                   
 
836
                   
 
837
                     
 
838
                     /*
 
839
                      * parsing correlationId element
 
840
                      */
 
841
 
 
842
                    
 
843
                    
 
844
                            sprintf(start_input_str, "<%s%scorrelationId>",
 
845
                                 p_prefix?p_prefix:"",
 
846
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
847
                            
 
848
                        start_input_str_len = axutil_strlen(start_input_str);
 
849
                        sprintf(end_input_str, "</%s%scorrelationId>",
 
850
                                 p_prefix?p_prefix:"",
 
851
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
852
                        end_input_str_len = axutil_strlen(end_input_str);
 
853
                    
 
854
                           text_value_1 = _configureNetworkType->property_correlationId;
 
855
                           
 
856
                           axutil_stream_write(stream, env, start_input_str, start_input_str_len);
 
857
                           
 
858
                            
 
859
                           text_value_1_temp = axutil_xml_quote_string(env, text_value_1, AXIS2_TRUE);
 
860
                           if (text_value_1_temp)
 
861
                           {
 
862
                               axutil_stream_write(stream, env, text_value_1_temp, axutil_strlen(text_value_1_temp));
 
863
                               AXIS2_FREE(env->allocator, text_value_1_temp);
 
864
                           }
 
865
                           else
 
866
                           {
 
867
                               axutil_stream_write(stream, env, text_value_1, axutil_strlen(text_value_1));
 
868
                           }
 
869
                           
 
870
                           axutil_stream_write(stream, env, end_input_str, end_input_str_len);
 
871
                           
 
872
                     
 
873
                     AXIS2_FREE(env->allocator,start_input_str);
 
874
                     AXIS2_FREE(env->allocator,end_input_str);
 
875
                 } 
 
876
 
 
877
                 
 
878
                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING)))
 
879
                       {
 
880
                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
 
881
                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
 
882
                           axutil_hash_set(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING, p_prefix);
 
883
                           
 
884
                           axiom_element_declare_namespace_assume_param_ownership(parent_element, env, axiom_namespace_create (env,
 
885
                                            "http://eucalyptus.ucsb.edu/",
 
886
                                            p_prefix));
 
887
                       }
 
888
                      
 
889
 
 
890
                   if (!_configureNetworkType->is_valid_userId)
 
891
                   {
 
892
                      
 
893
                           /* no need to complain for minoccurs=0 element */
 
894
                            
 
895
                          
 
896
                   }
 
897
                   else
 
898
                   {
 
899
                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
900
                                 (4 + axutil_strlen(p_prefix) + 
 
901
                                  axutil_strlen("userId"))); 
 
902
                                 
 
903
                                 /* axutil_strlen("<:>") + 1 = 4 */
 
904
                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
905
                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("userId")));
 
906
                                  /* axutil_strlen("</:>") + 1 = 5 */
 
907
                                  
 
908
                     
 
909
 
 
910
                   
 
911
                   
 
912
                     
 
913
                     /*
 
914
                      * parsing userId element
 
915
                      */
 
916
 
 
917
                    
 
918
                    
 
919
                            sprintf(start_input_str, "<%s%suserId>",
 
920
                                 p_prefix?p_prefix:"",
 
921
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
922
                            
 
923
                        start_input_str_len = axutil_strlen(start_input_str);
 
924
                        sprintf(end_input_str, "</%s%suserId>",
 
925
                                 p_prefix?p_prefix:"",
 
926
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
927
                        end_input_str_len = axutil_strlen(end_input_str);
 
928
                    
 
929
                           text_value_2 = _configureNetworkType->property_userId;
 
930
                           
 
931
                           axutil_stream_write(stream, env, start_input_str, start_input_str_len);
 
932
                           
 
933
                            
 
934
                           text_value_2_temp = axutil_xml_quote_string(env, text_value_2, AXIS2_TRUE);
 
935
                           if (text_value_2_temp)
 
936
                           {
 
937
                               axutil_stream_write(stream, env, text_value_2_temp, axutil_strlen(text_value_2_temp));
 
938
                               AXIS2_FREE(env->allocator, text_value_2_temp);
 
939
                           }
 
940
                           else
 
941
                           {
 
942
                               axutil_stream_write(stream, env, text_value_2, axutil_strlen(text_value_2));
 
943
                           }
 
944
                           
 
945
                           axutil_stream_write(stream, env, end_input_str, end_input_str_len);
 
946
                           
 
947
                     
 
948
                     AXIS2_FREE(env->allocator,start_input_str);
 
949
                     AXIS2_FREE(env->allocator,end_input_str);
 
950
                 } 
 
951
 
 
952
                 
 
953
                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING)))
 
954
                       {
 
955
                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
 
956
                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
 
957
                           axutil_hash_set(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING, p_prefix);
 
958
                           
 
959
                           axiom_element_declare_namespace_assume_param_ownership(parent_element, env, axiom_namespace_create (env,
 
960
                                            "http://eucalyptus.ucsb.edu/",
 
961
                                            p_prefix));
 
962
                       }
 
963
                      
 
964
 
 
965
                   if (!_configureNetworkType->is_valid_statusMessage)
 
966
                   {
 
967
                      
 
968
                           /* no need to complain for minoccurs=0 element */
 
969
                            
 
970
                          
 
971
                   }
 
972
                   else
 
973
                   {
 
974
                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
975
                                 (4 + axutil_strlen(p_prefix) + 
 
976
                                  axutil_strlen("statusMessage"))); 
 
977
                                 
 
978
                                 /* axutil_strlen("<:>") + 1 = 4 */
 
979
                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
980
                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("statusMessage")));
 
981
                                  /* axutil_strlen("</:>") + 1 = 5 */
 
982
                                  
 
983
                     
 
984
 
 
985
                   
 
986
                   
 
987
                     
 
988
                     /*
 
989
                      * parsing statusMessage element
 
990
                      */
 
991
 
 
992
                    
 
993
                    
 
994
                            sprintf(start_input_str, "<%s%sstatusMessage>",
 
995
                                 p_prefix?p_prefix:"",
 
996
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
997
                            
 
998
                        start_input_str_len = axutil_strlen(start_input_str);
 
999
                        sprintf(end_input_str, "</%s%sstatusMessage>",
 
1000
                                 p_prefix?p_prefix:"",
 
1001
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
1002
                        end_input_str_len = axutil_strlen(end_input_str);
 
1003
                    
 
1004
                           text_value_3 = _configureNetworkType->property_statusMessage;
 
1005
                           
 
1006
                           axutil_stream_write(stream, env, start_input_str, start_input_str_len);
 
1007
                           
 
1008
                            
 
1009
                           text_value_3_temp = axutil_xml_quote_string(env, text_value_3, AXIS2_TRUE);
 
1010
                           if (text_value_3_temp)
 
1011
                           {
 
1012
                               axutil_stream_write(stream, env, text_value_3_temp, axutil_strlen(text_value_3_temp));
 
1013
                               AXIS2_FREE(env->allocator, text_value_3_temp);
 
1014
                           }
 
1015
                           else
 
1016
                           {
 
1017
                               axutil_stream_write(stream, env, text_value_3, axutil_strlen(text_value_3));
 
1018
                           }
 
1019
                           
 
1020
                           axutil_stream_write(stream, env, end_input_str, end_input_str_len);
 
1021
                           
 
1022
                     
 
1023
                     AXIS2_FREE(env->allocator,start_input_str);
 
1024
                     AXIS2_FREE(env->allocator,end_input_str);
 
1025
                 } 
 
1026
 
 
1027
                 
 
1028
                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING)))
 
1029
                       {
 
1030
                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
 
1031
                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
 
1032
                           axutil_hash_set(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING, p_prefix);
 
1033
                           
 
1034
                           axiom_element_declare_namespace_assume_param_ownership(parent_element, env, axiom_namespace_create (env,
 
1035
                                            "http://eucalyptus.ucsb.edu/",
 
1036
                                            p_prefix));
 
1037
                       }
 
1038
                      
 
1039
 
 
1040
                   if (!_configureNetworkType->is_valid_return)
 
1041
                   {
 
1042
                      
 
1043
                           /* no need to complain for minoccurs=0 element */
 
1044
                            
 
1045
                          
 
1046
                   }
 
1047
                   else
 
1048
                   {
 
1049
                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
1050
                                 (4 + axutil_strlen(p_prefix) + 
 
1051
                                  axutil_strlen("return"))); 
 
1052
                                 
 
1053
                                 /* axutil_strlen("<:>") + 1 = 4 */
 
1054
                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
1055
                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("return")));
 
1056
                                  /* axutil_strlen("</:>") + 1 = 5 */
 
1057
                                  
 
1058
                     
 
1059
 
 
1060
                   
 
1061
                   
 
1062
                     
 
1063
                     /*
 
1064
                      * parsing return element
 
1065
                      */
 
1066
 
 
1067
                    
 
1068
                    
 
1069
                            sprintf(start_input_str, "<%s%sreturn>",
 
1070
                                 p_prefix?p_prefix:"",
 
1071
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
1072
                            
 
1073
                        start_input_str_len = axutil_strlen(start_input_str);
 
1074
                        sprintf(end_input_str, "</%s%sreturn>",
 
1075
                                 p_prefix?p_prefix:"",
 
1076
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
1077
                        end_input_str_len = axutil_strlen(end_input_str);
 
1078
                    
 
1079
                           strcpy(text_value_4, (_configureNetworkType->property_return)?"true":"false");
 
1080
                           
 
1081
                           axutil_stream_write(stream, env, start_input_str, start_input_str_len);
 
1082
                           
 
1083
                           axutil_stream_write(stream, env, text_value_4, axutil_strlen(text_value_4));
 
1084
                           
 
1085
                           axutil_stream_write(stream, env, end_input_str, end_input_str_len);
 
1086
                           
 
1087
                     
 
1088
                     AXIS2_FREE(env->allocator,start_input_str);
 
1089
                     AXIS2_FREE(env->allocator,end_input_str);
 
1090
                 } 
 
1091
 
 
1092
                 
 
1093
                       if(!(p_prefix = (axis2_char_t*)axutil_hash_get(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING)))
 
1094
                       {
 
1095
                           p_prefix = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof (axis2_char_t) * ADB_DEFAULT_NAMESPACE_PREFIX_LIMIT);
 
1096
                           sprintf(p_prefix, "n%d", (*next_ns_index)++);
 
1097
                           axutil_hash_set(namespaces, "http://eucalyptus.ucsb.edu/", AXIS2_HASH_KEY_STRING, p_prefix);
 
1098
                           
 
1099
                           axiom_element_declare_namespace_assume_param_ownership(parent_element, env, axiom_namespace_create (env,
 
1100
                                            "http://eucalyptus.ucsb.edu/",
 
1101
                                            p_prefix));
 
1102
                       }
 
1103
                      
 
1104
 
 
1105
                   if (!_configureNetworkType->is_valid_rules)
 
1106
                   {
 
1107
                      
 
1108
                           /* no need to complain for minoccurs=0 element */
 
1109
                            
 
1110
                          
 
1111
                   }
 
1112
                   else
 
1113
                   {
 
1114
                     start_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
1115
                                 (4 + axutil_strlen(p_prefix) + 
 
1116
                                  axutil_strlen("rules"))); 
 
1117
                                 
 
1118
                                 /* axutil_strlen("<:>") + 1 = 4 */
 
1119
                     end_input_str = (axis2_char_t*)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) *
 
1120
                                 (5 + axutil_strlen(p_prefix) + axutil_strlen("rules")));
 
1121
                                  /* axutil_strlen("</:>") + 1 = 5 */
 
1122
                                  
 
1123
                     
 
1124
 
 
1125
                   
 
1126
                   
 
1127
                     /*
 
1128
                      * Parsing rules array
 
1129
                      */
 
1130
                     if (_configureNetworkType->property_rules != NULL)
 
1131
                     {
 
1132
                        
 
1133
 
 
1134
                            sprintf(start_input_str, "<%s%srules",
 
1135
                                 p_prefix?p_prefix:"",
 
1136
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
1137
                            
 
1138
                         start_input_str_len = axutil_strlen(start_input_str);
 
1139
 
 
1140
                         sprintf(end_input_str, "</%s%srules>",
 
1141
                                 p_prefix?p_prefix:"",
 
1142
                                 (p_prefix && axutil_strcmp(p_prefix, ""))?":":"");
 
1143
                         end_input_str_len = axutil_strlen(end_input_str);
 
1144
 
 
1145
                         count = axutil_array_list_size(_configureNetworkType->property_rules, env);
 
1146
                         for(i = 0; i < count; i ++)
 
1147
                         {
 
1148
                            element = axutil_array_list_get(_configureNetworkType->property_rules, env, i);
 
1149
 
 
1150
                            if(NULL == element) 
 
1151
                            {
 
1152
                                continue;
 
1153
                            }
 
1154
                    
 
1155
                     
 
1156
                     /*
 
1157
                      * parsing rules element
 
1158
                      */
 
1159
 
 
1160
                    
 
1161
                     
 
1162
                            if(!adb_networkRule_is_particle())
 
1163
                            {
 
1164
                                axutil_stream_write(stream, env, start_input_str, start_input_str_len);
 
1165
                            }
 
1166
                            
 
1167
                            adb_networkRule_serialize((adb_networkRule_t*)element, 
 
1168
                                                                                 env, current_node, parent_element,
 
1169
                                                                                 adb_networkRule_is_particle() || AXIS2_FALSE, namespaces, next_ns_index);
 
1170
                            
 
1171
                            if(!adb_networkRule_is_particle())
 
1172
                            {
 
1173
                                axutil_stream_write(stream, env, end_input_str, end_input_str_len);
 
1174
                            }
 
1175
                            
 
1176
                         }
 
1177
                     }
 
1178
                   
 
1179
                     
 
1180
                     AXIS2_FREE(env->allocator,start_input_str);
 
1181
                     AXIS2_FREE(env->allocator,end_input_str);
 
1182
                 } 
 
1183
 
 
1184
                 
 
1185
 
 
1186
            return parent;
 
1187
        }
 
1188
 
 
1189
 
 
1190
        
 
1191
 
 
1192
            /**
 
1193
             * getter for correlationId.
 
1194
             */
 
1195
            axis2_char_t* AXIS2_CALL
 
1196
            adb_configureNetworkType_get_correlationId(
 
1197
                    adb_configureNetworkType_t* _configureNetworkType,
 
1198
                    const axutil_env_t *env)
 
1199
             {
 
1200
                
 
1201
                    AXIS2_ENV_CHECK(env, NULL);
 
1202
                    AXIS2_PARAM_CHECK(env->error, _configureNetworkType, NULL);
 
1203
                  
 
1204
 
 
1205
                return _configureNetworkType->property_correlationId;
 
1206
             }
 
1207
 
 
1208
            /**
 
1209
             * setter for correlationId
 
1210
             */
 
1211
            axis2_status_t AXIS2_CALL
 
1212
            adb_configureNetworkType_set_correlationId(
 
1213
                    adb_configureNetworkType_t* _configureNetworkType,
 
1214
                    const axutil_env_t *env,
 
1215
                    const axis2_char_t*  arg_correlationId)
 
1216
             {
 
1217
                
 
1218
 
 
1219
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1220
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1221
                
 
1222
                if(_configureNetworkType->is_valid_correlationId &&
 
1223
                        arg_correlationId == _configureNetworkType->property_correlationId)
 
1224
                {
 
1225
                    
 
1226
                    return AXIS2_SUCCESS; 
 
1227
                }
 
1228
 
 
1229
                adb_configureNetworkType_reset_correlationId(_configureNetworkType, env);
 
1230
 
 
1231
                
 
1232
                if(NULL == arg_correlationId)
 
1233
                {
 
1234
                    /* We are already done */
 
1235
                    return AXIS2_SUCCESS;
 
1236
                }
 
1237
                _configureNetworkType->property_correlationId = (axis2_char_t *)axutil_strdup(env, arg_correlationId);
 
1238
                        if(NULL == _configureNetworkType->property_correlationId)
 
1239
                        {
 
1240
                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error allocating memeory for correlationId");
 
1241
                            return AXIS2_FAILURE;
 
1242
                        }
 
1243
                        _configureNetworkType->is_valid_correlationId = AXIS2_TRUE;
 
1244
                    
 
1245
                return AXIS2_SUCCESS;
 
1246
             }
 
1247
 
 
1248
             
 
1249
 
 
1250
           /**
 
1251
            * resetter for correlationId
 
1252
            */
 
1253
           axis2_status_t AXIS2_CALL
 
1254
           adb_configureNetworkType_reset_correlationId(
 
1255
                   adb_configureNetworkType_t* _configureNetworkType,
 
1256
                   const axutil_env_t *env)
 
1257
           {
 
1258
               int i = 0;
 
1259
               int count = 0;
 
1260
               void *element = NULL;
 
1261
 
 
1262
               AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1263
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1264
               
 
1265
 
 
1266
               
 
1267
            
 
1268
                
 
1269
                if(_configureNetworkType->property_correlationId != NULL)
 
1270
                {
 
1271
                   
 
1272
                   
 
1273
                        AXIS2_FREE(env-> allocator, _configureNetworkType->property_correlationId);
 
1274
                     _configureNetworkType->property_correlationId = NULL;
 
1275
                }
 
1276
            
 
1277
                
 
1278
                
 
1279
                _configureNetworkType->is_valid_correlationId = AXIS2_FALSE; 
 
1280
               return AXIS2_SUCCESS;
 
1281
           }
 
1282
 
 
1283
           /**
 
1284
            * Check whether correlationId is nill
 
1285
            */
 
1286
           axis2_bool_t AXIS2_CALL
 
1287
           adb_configureNetworkType_is_correlationId_nil(
 
1288
                   adb_configureNetworkType_t* _configureNetworkType,
 
1289
                   const axutil_env_t *env)
 
1290
           {
 
1291
               AXIS2_ENV_CHECK(env, AXIS2_TRUE);
 
1292
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_TRUE);
 
1293
               
 
1294
               return !_configureNetworkType->is_valid_correlationId;
 
1295
           }
 
1296
 
 
1297
           /**
 
1298
            * Set correlationId to nill (currently the same as reset)
 
1299
            */
 
1300
           axis2_status_t AXIS2_CALL
 
1301
           adb_configureNetworkType_set_correlationId_nil(
 
1302
                   adb_configureNetworkType_t* _configureNetworkType,
 
1303
                   const axutil_env_t *env)
 
1304
           {
 
1305
               return adb_configureNetworkType_reset_correlationId(_configureNetworkType, env);
 
1306
           }
 
1307
 
 
1308
           
 
1309
 
 
1310
            /**
 
1311
             * getter for userId.
 
1312
             */
 
1313
            axis2_char_t* AXIS2_CALL
 
1314
            adb_configureNetworkType_get_userId(
 
1315
                    adb_configureNetworkType_t* _configureNetworkType,
 
1316
                    const axutil_env_t *env)
 
1317
             {
 
1318
                
 
1319
                    AXIS2_ENV_CHECK(env, NULL);
 
1320
                    AXIS2_PARAM_CHECK(env->error, _configureNetworkType, NULL);
 
1321
                  
 
1322
 
 
1323
                return _configureNetworkType->property_userId;
 
1324
             }
 
1325
 
 
1326
            /**
 
1327
             * setter for userId
 
1328
             */
 
1329
            axis2_status_t AXIS2_CALL
 
1330
            adb_configureNetworkType_set_userId(
 
1331
                    adb_configureNetworkType_t* _configureNetworkType,
 
1332
                    const axutil_env_t *env,
 
1333
                    const axis2_char_t*  arg_userId)
 
1334
             {
 
1335
                
 
1336
 
 
1337
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1338
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1339
                
 
1340
                if(_configureNetworkType->is_valid_userId &&
 
1341
                        arg_userId == _configureNetworkType->property_userId)
 
1342
                {
 
1343
                    
 
1344
                    return AXIS2_SUCCESS; 
 
1345
                }
 
1346
 
 
1347
                adb_configureNetworkType_reset_userId(_configureNetworkType, env);
 
1348
 
 
1349
                
 
1350
                if(NULL == arg_userId)
 
1351
                {
 
1352
                    /* We are already done */
 
1353
                    return AXIS2_SUCCESS;
 
1354
                }
 
1355
                _configureNetworkType->property_userId = (axis2_char_t *)axutil_strdup(env, arg_userId);
 
1356
                        if(NULL == _configureNetworkType->property_userId)
 
1357
                        {
 
1358
                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error allocating memeory for userId");
 
1359
                            return AXIS2_FAILURE;
 
1360
                        }
 
1361
                        _configureNetworkType->is_valid_userId = AXIS2_TRUE;
 
1362
                    
 
1363
                return AXIS2_SUCCESS;
 
1364
             }
 
1365
 
 
1366
             
 
1367
 
 
1368
           /**
 
1369
            * resetter for userId
 
1370
            */
 
1371
           axis2_status_t AXIS2_CALL
 
1372
           adb_configureNetworkType_reset_userId(
 
1373
                   adb_configureNetworkType_t* _configureNetworkType,
 
1374
                   const axutil_env_t *env)
 
1375
           {
 
1376
               int i = 0;
 
1377
               int count = 0;
 
1378
               void *element = NULL;
 
1379
 
 
1380
               AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1381
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1382
               
 
1383
 
 
1384
               
 
1385
            
 
1386
                
 
1387
                if(_configureNetworkType->property_userId != NULL)
 
1388
                {
 
1389
                   
 
1390
                   
 
1391
                        AXIS2_FREE(env-> allocator, _configureNetworkType->property_userId);
 
1392
                     _configureNetworkType->property_userId = NULL;
 
1393
                }
 
1394
            
 
1395
                
 
1396
                
 
1397
                _configureNetworkType->is_valid_userId = AXIS2_FALSE; 
 
1398
               return AXIS2_SUCCESS;
 
1399
           }
 
1400
 
 
1401
           /**
 
1402
            * Check whether userId is nill
 
1403
            */
 
1404
           axis2_bool_t AXIS2_CALL
 
1405
           adb_configureNetworkType_is_userId_nil(
 
1406
                   adb_configureNetworkType_t* _configureNetworkType,
 
1407
                   const axutil_env_t *env)
 
1408
           {
 
1409
               AXIS2_ENV_CHECK(env, AXIS2_TRUE);
 
1410
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_TRUE);
 
1411
               
 
1412
               return !_configureNetworkType->is_valid_userId;
 
1413
           }
 
1414
 
 
1415
           /**
 
1416
            * Set userId to nill (currently the same as reset)
 
1417
            */
 
1418
           axis2_status_t AXIS2_CALL
 
1419
           adb_configureNetworkType_set_userId_nil(
 
1420
                   adb_configureNetworkType_t* _configureNetworkType,
 
1421
                   const axutil_env_t *env)
 
1422
           {
 
1423
               return adb_configureNetworkType_reset_userId(_configureNetworkType, env);
 
1424
           }
 
1425
 
 
1426
           
 
1427
 
 
1428
            /**
 
1429
             * getter for statusMessage.
 
1430
             */
 
1431
            axis2_char_t* AXIS2_CALL
 
1432
            adb_configureNetworkType_get_statusMessage(
 
1433
                    adb_configureNetworkType_t* _configureNetworkType,
 
1434
                    const axutil_env_t *env)
 
1435
             {
 
1436
                
 
1437
                    AXIS2_ENV_CHECK(env, NULL);
 
1438
                    AXIS2_PARAM_CHECK(env->error, _configureNetworkType, NULL);
 
1439
                  
 
1440
 
 
1441
                return _configureNetworkType->property_statusMessage;
 
1442
             }
 
1443
 
 
1444
            /**
 
1445
             * setter for statusMessage
 
1446
             */
 
1447
            axis2_status_t AXIS2_CALL
 
1448
            adb_configureNetworkType_set_statusMessage(
 
1449
                    adb_configureNetworkType_t* _configureNetworkType,
 
1450
                    const axutil_env_t *env,
 
1451
                    const axis2_char_t*  arg_statusMessage)
 
1452
             {
 
1453
                
 
1454
 
 
1455
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1456
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1457
                
 
1458
                if(_configureNetworkType->is_valid_statusMessage &&
 
1459
                        arg_statusMessage == _configureNetworkType->property_statusMessage)
 
1460
                {
 
1461
                    
 
1462
                    return AXIS2_SUCCESS; 
 
1463
                }
 
1464
 
 
1465
                adb_configureNetworkType_reset_statusMessage(_configureNetworkType, env);
 
1466
 
 
1467
                
 
1468
                if(NULL == arg_statusMessage)
 
1469
                {
 
1470
                    /* We are already done */
 
1471
                    return AXIS2_SUCCESS;
 
1472
                }
 
1473
                _configureNetworkType->property_statusMessage = (axis2_char_t *)axutil_strdup(env, arg_statusMessage);
 
1474
                        if(NULL == _configureNetworkType->property_statusMessage)
 
1475
                        {
 
1476
                            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error allocating memeory for statusMessage");
 
1477
                            return AXIS2_FAILURE;
 
1478
                        }
 
1479
                        _configureNetworkType->is_valid_statusMessage = AXIS2_TRUE;
 
1480
                    
 
1481
                return AXIS2_SUCCESS;
 
1482
             }
 
1483
 
 
1484
             
 
1485
 
 
1486
           /**
 
1487
            * resetter for statusMessage
 
1488
            */
 
1489
           axis2_status_t AXIS2_CALL
 
1490
           adb_configureNetworkType_reset_statusMessage(
 
1491
                   adb_configureNetworkType_t* _configureNetworkType,
 
1492
                   const axutil_env_t *env)
 
1493
           {
 
1494
               int i = 0;
 
1495
               int count = 0;
 
1496
               void *element = NULL;
 
1497
 
 
1498
               AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1499
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1500
               
 
1501
 
 
1502
               
 
1503
            
 
1504
                
 
1505
                if(_configureNetworkType->property_statusMessage != NULL)
 
1506
                {
 
1507
                   
 
1508
                   
 
1509
                        AXIS2_FREE(env-> allocator, _configureNetworkType->property_statusMessage);
 
1510
                     _configureNetworkType->property_statusMessage = NULL;
 
1511
                }
 
1512
            
 
1513
                
 
1514
                
 
1515
                _configureNetworkType->is_valid_statusMessage = AXIS2_FALSE; 
 
1516
               return AXIS2_SUCCESS;
 
1517
           }
 
1518
 
 
1519
           /**
 
1520
            * Check whether statusMessage is nill
 
1521
            */
 
1522
           axis2_bool_t AXIS2_CALL
 
1523
           adb_configureNetworkType_is_statusMessage_nil(
 
1524
                   adb_configureNetworkType_t* _configureNetworkType,
 
1525
                   const axutil_env_t *env)
 
1526
           {
 
1527
               AXIS2_ENV_CHECK(env, AXIS2_TRUE);
 
1528
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_TRUE);
 
1529
               
 
1530
               return !_configureNetworkType->is_valid_statusMessage;
 
1531
           }
 
1532
 
 
1533
           /**
 
1534
            * Set statusMessage to nill (currently the same as reset)
 
1535
            */
 
1536
           axis2_status_t AXIS2_CALL
 
1537
           adb_configureNetworkType_set_statusMessage_nil(
 
1538
                   adb_configureNetworkType_t* _configureNetworkType,
 
1539
                   const axutil_env_t *env)
 
1540
           {
 
1541
               return adb_configureNetworkType_reset_statusMessage(_configureNetworkType, env);
 
1542
           }
 
1543
 
 
1544
           
 
1545
 
 
1546
            /**
 
1547
             * getter for return.
 
1548
             */
 
1549
            axis2_bool_t AXIS2_CALL
 
1550
            adb_configureNetworkType_get_return(
 
1551
                    adb_configureNetworkType_t* _configureNetworkType,
 
1552
                    const axutil_env_t *env)
 
1553
             {
 
1554
                
 
1555
                    AXIS2_ENV_CHECK(env, (axis2_bool_t)0);
 
1556
                    AXIS2_PARAM_CHECK(env->error, _configureNetworkType, (axis2_bool_t)0);
 
1557
                  
 
1558
 
 
1559
                return _configureNetworkType->property_return;
 
1560
             }
 
1561
 
 
1562
            /**
 
1563
             * setter for return
 
1564
             */
 
1565
            axis2_status_t AXIS2_CALL
 
1566
            adb_configureNetworkType_set_return(
 
1567
                    adb_configureNetworkType_t* _configureNetworkType,
 
1568
                    const axutil_env_t *env,
 
1569
                    axis2_bool_t  arg_return)
 
1570
             {
 
1571
                
 
1572
 
 
1573
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1574
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1575
                
 
1576
                if(_configureNetworkType->is_valid_return &&
 
1577
                        arg_return == _configureNetworkType->property_return)
 
1578
                {
 
1579
                    
 
1580
                    return AXIS2_SUCCESS; 
 
1581
                }
 
1582
 
 
1583
                adb_configureNetworkType_reset_return(_configureNetworkType, env);
 
1584
 
 
1585
                _configureNetworkType->property_return = arg_return;
 
1586
                        _configureNetworkType->is_valid_return = AXIS2_TRUE;
 
1587
                    
 
1588
                return AXIS2_SUCCESS;
 
1589
             }
 
1590
 
 
1591
             
 
1592
 
 
1593
           /**
 
1594
            * resetter for return
 
1595
            */
 
1596
           axis2_status_t AXIS2_CALL
 
1597
           adb_configureNetworkType_reset_return(
 
1598
                   adb_configureNetworkType_t* _configureNetworkType,
 
1599
                   const axutil_env_t *env)
 
1600
           {
 
1601
               int i = 0;
 
1602
               int count = 0;
 
1603
               void *element = NULL;
 
1604
 
 
1605
               AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1606
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1607
               
 
1608
 
 
1609
               _configureNetworkType->is_valid_return = AXIS2_FALSE; 
 
1610
               return AXIS2_SUCCESS;
 
1611
           }
 
1612
 
 
1613
           /**
 
1614
            * Check whether return is nill
 
1615
            */
 
1616
           axis2_bool_t AXIS2_CALL
 
1617
           adb_configureNetworkType_is_return_nil(
 
1618
                   adb_configureNetworkType_t* _configureNetworkType,
 
1619
                   const axutil_env_t *env)
 
1620
           {
 
1621
               AXIS2_ENV_CHECK(env, AXIS2_TRUE);
 
1622
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_TRUE);
 
1623
               
 
1624
               return !_configureNetworkType->is_valid_return;
 
1625
           }
 
1626
 
 
1627
           /**
 
1628
            * Set return to nill (currently the same as reset)
 
1629
            */
 
1630
           axis2_status_t AXIS2_CALL
 
1631
           adb_configureNetworkType_set_return_nil(
 
1632
                   adb_configureNetworkType_t* _configureNetworkType,
 
1633
                   const axutil_env_t *env)
 
1634
           {
 
1635
               return adb_configureNetworkType_reset_return(_configureNetworkType, env);
 
1636
           }
 
1637
 
 
1638
           
 
1639
 
 
1640
            /**
 
1641
             * getter for rules.
 
1642
             */
 
1643
            axutil_array_list_t* AXIS2_CALL
 
1644
            adb_configureNetworkType_get_rules(
 
1645
                    adb_configureNetworkType_t* _configureNetworkType,
 
1646
                    const axutil_env_t *env)
 
1647
             {
 
1648
                
 
1649
                    AXIS2_ENV_CHECK(env, NULL);
 
1650
                    AXIS2_PARAM_CHECK(env->error, _configureNetworkType, NULL);
 
1651
                  
 
1652
 
 
1653
                return _configureNetworkType->property_rules;
 
1654
             }
 
1655
 
 
1656
            /**
 
1657
             * setter for rules
 
1658
             */
 
1659
            axis2_status_t AXIS2_CALL
 
1660
            adb_configureNetworkType_set_rules(
 
1661
                    adb_configureNetworkType_t* _configureNetworkType,
 
1662
                    const axutil_env_t *env,
 
1663
                    axutil_array_list_t*  arg_rules)
 
1664
             {
 
1665
                
 
1666
                 int size = 0;
 
1667
                 int i = 0;
 
1668
                 axis2_bool_t non_nil_exists = AXIS2_FALSE;
 
1669
                
 
1670
 
 
1671
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1672
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1673
                
 
1674
                if(_configureNetworkType->is_valid_rules &&
 
1675
                        arg_rules == _configureNetworkType->property_rules)
 
1676
                {
 
1677
                    
 
1678
                    return AXIS2_SUCCESS; 
 
1679
                }
 
1680
 
 
1681
                
 
1682
                 size = axutil_array_list_size(arg_rules, env);
 
1683
                 
 
1684
                 if (size < 0)
 
1685
                 {
 
1686
                     AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "rules has less than minOccurs(0)");
 
1687
                     return AXIS2_FAILURE;
 
1688
                 }
 
1689
                 for(i = 0; i < size; i ++ )
 
1690
                 {
 
1691
                     if(NULL != axutil_array_list_get(arg_rules, env, i))
 
1692
                     {
 
1693
                         non_nil_exists = AXIS2_TRUE;
 
1694
                         break;
 
1695
                     }
 
1696
                 }
 
1697
 
 
1698
                 adb_configureNetworkType_reset_rules(_configureNetworkType, env);
 
1699
 
 
1700
                
 
1701
                if(NULL == arg_rules)
 
1702
                {
 
1703
                    /* We are already done */
 
1704
                    return AXIS2_SUCCESS;
 
1705
                }
 
1706
                _configureNetworkType->property_rules = arg_rules;
 
1707
                        if(non_nil_exists)
 
1708
                        {
 
1709
                            _configureNetworkType->is_valid_rules = AXIS2_TRUE;
 
1710
                        }
 
1711
                        
 
1712
                    
 
1713
                return AXIS2_SUCCESS;
 
1714
             }
 
1715
 
 
1716
            
 
1717
            /**
 
1718
             * Get ith element of rules.
 
1719
             */
 
1720
            adb_networkRule_t* AXIS2_CALL
 
1721
            adb_configureNetworkType_get_rules_at(
 
1722
                    adb_configureNetworkType_t* _configureNetworkType,
 
1723
                    const axutil_env_t *env, int i)
 
1724
            {
 
1725
                adb_networkRule_t* ret_val;
 
1726
 
 
1727
                
 
1728
                    AXIS2_ENV_CHECK(env, NULL);
 
1729
                    AXIS2_PARAM_CHECK(env->error, _configureNetworkType, NULL);
 
1730
                  
 
1731
 
 
1732
                if(_configureNetworkType->property_rules == NULL)
 
1733
                {
 
1734
                    return (adb_networkRule_t*)0;
 
1735
                }
 
1736
                ret_val = (adb_networkRule_t*)axutil_array_list_get(_configureNetworkType->property_rules, env, i);
 
1737
                
 
1738
                    return ret_val;
 
1739
                  
 
1740
            }
 
1741
 
 
1742
            /**
 
1743
             * Set the ith element of rules.
 
1744
             */
 
1745
            axis2_status_t AXIS2_CALL
 
1746
            adb_configureNetworkType_set_rules_at(
 
1747
                    adb_configureNetworkType_t* _configureNetworkType,
 
1748
                    const axutil_env_t *env, int i,
 
1749
                    adb_networkRule_t* arg_rules)
 
1750
            {
 
1751
                void *element = NULL;
 
1752
                int size = 0;
 
1753
                int j;
 
1754
                int k;
 
1755
                axis2_bool_t non_nil_exists = AXIS2_FALSE;
 
1756
 
 
1757
                
 
1758
 
 
1759
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1760
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1761
                
 
1762
                if( _configureNetworkType->is_valid_rules &&
 
1763
                    _configureNetworkType->property_rules &&
 
1764
                
 
1765
                    arg_rules == (adb_networkRule_t*)axutil_array_list_get(_configureNetworkType->property_rules, env, i))
 
1766
                  
 
1767
                {
 
1768
                    
 
1769
                    return AXIS2_SUCCESS; 
 
1770
                }
 
1771
 
 
1772
                
 
1773
                    if(NULL == arg_rules)
 
1774
                    {
 
1775
                        if(_configureNetworkType->property_rules != NULL)
 
1776
                        {
 
1777
                            size = axutil_array_list_size(_configureNetworkType->property_rules, env);
 
1778
                            for(j = 0, k = 0; j < size; j ++ )
 
1779
                            {
 
1780
                                if(i == j) continue; 
 
1781
                                if(NULL != axutil_array_list_get(_configureNetworkType->property_rules, env, i))
 
1782
                                {
 
1783
                                    k ++;
 
1784
                                    non_nil_exists = AXIS2_TRUE;
 
1785
                                    if(k >= 0)
 
1786
                                    {
 
1787
                                        break;
 
1788
                                    }
 
1789
                                }
 
1790
                            }
 
1791
                        }
 
1792
                    }
 
1793
                    else
 
1794
                    {
 
1795
                        non_nil_exists = AXIS2_TRUE;
 
1796
                    }
 
1797
                  
 
1798
                if( k < 0)
 
1799
                {
 
1800
                       AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Size of the array of rules is beinng set to be smaller than the specificed number of minOccurs(0)");
 
1801
                       return AXIS2_FAILURE;
 
1802
                }
 
1803
 
 
1804
                if(_configureNetworkType->property_rules == NULL)
 
1805
                {
 
1806
                    _configureNetworkType->property_rules = axutil_array_list_create(env, 10);
 
1807
                }
 
1808
                
 
1809
                /* check whether there already exist an element */
 
1810
                element = axutil_array_list_get(_configureNetworkType->property_rules, env, i);
 
1811
                if(NULL != element)
 
1812
                {
 
1813
                  
 
1814
                  
 
1815
                  
 
1816
                        adb_networkRule_free((adb_networkRule_t*)element, env);
 
1817
                     
 
1818
                }
 
1819
 
 
1820
                
 
1821
                    if(!non_nil_exists)
 
1822
                    {
 
1823
                        
 
1824
                        _configureNetworkType->is_valid_rules = AXIS2_FALSE;
 
1825
                        axutil_array_list_set(_configureNetworkType->property_rules , env, i, NULL);
 
1826
                        
 
1827
                        return AXIS2_SUCCESS;
 
1828
                    }
 
1829
                
 
1830
                   axutil_array_list_set(_configureNetworkType->property_rules , env, i, arg_rules);
 
1831
                  _configureNetworkType->is_valid_rules = AXIS2_TRUE;
 
1832
                
 
1833
                return AXIS2_SUCCESS;
 
1834
            }
 
1835
 
 
1836
            /**
 
1837
             * Add to rules.
 
1838
             */
 
1839
            axis2_status_t AXIS2_CALL
 
1840
            adb_configureNetworkType_add_rules(
 
1841
                    adb_configureNetworkType_t* _configureNetworkType,
 
1842
                    const axutil_env_t *env,
 
1843
                    adb_networkRule_t* arg_rules)
 
1844
             {
 
1845
                
 
1846
 
 
1847
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1848
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1849
 
 
1850
                
 
1851
                    if(NULL == arg_rules)
 
1852
                    {
 
1853
                      
 
1854
                           return AXIS2_SUCCESS; 
 
1855
                        
 
1856
                    }
 
1857
                  
 
1858
 
 
1859
                if(_configureNetworkType->property_rules == NULL)
 
1860
                {
 
1861
                    _configureNetworkType->property_rules = axutil_array_list_create(env, 10);
 
1862
                }
 
1863
                if(_configureNetworkType->property_rules == NULL)
 
1864
                {
 
1865
                    AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed in allocatting memory for rules");
 
1866
                    return AXIS2_FAILURE;
 
1867
                    
 
1868
                }
 
1869
                
 
1870
                   axutil_array_list_add(_configureNetworkType->property_rules , env, arg_rules);
 
1871
                  _configureNetworkType->is_valid_rules = AXIS2_TRUE;
 
1872
                return AXIS2_SUCCESS;
 
1873
             }
 
1874
 
 
1875
            /**
 
1876
             * Get the size of the rules array.
 
1877
             */
 
1878
            int AXIS2_CALL
 
1879
            adb_configureNetworkType_sizeof_rules(
 
1880
                    adb_configureNetworkType_t* _configureNetworkType,
 
1881
                    const axutil_env_t *env)
 
1882
            {
 
1883
                AXIS2_ENV_CHECK(env, -1);
 
1884
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, -1);
 
1885
                if(_configureNetworkType->property_rules == NULL)
 
1886
                {
 
1887
                    return 0;
 
1888
                }
 
1889
                return axutil_array_list_size(_configureNetworkType->property_rules, env);
 
1890
            }
 
1891
 
 
1892
            /**
 
1893
             * remove the ith element, same as set_nil_at.
 
1894
             */
 
1895
            axis2_status_t AXIS2_CALL
 
1896
            adb_configureNetworkType_remove_rules_at(
 
1897
                    adb_configureNetworkType_t* _configureNetworkType,
 
1898
                    const axutil_env_t *env, int i)
 
1899
            {
 
1900
                return adb_configureNetworkType_set_rules_nil_at(_configureNetworkType, env, i);
 
1901
            }
 
1902
 
 
1903
            
 
1904
 
 
1905
           /**
 
1906
            * resetter for rules
 
1907
            */
 
1908
           axis2_status_t AXIS2_CALL
 
1909
           adb_configureNetworkType_reset_rules(
 
1910
                   adb_configureNetworkType_t* _configureNetworkType,
 
1911
                   const axutil_env_t *env)
 
1912
           {
 
1913
               int i = 0;
 
1914
               int count = 0;
 
1915
               void *element = NULL;
 
1916
 
 
1917
               AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
1918
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
1919
               
 
1920
 
 
1921
               
 
1922
                  if (_configureNetworkType->property_rules != NULL)
 
1923
                  {
 
1924
                      count = axutil_array_list_size(_configureNetworkType->property_rules, env);
 
1925
                      for(i = 0; i < count; i ++)
 
1926
                      {
 
1927
                         element = axutil_array_list_get(_configureNetworkType->property_rules, env, i);
 
1928
                
 
1929
            
 
1930
                
 
1931
                if(element != NULL)
 
1932
                {
 
1933
                   
 
1934
                   
 
1935
                        adb_networkRule_free((adb_networkRule_t*)element, env);
 
1936
                     element = NULL;
 
1937
                }
 
1938
            
 
1939
                
 
1940
                
 
1941
                
 
1942
                      }
 
1943
                      axutil_array_list_free(_configureNetworkType->property_rules, env);
 
1944
                  }
 
1945
                _configureNetworkType->is_valid_rules = AXIS2_FALSE; 
 
1946
               return AXIS2_SUCCESS;
 
1947
           }
 
1948
 
 
1949
           /**
 
1950
            * Check whether rules is nill
 
1951
            */
 
1952
           axis2_bool_t AXIS2_CALL
 
1953
           adb_configureNetworkType_is_rules_nil(
 
1954
                   adb_configureNetworkType_t* _configureNetworkType,
 
1955
                   const axutil_env_t *env)
 
1956
           {
 
1957
               AXIS2_ENV_CHECK(env, AXIS2_TRUE);
 
1958
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_TRUE);
 
1959
               
 
1960
               return !_configureNetworkType->is_valid_rules;
 
1961
           }
 
1962
 
 
1963
           /**
 
1964
            * Set rules to nill (currently the same as reset)
 
1965
            */
 
1966
           axis2_status_t AXIS2_CALL
 
1967
           adb_configureNetworkType_set_rules_nil(
 
1968
                   adb_configureNetworkType_t* _configureNetworkType,
 
1969
                   const axutil_env_t *env)
 
1970
           {
 
1971
               return adb_configureNetworkType_reset_rules(_configureNetworkType, env);
 
1972
           }
 
1973
 
 
1974
           
 
1975
           /**
 
1976
            * Check whether rules is nill at i
 
1977
            */
 
1978
           axis2_bool_t AXIS2_CALL
 
1979
           adb_configureNetworkType_is_rules_nil_at(
 
1980
                   adb_configureNetworkType_t* _configureNetworkType,
 
1981
                   const axutil_env_t *env, int i)
 
1982
           {
 
1983
               AXIS2_ENV_CHECK(env, AXIS2_TRUE);
 
1984
               AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_TRUE);
 
1985
               
 
1986
               return (_configureNetworkType->is_valid_rules == AXIS2_FALSE ||
 
1987
                        NULL == _configureNetworkType->property_rules || 
 
1988
                        NULL == axutil_array_list_get(_configureNetworkType->property_rules, env, i));
 
1989
           }
 
1990
 
 
1991
           /**
 
1992
            * Set rules to nill at i
 
1993
            */
 
1994
           axis2_status_t AXIS2_CALL
 
1995
           adb_configureNetworkType_set_rules_nil_at(
 
1996
                   adb_configureNetworkType_t* _configureNetworkType,
 
1997
                   const axutil_env_t *env, int i)
 
1998
           {
 
1999
                void *element = NULL;
 
2000
                int size = 0;
 
2001
                int j;
 
2002
                axis2_bool_t non_nil_exists = AXIS2_FALSE;
 
2003
 
 
2004
                int k = 0;
 
2005
 
 
2006
                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
2007
                AXIS2_PARAM_CHECK(env->error, _configureNetworkType, AXIS2_FAILURE);
 
2008
 
 
2009
                if(_configureNetworkType->property_rules == NULL ||
 
2010
                            _configureNetworkType->is_valid_rules == AXIS2_FALSE)
 
2011
                {
 
2012
                    
 
2013
                    non_nil_exists = AXIS2_FALSE;
 
2014
                }
 
2015
                else
 
2016
                {
 
2017
                    size = axutil_array_list_size(_configureNetworkType->property_rules, env);
 
2018
                    for(j = 0, k = 0; j < size; j ++ )
 
2019
                    {
 
2020
                        if(i == j) continue; 
 
2021
                        if(NULL != axutil_array_list_get(_configureNetworkType->property_rules, env, i))
 
2022
                        {
 
2023
                            k ++;
 
2024
                            non_nil_exists = AXIS2_TRUE;
 
2025
                            if( k >= 0)
 
2026
                            {
 
2027
                                break;
 
2028
                            }
 
2029
                        }
 
2030
                    }
 
2031
                }
 
2032
                
 
2033
 
 
2034
                if( k < 0)
 
2035
                {
 
2036
                       AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Size of the array of rules is beinng set to be smaller than the specificed number of minOccurs(0)");
 
2037
                       return AXIS2_FAILURE;
 
2038
                }
 
2039
 
 
2040
                if(_configureNetworkType->property_rules == NULL)
 
2041
                {
 
2042
                    _configureNetworkType->is_valid_rules = AXIS2_FALSE;
 
2043
                    
 
2044
                    return AXIS2_SUCCESS;
 
2045
                }
 
2046
 
 
2047
                /* check whether there already exist an element */
 
2048
                element = axutil_array_list_get(_configureNetworkType->property_rules, env, i);
 
2049
                if(NULL != element)
 
2050
                {
 
2051
                  
 
2052
                  
 
2053
                  
 
2054
                        adb_networkRule_free((adb_networkRule_t*)element, env);
 
2055
                     
 
2056
                }
 
2057
 
 
2058
                
 
2059
                    if(!non_nil_exists)
 
2060
                    {
 
2061
                        
 
2062
                        _configureNetworkType->is_valid_rules = AXIS2_FALSE;
 
2063
                        axutil_array_list_set(_configureNetworkType->property_rules , env, i, NULL);
 
2064
                        return AXIS2_SUCCESS;
 
2065
                    }
 
2066
                
 
2067
 
 
2068
                
 
2069
                axutil_array_list_set(_configureNetworkType->property_rules , env, i, NULL);
 
2070
                
 
2071
                return AXIS2_SUCCESS;
 
2072
 
 
2073
           }
 
2074
 
 
2075
           
 
2076