codice:
public class GestioneMenu {
public Hashtable<String,String> ht1 = new Hashtable<String,String>();
public Hashtable<String,String> ht2 = new Hashtable<String,String>();
public Hashtable<String,String> ht3 = new Hashtable<String,String>();
public String comodo;
public int var1=0;
public int var2=0;
public int progre=0;
public String key1;
public String key2;
public String key3;
public String righeMenu[][][];
public String value1;
public String value2;
public String value3;
public int codice4;
public int riga4;
public String descrizio4;
public int codice3;
public int riga3;
public String descrizio3;
public int codice2;
public int riga2;
public String descrizio2;
public int codice1;
public int riga1;
public String descrizio1;
public int codice0;
public int riga0;
public String descrizio0;
public int interrogazione;
public String comodokey;
public GestioneMenu()
{
var1=0;
var2=0;
ht1.clear();
ht2.clear();
ht3.clear();
}
public String[][][] CreaMenu(ResultSet records){
try {
while (records.next()) {
codice4=records.getInt("COD_MENU_L4");
riga4=records.getInt("RIGA_MENU_L4");
descrizio4=records.getString("DESCRIZIONE_L4");
codice3=records.getInt("COD_MENU_L3");
riga3=records.getInt("RIGA_MENU_L3");
descrizio3=records.getString("DESCRIZIONE_L3");
codice2=records.getInt("COD_MENU_L2");
riga2=records.getInt("RIGA_MENU_L2");
descrizio2=records.getString("DESCRIZIONE_L2");
codice1=records.getInt("COD_MENU_L1");
riga1=records.getInt("RIGA_MENU_L1");
descrizio1=records.getString("DESCRIZIONE_L1");
codice0=records.getInt("COD_MENU_L0");
riga0=records.getInt("RIGA_MENU_L0");
descrizio0=records.getString("DESCRIZIONE_L0");
interrogazione=records.getInt("INTER_INTERROGAZ");
if (codice4 != 0) {
AggiungiCod4(codice4,riga4,descrizio4,codice3,riga3,descrizio3,codice2,riga2,descrizio2,codice1,riga1,descrizio1,codice0,riga0,descrizio0,interrogazione);
}
if ((codice3 != 0) && (codice4 == 0)) {
AggiungiCod3(codice3,riga3,descrizio3,codice2,riga2,descrizio2,codice1,riga1,descrizio1,codice0,riga0,descrizio0,interrogazione);
}
if (codice2 != 0 && codice3 == 0 && codice4 == 0) {
AggiungiCod2(codice2,riga2,descrizio2,codice1,riga1,descrizio1,codice0,riga0,descrizio0,interrogazione);
}
if (codice1 != 0 && codice2 == 0 && codice3 == 0 && codice4 == 0) {
AggiungiCod1(codice1,riga1,descrizio1,codice0,riga0,descrizio0,interrogazione);
}
if (codice0 != 0 && codice1 == 0 && codice2 == 0 && codice3 == 0 && codice4 == 0) {
AggiungiCod0(codice0,riga0,descrizio0,interrogazione);
}
}
}
catch( Exception e )
{
System.err.println("Eccezione if null: " + e.getMessage());
}
righeMenu = new String[ht1.size()][ht1.size()][ht1.size()];
int a=0;
Enumeration en = ht1.keys();
while (en.hasMoreElements()) {
key1 = (String)en.nextElement();
value1 = (String)ht1.get(key1);
value2 = (String)ht2.get(key1);
value3 = (String)ht3.get(key1);
righeMenu[a][0][0]=value3;
righeMenu[a][1][0]=value1;
righeMenu[a][1][1]=value2;
a++;
}
return righeMenu;
}
public void AggiungiCod4(int cod4,int riga4,String descr4,int cod3,int riga3,String descr3,int cod2,int riga2,String descr2,int cod1,int riga1,String descr1,int cod0,int riga0,String descr0,int interroga){
key1 = String.valueOf(cod4) + "|" + String.valueOf(riga4) + "|" + descr4;
key2 = key1;
key3 = key1;
if (ht1.containsKey(key1) == true){
try{
comodo = (String)ht2.get(key2);
comodo += ","+String.valueOf(interroga);
ht2.put(key2,comodo);
comodokey=(String)ht3.get(key2);
key1 = String.valueOf(cod3) + "|" + String.valueOf(riga3) + "|" + descr3;
key2 = key1;
key3 = key1;
if (ht1.containsKey(key1)==true){
comodo = (String)ht2.get(key2);
comodo += ","+String.valueOf(interroga);
ht2.put(key2,comodo);
comodokey=(String)ht3.get(key2);
}else{
ht1.put(key1,descr3);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(comodokey.substring(0,comodokey.indexOf("|")));
ht3.put(key3,comodo);
}
key1 = String.valueOf(cod2) + "|" + String.valueOf(riga2) + "|" + descr2;
key2 = key1;
key3 = key1;
if (ht1.containsKey(key1)==true){
comodo = (String)ht2.get(key2);
comodo += ","+String.valueOf(interroga);
ht2.put(key2,comodo);
comodokey=(String)ht3.get(key2);
}else{
ht1.put(key1,descr2);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(comodokey.substring(0,comodokey.indexOf("|")));
ht3.put(key3,comodo);
}
key1 = String.valueOf(cod1) + "|" + String.valueOf(riga1) + "|" + descr1;
key2 = key1;
key3 = key1;
if (ht1.containsKey(key1)==true){
comodo = (String)ht2.get(key2);
comodo += ","+String.valueOf(interroga);
ht2.put(key2,comodo);
comodokey=(String)ht3.get(key2);
}else{
ht1.put(key1,descr1);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(comodokey.substring(0,comodokey.indexOf("|")));
ht3.put(key3,comodo);
}
key1 = String.valueOf(cod0) + "|" + String.valueOf(riga0) + "|" + descr0;
key2 = key1;
key3 = key1;
if (ht1.containsKey(key1)==true){
comodo = (String)ht2.get(key2);
comodo += ","+String.valueOf(interroga);
ht2.put(key2,comodo);
comodokey=(String)ht3.get(key2);
}else{
ht1.put(key1,descr0);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(comodokey.substring(0,comodokey.indexOf("|")));
ht3.put(key3,comodo);
}
}
catch (NullPointerException e) {
System.err.println("Eccezione HT4m: " + e.getMessage());
}
}else{
try{
progre++;
ht1.put(key1,descr4);
ht2.put(key2,String.valueOf(interroga));
var1=progre;
comodo = String.valueOf(var1) + "|0";
ht3.put(key3,comodo);
key1 = String.valueOf(cod3) + "|" + String.valueOf(riga3) + "|" + descr3;
key2 = key1;
key3 = key1;
ht1.put(key1,descr3);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(var1);
ht3.put(key3,comodo);
var1=progre;
key1 = String.valueOf(cod2) + "|" + String.valueOf(riga2) + "|" + descr2;
key2 = key1;
key3 = key1;
ht1.put(key1,descr2);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(var1);
ht3.put(key3,comodo);
var1=progre;
key1 = String.valueOf(cod1) + "|" + String.valueOf(riga1) + "|" + descr1;
key2 = key1;
key3 = key1;
ht1.put(key1,descr1);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(var1);
ht3.put(key3,comodo);
var1=progre;
key1 = String.valueOf(cod0) + "|" + String.valueOf(riga0) + "|" + descr0;
key2 = key1;
key3 = key1;
ht1.put(key1,descr0);
ht2.put(key2,String.valueOf(interroga));
progre++;
comodo = String.valueOf(progre) + "|" + String.valueOf(var1);
ht3.put(key3,comodo);
}
catch (NullPointerException e){
System.err.println("Eccezione HT4i: " + e.getMessage());
}
}
}
ho messo solo un pezzo, gli altri metodi sono simili.