BalizasConversor.java
5.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
package com.focasoftware.deboinventario;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
/**
* Clase accesoria que permite las conversiones entre balizas de XML,USB y de BDD
* @author GuillermoR
*
*/
public class BalizasConversor {
public final static int BDD = 1;
public final static int XML = 2;
public final static int USB = 3;
/**
* Almacena HashMaps con informaci�n de las Balizas
*/
private ArrayList<HashMap<Integer, String>> todos_vectores;
/**
* Constructor
*/
public BalizasConversor(){
todos_vectores = new ArrayList<HashMap<Integer,String>>();
}
/**
* Constructor con BDD y XML solos
* @param baliza_BDD
* @param baliza_XML
* <p>1� Mete en un hashMap las valizas BDD, XML y "" para USB
* <p>2� Agrega ese hashMap al arreglo
*/
public void put(String baliza_BDD, String baliza_XML) {
//1� Mete en un hashMap las valizas BDD, XML y "" para USB
HashMap<Integer, String> vector = new HashMap<Integer, String>();
vector.put(BDD, baliza_BDD);
vector.put(XML, baliza_XML);
vector.put(USB, "");
//2� Agrega ese hashMap al arreglo
todos_vectores.add(vector);
}
/**
* Constructor con BDD, XML y USB
* @param baliza_BDD
* @param baliza_XML
* @param baliza_USB
* <p>1� Mete en un hashMap las valizas BDD, XML y USB pasadas
* <p>2� Agrega ese hashMap al arreglo
*/
public void put(String baliza_BDD, String baliza_XML, String baliza_USB) {
Log.e("balizasConversotPut", baliza_BDD + ", " + baliza_XML + ", " + baliza_USB);
//1� Mete en un hashMap las valizas BDD, XML y USB pasadas
HashMap<Integer, String> vector = new HashMap<Integer, String>();
vector.put(BDD, baliza_BDD);
vector.put(XML, baliza_XML);
vector.put(USB, baliza_USB);
//2� Agrega ese hashMap al arreglo
todos_vectores.add(vector);
}
/**
* Convierte una baliza xml en una de tabla de bdd
* @param bal_xml
* @param tabla_bdd
* @return
* @throws Exception�
*
* <p>1� Obtiene la baliza XML para la bdd pasada
* <p>2� Busca esa baliza en todos los HashMaps y lo devuelve
* <p>3� Si no encontramos, disparamos un error
*/
@Nullable
public String xml2bdd(@NonNull String bal_xml, @NonNull String tabla_bdd) {
try {
int indice = -1;
//1� Obtiene la baliza XML para la bdd pasada
String codigo_xml_tabla = this.bdd2xml(tabla_bdd);
Log.e("baliza", codigo_xml_tabla);
Log.e("bal_xml", bal_xml);
//2� Busca esa baliza en todos los HashMaps y lo devuelve
for (HashMap<Integer, String> vector : todos_vectores) {
if ( (vector.get(XML)).compareTo(bal_xml) == 0 ) {
indice = todos_vectores.indexOf(vector);
String posible_resultado = (String) todos_vectores.get(indice).get(BDD);
if (posible_resultado.contains(codigo_xml_tabla) == true) {
Log.e("posible_resultado", posible_resultado);
return posible_resultado;
}
}
}
} catch (Exception e) {
Log.d("prueba", e.toString());
}
return tabla_bdd;
}
/**
* Convierte una baliza bdd pasada como parametro en una xml devuelta
* <p>1� Busca en todos los vectores la informacion de XML correspondiente a esa
* baliza bdd
* <p>2� Si no encontramos, disparamos un error
* @param bal_bdd
* @return la baliza XML
* @throws Exception
*/
@Nullable
public String bdd2xml(@NonNull String bal_bdd) throws Exception {
int indice = -1;
//1� Busca en todos los vectores la informacion de XML correspondiente a esa
//baliza bdd
for (HashMap<Integer, String> vector : todos_vectores) {
if ( (vector.get(BDD)).compareTo(bal_bdd) == 0 ) {
indice = todos_vectores.indexOf(vector);
return (String) todos_vectores.get(indice).get(XML);
}
}
//2� Si no encontramos, disparamos un error:
throw new Exception("ERROR EN LA CONVERSI�N DE BALIZAS: (BDD) " + bal_bdd + " to XML");
}
/**
* Convierte una baliza usb en una baliza bdd
* <p>1� Trasnforma la baliza bdd a codigo usb
* <p>2� Busca ese codigo en los vectores
* <p>3� Si no encontramos, disparamos un error
* @param bal_usb
* @param tabla_bdd
* @return
* @throws Exception
*/
@Nullable
public String usb2bdd(@NonNull String bal_usb, @NonNull String tabla_bdd) throws Exception {
try {
int indice = -1;
//1� Trasnforma la baliza bdd a codigo usb
String codigo_usb_tabla = this.bdd2usb(tabla_bdd);
//2� Busca ese codigo en los vectores
for (HashMap<Integer, String> vector : todos_vectores) {
if ( (vector.get(USB)).compareTo(bal_usb) == 0 ) {
indice = todos_vectores.indexOf(vector);
String posible_resultado = (String) todos_vectores.get(indice).get(BDD);
if (posible_resultado.contains(codigo_usb_tabla) == true) {
return posible_resultado;
}
}
}
//3� Si no encontramos, disparamos un error:
throw new Exception("ERROR EN LA CONVERSI�N DE BALIZAS: (USB) " + bal_usb + " to BDD" );
} catch (Exception e) {
throw new Exception("ERROR EN LA CONVERSI�N DE BALIZAS: (USB) " + bal_usb + " to BDD");
}
}
/**
* Devuelve la baliza usb correspondiente ala baliza bdd pasada como parametro
* <p>1� Buscar en todos los vectores la baliza usb de la bdd pasada
* <p>2� Si no encontramos, disparamos un error
* @param bal_bdd
* @return
* @throws Exception
*/
@Nullable
public String bdd2usb(@NonNull String bal_bdd) throws Exception {
int indice = -1;
//1� Buscar en todos los vectores la baliza usb de la bdd pasada
for (HashMap<Integer, String> vector : todos_vectores) {
if ( (vector.get(BDD)).compareTo(bal_bdd) == 0 ) {
indice = todos_vectores.indexOf(vector);
return (String) todos_vectores.get(indice).get(USB);
}
}
//2� Si no encontramos, disparamos un error:
throw new Exception("ERROR EN LA CONVERSI�N DE BALIZAS: (BDD) " + bal_bdd + " to USB");
}
}