CapicuaGenBalthazar 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/CODE_OF_CONDUCT.md +49 -0
  6. data/CapicuaGenBalthazar.gemspec +61 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE +165 -0
  9. data/README.md +41 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/lib/CapicuaGenBalthazar/AndroidLenguaje/AndroContextProvider/Source/andy_context_provider_feature.rb +57 -0
  14. data/lib/CapicuaGenBalthazar/Business/AndySqlEntity/Source/andy_sql_entity_feature.rb +101 -0
  15. data/lib/CapicuaGenBalthazar/Business/AndySqlEntity/Template/table_entity.erb +50 -0
  16. data/lib/CapicuaGenBalthazar/Entities/AndyEntity/Source/entity_field_schema.rb +56 -0
  17. data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Source/andy_entity_card_view_fragment_feature.rb +114 -0
  18. data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Template/catalog_cardview.erb +71 -0
  19. data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Template/catalog_fragment.erb +160 -0
  20. data/lib/CapicuaGenBalthazar/GUI/AndyEntityCardViewFragment/Template/catalog_recyclerview.erb +32 -0
  21. data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Source/andy_ic_launcher_feature.rb +68 -0
  22. data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-hdpi.png +0 -0
  23. data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-mdpi.png +0 -0
  24. data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-xhdpi.png +0 -0
  25. data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-xxhdpi.png +0 -0
  26. data/lib/CapicuaGenBalthazar/GUI/AndyIcLauncher/Template/ic_launcher_mipmap-xxxhdpi.png +0 -0
  27. data/lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Source/andy_main_activity_feature.rb +127 -0
  28. data/lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Template/main.erb +123 -0
  29. data/lib/CapicuaGenBalthazar/GUI/AndyMainActivity/Template/main_activity.erb +51 -0
  30. data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Source/andy_splash_activity_feature.rb +155 -0
  31. data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Template/logo.png +0 -0
  32. data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Template/splash.erb +57 -0
  33. data/lib/CapicuaGenBalthazar/GUI/AndySplashActivity/Template/splash_activity.erb +73 -0
  34. data/lib/CapicuaGenBalthazar/Mixins/android_context_provider_mixin.rb +83 -0
  35. data/lib/CapicuaGenBalthazar/Mixins/card_view_fragment_mixin.rb +43 -0
  36. data/lib/CapicuaGenBalthazar/Mixins/java_mixin.rb +57 -0
  37. data/lib/CapicuaGenBalthazar/Web/AndyWebRequest/Source/andy_web_request_feature.rb +67 -0
  38. data/lib/CapicuaGenBalthazar/Web/AndyWebRequest/Template/web_request.erb +80 -0
  39. data/lib/CapicuaGenBalthazar/balthazar.rb +36 -0
  40. data/lib/CapicuaGenBalthazar/version.rb +3 -0
  41. metadata +174 -0
@@ -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
+