CapicuaGenBalthazar 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+