genio 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,19 @@
1
+ #
2
+ # Copyright 2013 PayPal Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ #
17
+ module Genio
18
+ VERSION = "1.0.0"
19
+ end
@@ -0,0 +1,174 @@
1
+ <%
2
+ #
3
+ # Copyright 2013 PayPal Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ #
18
+ %>
19
+ <% imports(data_type, schema, package, classname, "rest").each do |import| %>
20
+ using <%= import %>;
21
+ <% end %>
22
+
23
+ namespace <%= package %>
24
+ {
25
+ public class <%= validate_class_name(classname) %><%= " : #{validate_class_name(data_type.extends)}" if data_type.extends %>
26
+ {
27
+ <% const_args = {} %>
28
+ <% data_type.properties.each do |name, property| %>
29
+ <% vname = validate_property_name(name) %>
30
+ <% const_args[vname] = get_property_class(property, classname) if property.required %>
31
+ private <%= get_property_class(property, classname) %><%= '?' if (is_nullable_type(property) and !property.array) %> <%= vname %>Property;
32
+
33
+ /// <summary>
34
+ /// <%= property.description %>
35
+ /// </summary>
36
+ [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
37
+ public <%= get_property_class(property, classname) %><%= '?' if (is_nullable_type(property) and !property.array) %> <%= vname %>
38
+ {
39
+ get
40
+ {
41
+ return this.<%= vname %>Property;
42
+ }
43
+ set
44
+ {
45
+ this.<%= vname %>Property = value;
46
+ }
47
+ }
48
+
49
+ <% end %>
50
+ /// <summary>
51
+ /// Default Constructor
52
+ /// </summary>
53
+ public <%= validate_class_name(classname) %>()
54
+ {
55
+ }
56
+
57
+ <% if const_args.size > 0 %>
58
+ /// <summary>
59
+ /// Parameterized Constructor
60
+ /// </summary>
61
+ public <%= validate_class_name(classname) %>(<%= const_args.map{|name, type| "#{type} #{name}"}.join(", ") %>)
62
+ {
63
+ <% const_args.each do |name, type| %>
64
+ this.<%= name %> = <%= name %>;
65
+ <% end %>
66
+ }
67
+ <% end %>
68
+
69
+ <% service = schema.services[classname] %>
70
+ <% if service %>
71
+ <% service.operations.each do |name, property| %>
72
+ <% static = is_static_method(property) %>
73
+ <% hostIdCheck = check_host_id(classname, property) %>
74
+ <% methodName = validate_method_name(name) %>
75
+ <% argumentHash = form_rest_api_args(classname, property, name) %>
76
+ <% resourcePath = validate_path(property.path) %>
77
+ <% pathParameters = generate_format_hash(classname, property, resourcePath) %>
78
+ <% payLoad = get_payload(classname, property) %>
79
+ <% if options[:gen_deprecated_methods] %>
80
+
81
+ /// <summary>
82
+ /// <%= property.description %>
83
+ /// </summary>
84
+ /// <param name="accessToken">Access Token used for the API call.</param><% if argumentHash.size > 0 %><% argumentHash.each do |name, type| %>
85
+ /// <param name="<%= name %>"><%= type %></param><% end %><% end %>
86
+ /// <returns><% if property.response %><%= property.response %><% end %></returns>
87
+ public<%= " static" if static %><% if property.response %> <%= validate_class_name(property.response) %><% else %> void<% end %> <%= methodName %>(string accessToken<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{type} #{name}"}.join(", ") %><% end %>)
88
+ {
89
+ APIContext apiContext = new APIContext(accessToken);
90
+ <% if property.response %>
91
+ return <%= methodName %>(apiContext<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{name}"}.join(", ") %><% end %>);
92
+ <% else %>
93
+ <%= name.camelcase %>(apiContext<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{name}"}.join(", ") %><% end %>);
94
+ return;
95
+ <% end %>
96
+ }
97
+ <% end %>
98
+
99
+ /// <summary>
100
+ /// <%= property.description %>
101
+ /// </summary>
102
+ /// <param name="apiContext">APIContext used for the API call.</param><% if argumentHash.size > 0 %><% argumentHash.each do |name, type| %>
103
+ /// <param name="<%= name %>"><%= type %></param><% end %><% end %>
104
+ /// <returns><% if property.response %><%= property.response %><% end %></returns>
105
+ public<%= " static" if static %><% if property.response %> <%= validate_class_name(property.response) %><% else %> void<% end %> <%= methodName %>(APIContext apiContext<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{type} #{name}"}.join(", ") %><% end %>)
106
+ {
107
+ if (apiContext == null)
108
+ {
109
+ throw new ArgumentNullException("APIContext cannot be null");
110
+ }
111
+ <% if options[:mandate_oauth] %>
112
+ if (string.IsNullOrEmpty(apiContext.AccessToken))
113
+ {
114
+ throw new ArgumentNullException("AccessToken cannot be null or empty");
115
+ }
116
+ <% end %>
117
+ if (apiContext.HTTPHeaders == null)
118
+ {
119
+ apiContext.HTTPHeaders = new Dictionary<string, string>();
120
+ }
121
+ apiContext.HTTPHeaders.Add(BaseConstants.CONTENT_TYPE_HEADER, BaseConstants.CONTENT_TYPE_JSON);
122
+ apiContext.SdkVersion = new SDKVersionImpl();
123
+ <% if hostIdCheck %>
124
+ if (this.id == null)
125
+ {
126
+ throw new ArgumentNullException("Id cannot be null");
127
+ }
128
+ <% end %>
129
+ <% if argumentHash.size > 0 %>
130
+ <% argumentHash.each do |name, type| %>
131
+ <% if name != 'queryParameters' %>
132
+ if (<%= name %> == null)
133
+ {
134
+ throw new ArgumentNullException("<%= name%> cannot be null");
135
+ }
136
+ <% end %>
137
+ <% end %>
138
+ <% end %>
139
+ Dictionary<string, string> pathParameters = new Dictionary<string, string>();
140
+ <% pathParameters.each do |name, value| %>
141
+ pathParameters.Add("<%= name %>", <%= value %>);
142
+ <% end %>
143
+ string pattern = "<%= resourcePath %>";
144
+ <% if property.type != 'POST' and property.type != 'PATCH' and property.type != 'PUT' %>
145
+ string resourcePath = SDKUtil.FormatURIPath(pattern, pathParameters, queryParameters);
146
+ <% else %>
147
+ string resourcePath = SDKUtil.FormatURIPath(pattern, pathParameters);
148
+ <% end %>
149
+ string payLoad = <%= payLoad %>;
150
+ <% if property.response %>
151
+ return PayPalResource.ConfigureAndExecute<<%= validate_class_name(property.response) %>>(apiContext, <%= "HttpMethod." + property.type %>, resourcePath, payLoad);
152
+ <% else %>
153
+ PayPalResource.ConfigureAndExecute<object>(apiContext, <%= "HttpMethod." + property.type %>, resourcePath, payLoad);
154
+ return;
155
+ <% end %>
156
+ }
157
+
158
+ <% end %>
159
+ <% end %>
160
+ /// <summary>
161
+ /// Converts the object to JSON string
162
+ /// </summary>
163
+ public string ConvertToJson()
164
+ {
165
+ return JsonFormatter.ConvertToJson(this);
166
+ }
167
+
168
+ public override string ToString()
169
+ {
170
+ return ConvertToJson();
171
+ }
172
+
173
+ }
174
+ }
@@ -0,0 +1,231 @@
1
+ <%
2
+ #
3
+ # Copyright 2013 PayPal Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ #
18
+ %>
19
+ package <%= package %>;
20
+
21
+ <% imports(data_type, schema, package, classname, "rest").each do |import| %>
22
+ import <%= import %>;
23
+ <% end %>
24
+
25
+ public class <%= validate_class_name(classname) %> <%= "extends #{validate_class_name(data_type.extends)}" if data_type.extends %> {
26
+
27
+ <% const_args = {} %>
28
+ <% data_type.properties.each do |name, property| %>
29
+ <% vname = validate_property_name(name) %>
30
+ <% const_args[vname] = get_property_class(property, classname) if property.required %>
31
+ /**
32
+ * <%= property.description %>
33
+ */
34
+ private <%= get_property_class(property, classname) %> <%= vname %>;
35
+
36
+ <% end %>
37
+ <% if schema.services[classname] and !options[:skip_stub_operations] %>
38
+ /**
39
+ * Returns the last request sent to the Service
40
+ *
41
+ * @return Last request sent to the server
42
+ */
43
+ public static String getLastRequest() {
44
+ return PayPalResource.getLastRequest();
45
+ }
46
+
47
+ /**
48
+ * Returns the last response returned by the Service
49
+ *
50
+ * @return Last response got from the Service
51
+ */
52
+ public static String getLastResponse() {
53
+ return PayPalResource.getLastResponse();
54
+ }
55
+
56
+ /**
57
+ * Initialize using InputStream(of a Properties file)
58
+ *
59
+ * @param is
60
+ * InputStream
61
+ * @throws PayPalRESTException
62
+ */
63
+ public static void initConfig(InputStream is) throws PayPalRESTException {
64
+ PayPalResource.initConfig(is);
65
+ }
66
+
67
+ /**
68
+ * Initialize using a File(Properties file)
69
+ *
70
+ * @param file
71
+ * File object of a properties entity
72
+ * @throws PayPalRESTException
73
+ */
74
+ public static void initConfig(File file) throws PayPalRESTException {
75
+ PayPalResource.initConfig(file);
76
+ }
77
+
78
+ /**
79
+ * Initialize using Properties
80
+ *
81
+ * @param properties
82
+ * Properties object
83
+ */
84
+ public static void initConfig(Properties properties) {
85
+ PayPalResource.initConfig(properties);
86
+ }
87
+ <% end %>
88
+ /**
89
+ * Default Constructor
90
+ */
91
+ public <%= validate_class_name(classname) %>() {
92
+ }
93
+
94
+ <% if const_args.size > 0 %>
95
+ /**
96
+ * Parameterized Constructor
97
+ */
98
+ public <%= validate_class_name(classname) %>(<%= const_args.map{|name, type| "#{type} #{name}"}.join(", ") %>) {
99
+ <% const_args.each do |name, type| %>
100
+ this.<%= name %> = <%= name %>;
101
+ <% end %>
102
+ }
103
+
104
+ <% end %>
105
+ <% data_type.properties.each do |name, property| %>
106
+ <% vname = validate_property_name(name) %>
107
+ <% methodname = validate_class_name(name) %>
108
+
109
+ /**
110
+ * Setter for <%= vname %>
111
+ */
112
+ public <%= classname %> set<%= methodname %>(<%= get_property_class(property, classname) %> <%= vname %>) {
113
+ this.<%= vname%> = <%= vname %>;
114
+ return this;
115
+ }
116
+
117
+ /**
118
+ * Getter for <%= vname %>
119
+ */
120
+ public <%= get_property_class(property, classname) %> get<%= methodname %>() {
121
+ return this.<%= vname%>;
122
+ }
123
+
124
+ <% end %>
125
+ <% service = schema.services[classname] %>
126
+ <% if service and !options[:skip_stub_operations] %>
127
+ <% service.operations.each do |name, property| %>
128
+ <% static = is_static_method(property) %>
129
+ <% methodName = validate_method_name(name) %>
130
+ <% hostIdCheck = check_host_id(classname, property) %>
131
+ <% argumentHash = form_rest_api_args(classname, property, name) %>
132
+ <% resourcePath = validate_path(property.path) %>
133
+ <% pathParameters = generate_format_hash(classname, property, resourcePath) %>
134
+ <% payLoad = get_payload(classname, property) %>
135
+ <% if options[:gen_deprecated_methods] %>
136
+
137
+ /**
138
+ * <%= property.description %>
139
+ * @deprecated
140
+ * @param accessToken
141
+ * Access Token used for the API call.<% if argumentHash.size > 0 %><% argumentHash.each do |name, type| %>
142
+ * @param <%= name %>
143
+ * <%= type %><% end %><% end %>
144
+ * @return <% if property.response %><%= property.response %><% end %>
145
+ * @throws PayPalRESTException
146
+ */
147
+ public<%= " static" if static %><% if property.response %> <%= validate_class_name(property.response) %><% else %> void<% end %> <%= methodName %>(String accessToken<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{type.camelcase} #{name}"}.join(", ") %><% end %>) throws PayPalRESTException {
148
+ APIContext apiContext = new APIContext(accessToken);
149
+ <% if property.response %>
150
+ return <%= methodName %>(apiContext<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{name}"}.join(", ") %><% end %>);
151
+ <% else %>
152
+ <%= methodName %>(apiContext<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{name}"}.join(", ") %><% end %>);
153
+ return;
154
+ <% end %>
155
+ }
156
+ <% end %>
157
+
158
+ /**
159
+ * <%= property.description %>
160
+ * @param apiContext
161
+ * {@link APIContext} used for the API call.<% if argumentHash.size > 0 %><% argumentHash.each do |name, type| %>
162
+ * @param <%= name %>
163
+ * <%= type %><% end %><% end %>
164
+ * @return <% if property.response %><%= property.response %><% end %>
165
+ * @throws PayPalRESTException
166
+ */
167
+ public<%= " static" if static %><% if property.response %> <%= validate_class_name(property.response) %><% else %> void<% end %> <%= methodName %>(APIContext apiContext<% if argumentHash.size > 0 %>, <%= argumentHash.map{|name, type| "#{type.camelcase} #{name}"}.join(", ") %><% end %>) throws PayPalRESTException {
168
+ if (apiContext == null) {
169
+ throw new IllegalArgumentException("APIContext cannot be null");
170
+ }
171
+ <% if options[:mandate_oauth] %>
172
+ if (apiContext.getAccessToken() == null || apiContext.getAccessToken().trim().length() <= 0) {
173
+ throw new IllegalArgumentException("AccessToken cannot be null or empty");
174
+ }
175
+ <% end %>
176
+ if (apiContext.getHTTPHeaders() == null) {
177
+ apiContext.setHTTPHeaders(new HashMap<String, String>());
178
+ }
179
+ apiContext.getHTTPHeaders().put(Constants.HTTP_CONTENT_TYPE_HEADER, Constants.HTTP_CONTENT_TYPE_JSON);
180
+ apiContext.setSdkVersion(new SDKVersionImpl());
181
+ <% if hostIdCheck %>
182
+ if (this.getId() == null) {
183
+ throw new IllegalArgumentException("Id cannot be null");
184
+ }
185
+ <% end %>
186
+ <% if argumentHash.size > 0 %>
187
+ <% argumentHash.each do |name, type| %>
188
+ <% if name != 'queryParameters' %>
189
+ if (<%= name%> == null) {
190
+ throw new IllegalArgumentException("<%= name%> cannot be null");
191
+ }
192
+ <% end %>
193
+ <% end %>
194
+ <% end %>
195
+ Map<String, String> pathParameters = new HashMap<String, String>();
196
+ <% pathParameters.each do |name, value| %>
197
+ pathParameters.put("<%= name %>", <%= value%>);
198
+ <% end %>
199
+ String pattern = "<%= resourcePath %>";
200
+ <% if property.type != 'POST' and property.type != 'PATCH' and property.type != 'PUT' %>
201
+ String resourcePath = RESTUtil.formatURIPath(pattern, pathParameters, queryParameters);
202
+ <% else %>
203
+ String resourcePath = RESTUtil.formatURIPath(pattern, pathParameters);
204
+ <% end %>
205
+ String payLoad = <%= payLoad %>;
206
+ <% if property.response %>
207
+ return PayPalResource.configureAndExecute(apiContext, <%= "HttpMethod." + property.type %>, resourcePath, payLoad, <%= validate_class_name(property.response) %>.class);
208
+ <% else %>
209
+ PayPalResource.configureAndExecute(apiContext, <%= "HttpMethod." + property.type %>, resourcePath, payLoad, null);
210
+ return;
211
+ <% end %>
212
+ }
213
+
214
+ <% end %>
215
+ <% end %>
216
+ <% if !options[:skip_stub_operations] %>
217
+ /**
218
+ * Returns a JSON string corresponding to object state
219
+ *
220
+ * @return JSON representation
221
+ */
222
+ public String toJSON() {
223
+ return JSONFormatter.toJSON(this);
224
+ }
225
+
226
+ @Override
227
+ public String toString() {
228
+ return toJSON();
229
+ }
230
+ <% end %>
231
+ }
@@ -0,0 +1,120 @@
1
+ <%
2
+ #
3
+ # Copyright 2013 PayPal Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ #
18
+ %>
19
+ <?php
20
+ <% service = schema.services[classname] %>
21
+ namespace <%= package %>;
22
+
23
+ <% imports(data_type, schema, package, classname, "rest").each do |import| %>
24
+ use <%= import %>;
25
+ <% end %>
26
+
27
+ class <%= classname %> <%= data_type.extends ? "extends #{valid_class_name(data_type.extends)} " : "extends PPModel " %><%= "implements IResource " if service %>{
28
+ <% if service %>
29
+
30
+ <% end %>
31
+ <% data_type.properties.each do |name, property| %>
32
+ <% vname = to_underscore(name) %>
33
+ <% vtype = get_php_type(property, schema, classname) %>
34
+ /**
35
+ * <%= property.description %>
36
+ *
37
+ <% if property.array %>
38
+ * @array
39
+ <% end %>
40
+ * @param <%= "#{get_namespace(schema.data_types[vtype].package || schema.endpoint )}\\" if schema.data_types[vtype] %><%= vtype %> $<%= name %>
41
+ */
42
+ public function set<%= valid_class_name(name) %>(<%if property.array %>array <%end%>$<%= vname %>) {
43
+ <% if vname != name%>
44
+ $this->{"<%= name %>"} = $<%= vname %>;
45
+ <% else %>
46
+ $this-><%= vname %> = $<%= vname %>;
47
+ <% end %>
48
+ return $this;
49
+ }
50
+
51
+ /**
52
+ * <%= property.description %>
53
+ *
54
+ * @return <%= "#{get_namespace(schema.data_types[vtype].package || schema.endpoint )}\\" if schema.data_types[vtype] %><%= vtype %>
55
+ */
56
+ public function get<%= valid_class_name(name) %>() {
57
+ <% if vname != name%>
58
+ return $this->{"<%= name %>"};
59
+ <% else %>
60
+ return $this-><%= vname %>;
61
+ <% end %>
62
+ }
63
+
64
+ <% end %>
65
+ <% if service %>
66
+ <% service.operations.each do |name, property| %>
67
+ <% static = is_static_method(property) %>
68
+ <% hostId_check = check_host_id(classname, property) %>
69
+ <% argument_hash = form_arguments(classname, property, name) %>
70
+ <% object_array = get_object_array(classname, name, property, argument_hash) %>
71
+ <% payload = get_payload(classname, property) %>
72
+ /*
73
+ * <%= property.description %>
74
+ *
75
+ <% argument_hash.each do |name, type| %>
76
+ * @param <%= type %> $<%= name %>
77
+ <% end %>
78
+ <% if( property.parameters && allowed_params(property.parameters).size > 0 )%>
79
+ * allowed queryparameters <%= allowed_params(property.parameters).map{|k,v| "'#{k}'" }.join(", ") %>
80
+ <% end %>
81
+ * @param PayPal\Rest\ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration, credentials, and additional headers.
82
+ * @return <%= "#{get_namespace(schema.data_types[property.response].package || schema.endpoint )}\\" if schema.data_types[property.response] %><%= property.response || 'string' %>
83
+ */
84
+ public<%= " static" if static %> function <%= validate_function_name(name) %>(<% if argument_hash.size > 0 %><%= argument_hash.map{|name, type| type == "array" ? "array $#{name}" : "$#{name}"}.join(", ") %>, <% end %>$apiContext) {
85
+ <% if hostId_check %>
86
+ if ($this->getId() == null) {
87
+ throw new \InvalidArgumentException("Id cannot be null");
88
+ }
89
+ <% end %>
90
+ <% if argument_hash.size > 0 %>
91
+ <% argument_hash.each do |name, type| %>
92
+ <% if name != 'queryParameters'%>
93
+
94
+ if ($<%= name %> == null<%= " || strlen($#{name}) == 0" if type == "string" %>) {
95
+ throw new \InvalidArgumentException("<%= name%> cannot be null or empty");
96
+ }
97
+ <% end %>
98
+ <% end %>
99
+ <% end %>
100
+ $payload = <%= payload %>;
101
+ $call = new PPRestCall($apiContext);
102
+ $json = $call->execute(array('PayPal\Rest\RestHandler'), <%= process_path_with_placeholders(classname, name, property.path, hostId_check, argument_hash, property.parameters) %>, "<%= property.type %>", $payload);
103
+ <% if property.request == classname %>
104
+ $this->fromJson($json);
105
+ return $this;
106
+ <% elsif property.response %>
107
+ <% if property.response == "string" %>
108
+ return $json;
109
+ <% else %>
110
+ $ret = new <%= property.response %>();
111
+ $ret->fromJson($json);
112
+ return $ret;
113
+ <% end %>
114
+ <% else %>
115
+ return $json;
116
+ <% end %>
117
+ }
118
+ <% end %>
119
+ <% end %>
120
+ }