CapicuaGenBalthazar 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/CapicuaGenBalthazar.gemspec +61 -0
- data/Gemfile +4 -0
- data/LICENSE +165 -0
- data/README.md +41 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/CapicuaGenBalthazar/AndroidLenguaje/AndroContextProvider/Source/andy_context_provider_feature.rb +57 -0
- data/lib/CapicuaGenBalthazar/Business/AndySqlEntity/Source/andy_sql_entity_feature.rb +101 -0
- data/lib/CapicuaGenBalthazar/Business/AndySqlEntity/Template/table_entity.erb +50 -0
- data/lib/CapicuaGenBalthazar/Entities/AndyEntity/Source/entity_field_schema.rb +56 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Source/andy_entity_card_view_fragment_feature.rb +114 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Template/catalog_cardview.erb +71 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Template/catalog_fragment.erb +160 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Template/catalog_recyclerview.erb +32 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Source/andy_ic_launcher_feature.rb +68 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-hdpi.png +0 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-mdpi.png +0 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-xhdpi.png +0 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-xxhdpi.png +0 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-xxxhdpi.png +0 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb +127 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Template/main.erb +123 -0
- data/lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Template/main_activity.erb +51 -0
- data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb +155 -0
- data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Template/logo.png +0 -0
- data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Template/splash.erb +57 -0
- data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Template/splash_activity.erb +73 -0
- data/lib/CapicuaGenBalthazar/Mixins/android_context_provider_mixin.rb +83 -0
- data/lib/CapicuaGenBalthazar/Mixins/card_view_fragment_mixin.rb +43 -0
- data/lib/CapicuaGenBalthazar/Mixins/java_mixin.rb +57 -0
- data/lib/CapicuaGenBalthazar/Web/AndyWebRequest/Source/andy_web_request_feature.rb +67 -0
- data/lib/CapicuaGenBalthazar/Web/AndyWebRequest/Template/web_request.erb +80 -0
- data/lib/CapicuaGenBalthazar/balthazar.rb +36 -0
- data/lib/CapicuaGenBalthazar/version.rb +3 -0
- metadata +174 -0
Binary file
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<%
|
2
|
+
#encoding: UTF-8
|
3
|
+
|
4
|
+
=begin
|
5
|
+
|
6
|
+
CapicuaGen
|
7
|
+
|
8
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
9
|
+
sistemas empresariales a través de la definición y ensamblado de
|
10
|
+
diversos generadores de características.
|
11
|
+
|
12
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
13
|
+
del 2016.
|
14
|
+
|
15
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
16
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
17
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
18
|
+
código fuente.
|
19
|
+
|
20
|
+
Este software es código libre, y se licencia bajo LGPL.
|
21
|
+
|
22
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
23
|
+
=end
|
24
|
+
%>package <%=generation_attributes[:package]%>;
|
25
|
+
|
26
|
+
import android.app.Activity;
|
27
|
+
import android.content.Intent;
|
28
|
+
import android.os.Bundle;
|
29
|
+
|
30
|
+
import <%=get_r_full_name%>;
|
31
|
+
|
32
|
+
import java.util.Timer;
|
33
|
+
import java.util.TimerTask;
|
34
|
+
|
35
|
+
public class SplashActivity extends Activity {
|
36
|
+
|
37
|
+
public static final int SPLASH_DELAY = 2000;
|
38
|
+
|
39
|
+
@Override
|
40
|
+
protected void onCreate(Bundle savedInstanceState) {
|
41
|
+
super.onCreate(savedInstanceState);
|
42
|
+
setContentView(R.layout.activity_splash);
|
43
|
+
|
44
|
+
TimerTask task = new TimerTask() {
|
45
|
+
public void run() {
|
46
|
+
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
|
47
|
+
startActivity(intent);
|
48
|
+
finish();
|
49
|
+
}
|
50
|
+
};
|
51
|
+
Timer timer = new Timer();
|
52
|
+
timer.schedule(task, SPLASH_DELAY);
|
53
|
+
|
54
|
+
}
|
55
|
+
|
56
|
+
}
|
57
|
+
|
@@ -0,0 +1,73 @@
|
|
1
|
+
<%
|
2
|
+
#encoding: UTF-8
|
3
|
+
|
4
|
+
=begin
|
5
|
+
|
6
|
+
CapicuaGen
|
7
|
+
|
8
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
9
|
+
sistemas empresariales a través de la definición y ensamblado de
|
10
|
+
diversos generadores de características.
|
11
|
+
|
12
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
13
|
+
del 2016.
|
14
|
+
|
15
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
16
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
17
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
18
|
+
código fuente.
|
19
|
+
|
20
|
+
Este software es código libre, y se licencia bajo LGPL.
|
21
|
+
|
22
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
23
|
+
=end
|
24
|
+
%><?xml version="1.0" encoding="utf-8"?>
|
25
|
+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
26
|
+
xmlns:tools="http://schemas.android.com/tools"
|
27
|
+
android:layout_width="match_parent"
|
28
|
+
android:layout_height="match_parent"
|
29
|
+
android:background="@drawable/logo"
|
30
|
+
android:foreground="#028181"
|
31
|
+
android:orientation="vertical"
|
32
|
+
tools:context=".activities.SplashActivity">
|
33
|
+
|
34
|
+
|
35
|
+
<TextView
|
36
|
+
android:layout_width="match_parent"
|
37
|
+
android:layout_height="wrap_content"
|
38
|
+
android:paddingTop="20dp"
|
39
|
+
android:text="<%=self.generation_attributes[:app_title]%>"
|
40
|
+
android:textAlignment="center"
|
41
|
+
android:textColor="@android:color/holo_red_dark"
|
42
|
+
android:textSize="40sp" />
|
43
|
+
|
44
|
+
<TextView
|
45
|
+
android:layout_width="match_parent"
|
46
|
+
android:layout_height="wrap_content"
|
47
|
+
android:padding="5dp"
|
48
|
+
android:text="<%=self.generation_attributes[:app_description]%>"
|
49
|
+
android:textAlignment="center"
|
50
|
+
android:textColor="@android:color/holo_red_dark"
|
51
|
+
android:textSize="15sp" />
|
52
|
+
|
53
|
+
<TextView
|
54
|
+
android:layout_width="match_parent"
|
55
|
+
android:layout_height="wrap_content"
|
56
|
+
android:padding="5dp"
|
57
|
+
android:text="<%=self.generation_attributes[:app_copyright]%>"
|
58
|
+
android:textAlignment="center"
|
59
|
+
android:textColor="@android:color/holo_red_dark"
|
60
|
+
android:textSize="15sp" />
|
61
|
+
|
62
|
+
<TextView
|
63
|
+
android:layout_width="match_parent"
|
64
|
+
android:layout_height="wrap_content"
|
65
|
+
android:padding="5dp"
|
66
|
+
android:text="<%=self.generation_attributes[:app_version]%>"
|
67
|
+
android:textAlignment="center"
|
68
|
+
android:textColor="@android:color/holo_red_dark"
|
69
|
+
android:textSize="15sp" />
|
70
|
+
|
71
|
+
|
72
|
+
</LinearLayout>
|
73
|
+
|
@@ -0,0 +1,83 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
de proveedoras de contexto de android :r_provider
|
25
|
+
=end
|
26
|
+
|
27
|
+
module CapicuaGen::Balthazar
|
28
|
+
|
29
|
+
public
|
30
|
+
|
31
|
+
|
32
|
+
# Obtiene la ruta completa de la clase R de Android.
|
33
|
+
def get_r_full_name
|
34
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
35
|
+
generator.get_features_in_targets_by_type(:r_provider).each do |f|
|
36
|
+
# Obtengo las entidades
|
37
|
+
return f.get_r_full_name
|
38
|
+
end
|
39
|
+
|
40
|
+
return nil
|
41
|
+
end
|
42
|
+
|
43
|
+
# Obtiene la ruta completa de un layout
|
44
|
+
def get_activity_out_file(file)
|
45
|
+
|
46
|
+
path = File.join("res", "layout")
|
47
|
+
out_path= File.join(path, file)
|
48
|
+
return out_path
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
# Obtiene la ruta completa de un archivo drawable
|
53
|
+
def get_drawable_out_file(file)
|
54
|
+
|
55
|
+
path = File.join("res", "drawable")
|
56
|
+
out_path= File.join(path, file)
|
57
|
+
return out_path
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
# Obtiene la ruta completa de un mipmap
|
62
|
+
def get_mipmap_out_file(resolution, file)
|
63
|
+
|
64
|
+
path = File.join("res", "mipmap-#{resolution}")
|
65
|
+
out_path= File.join(path, file)
|
66
|
+
return out_path
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
# Obtiene la ruta completa de un manifiesto
|
71
|
+
def get_manifest_file
|
72
|
+
|
73
|
+
return File.join(self.generation_attributes[:out_dir], 'AndroidManifest.xml')
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
# Obtiene el paquete base del proyecto
|
78
|
+
def get_base_package
|
79
|
+
return "#{@generator.generation_attributes[:package]}";
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
|
@@ -0,0 +1,43 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
|
23
|
+
=begin
|
24
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
25
|
+
de proveedoras de fragmentos de android :fragment
|
26
|
+
=end
|
27
|
+
|
28
|
+
module CapicuaGen::Balthazar
|
29
|
+
|
30
|
+
public
|
31
|
+
|
32
|
+
# Obtiene el nombre completo de un framento en base al nombre de una entidad
|
33
|
+
def get_entity_fragment_full_name(entity_name)
|
34
|
+
# Busco las caracteristicas que contiene entidades de SQL para una table
|
35
|
+
generator.get_features_in_targets_by_type(:fragment).each do |f|
|
36
|
+
# Obtengo las entidades
|
37
|
+
return f.get_entity_fragment_full_name(entity_name)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
end
|
43
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
=begin
|
23
|
+
Este Mixin esta programado para obtener información de las caracteristicas
|
24
|
+
propias del lenguaje Java.
|
25
|
+
=end
|
26
|
+
|
27
|
+
module CapicuaGen::Balthazar
|
28
|
+
|
29
|
+
public
|
30
|
+
|
31
|
+
# Obtiene el directorio actual de salida en base al paquete
|
32
|
+
# de la caracteristica actual
|
33
|
+
def get_package_out_dir
|
34
|
+
package= self.generation_attributes[:package]
|
35
|
+
out_dir= self.generation_attributes[:out_dir]
|
36
|
+
|
37
|
+
path = File.join(out_dir, "java", package.gsub(".", "/"))
|
38
|
+
out_path= File.join("java", package.gsub(".", "/"))
|
39
|
+
FileUtils::mkdir_p path
|
40
|
+
|
41
|
+
return out_path
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
# Obtiene el path actual de archivo en base al paquete
|
46
|
+
# de la caracteristica actual
|
47
|
+
def get_package_out_file(file)
|
48
|
+
|
49
|
+
package = self.generation_attributes[:package]
|
50
|
+
out_path= File.join("java", package.gsub(".", "/"), file)
|
51
|
+
return out_path
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
end
|
57
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
CapicuaGen
|
4
|
+
|
5
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
6
|
+
sistemas empresariales a través de la definición y ensamblado de
|
7
|
+
diversos generadores de características.
|
8
|
+
|
9
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
10
|
+
del 2016.
|
11
|
+
|
12
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
13
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
14
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
15
|
+
código fuente.
|
16
|
+
|
17
|
+
Este software es código libre, y se licencia bajo LGPL.
|
18
|
+
|
19
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
20
|
+
=end
|
21
|
+
|
22
|
+
require_relative '../../../balthazar'
|
23
|
+
require 'active_support/core_ext/object/blank'
|
24
|
+
require 'CapicuaGenMelchior/Mixins/entity_sql_table_mixin'
|
25
|
+
require_relative '../../../Mixins/java_mixin'
|
26
|
+
|
27
|
+
|
28
|
+
module CapicuaGen::Balthazar
|
29
|
+
|
30
|
+
# Caracteristica generadora para el uso de servicios json
|
31
|
+
class AndyWebRequestFeature < CapicuaGen::TemplateFeature
|
32
|
+
include CapicuaGen
|
33
|
+
include CapicuaGen::Balthazar
|
34
|
+
|
35
|
+
|
36
|
+
public
|
37
|
+
|
38
|
+
# Inicializa la caracteristica
|
39
|
+
def initialize(values= {})
|
40
|
+
super(values)
|
41
|
+
|
42
|
+
self.types= [:business_entities] if self.types.blank?
|
43
|
+
|
44
|
+
# Configuro los templates
|
45
|
+
set_template("json_web_request", Template.new(:file => 'web_request.erb'))
|
46
|
+
end
|
47
|
+
|
48
|
+
# Configura los objetivos de las platillas (despues de establecer el generador)
|
49
|
+
def configure_template_targets
|
50
|
+
set_template_target("json_web_request", TemplateTarget.new(:out_file => get_package_out_file("WebRequest.java"), :types => :proyect_file))
|
51
|
+
end
|
52
|
+
|
53
|
+
# Resetea los atributos personalizados de la caracteristica (antes de establecer el generador)
|
54
|
+
def reset_attributes
|
55
|
+
self.generation_attributes[:package] = nil
|
56
|
+
self.generation_attributes[:package_out_dir]= nil
|
57
|
+
end
|
58
|
+
|
59
|
+
# Configura los atributos personalizados de la caracteristica (antes de establecer el generador)
|
60
|
+
def configure_attributes()
|
61
|
+
self.generation_attributes[:package] = "#{self.generation_attributes[:package]}.tools" unless self.generation_attributes.has_in_self?(:package)
|
62
|
+
self.generation_attributes[:package_out_dir]= get_package_out_dir
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<%
|
2
|
+
#encoding: UTF-8
|
3
|
+
|
4
|
+
=begin
|
5
|
+
|
6
|
+
CapicuaGen
|
7
|
+
|
8
|
+
CapicuaGen es un software que ayuda a la creación automática de
|
9
|
+
sistemas empresariales a través de la definición y ensamblado de
|
10
|
+
diversos generadores de características.
|
11
|
+
|
12
|
+
El proyecto fue iniciado por José Luis Bautista Martin, el 6 de enero
|
13
|
+
del 2016.
|
14
|
+
|
15
|
+
Puede modificar y distribuir este software, según le plazca, y usarlo
|
16
|
+
para cualquier fin ya sea comercial, personal, educativo, o de cualquier
|
17
|
+
índole, siempre y cuando incluya este mensaje, y se permita acceso el
|
18
|
+
código fuente.
|
19
|
+
|
20
|
+
Este software es código libre, y se licencia bajo LGPL.
|
21
|
+
|
22
|
+
Para más información consultar http://www.gnu.org/licenses/lgpl.html
|
23
|
+
=end
|
24
|
+
%>package <%=generation_attributes[:package]%>;
|
25
|
+
|
26
|
+
import java.io.BufferedReader;
|
27
|
+
import java.io.IOException;
|
28
|
+
import java.io.InputStreamReader;
|
29
|
+
import java.io.Reader;
|
30
|
+
import java.net.HttpURLConnection;
|
31
|
+
import java.net.MalformedURLException;
|
32
|
+
import java.net.URL;
|
33
|
+
import java.util.logging.Level;
|
34
|
+
|
35
|
+
import static java.util.logging.Logger.getLogger;
|
36
|
+
|
37
|
+
|
38
|
+
public class WebRequest {
|
39
|
+
|
40
|
+
static final int TIMEOUT = <%=generation_attributes[:web_timeout]%>;
|
41
|
+
|
42
|
+
public String getResponseText(String stringUrl) {
|
43
|
+
|
44
|
+
|
45
|
+
StringBuilder response = new StringBuilder();
|
46
|
+
HttpURLConnection httpconn = null;
|
47
|
+
|
48
|
+
try {
|
49
|
+
URL url = new URL(stringUrl);
|
50
|
+
httpconn = (HttpURLConnection) url.openConnection();
|
51
|
+
httpconn.setConnectTimeout(TIMEOUT);
|
52
|
+
httpconn.setReadTimeout(TIMEOUT);
|
53
|
+
if (httpconn.getResponseCode() == HttpURLConnection.HTTP_OK) {
|
54
|
+
BufferedReader input = new BufferedReader(new InputStreamReader(httpconn.getInputStream()));
|
55
|
+
String strLine = null;
|
56
|
+
while ((strLine = input.readLine()) != null) {
|
57
|
+
response.append(strLine);
|
58
|
+
}
|
59
|
+
input.close();
|
60
|
+
}
|
61
|
+
} catch (MalformedURLException ex) {
|
62
|
+
getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
|
63
|
+
} catch (IOException ex) {
|
64
|
+
getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
|
65
|
+
} finally {
|
66
|
+
if (httpconn != null) {
|
67
|
+
try {
|
68
|
+
httpconn.disconnect();
|
69
|
+
} catch (Exception ex) {
|
70
|
+
getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
return response.toString();
|
75
|
+
|
76
|
+
}
|
77
|
+
|
78
|
+
|
79
|
+
}
|
80
|
+
|