Conquest
Class Conquest

java.lang.Object
  extended by Conquest.Conquest

public class Conquest
extends java.lang.Object

La classe principale, ovvero il control di Conquest, che contiene tutti i Workers, le Utility e gli altri metodi. Questa classe mantiene in se tutti dati di Conquest fatta eccezione di quelli grafici che vengon delegati ad una istanza della interface inizializzata nel costruttore.


Nested Class Summary
 class Conquest.Cacher
          Questo componente carica in memoria il contenuto delle tabelle per un accesso rapido da parte di ConQueSt, inoltre calcola informazioni sui vari campi delle tabelle (come massimo, minimo, media, valori distinti, ecc..)
 class Conquest.CardinalityOrder
          E' il comparator che permette l'ordinamneto per Cardinalità
 class Conquest.Connecter
          Connette ConQueSt al database di cui sono stati inseriti i dati, ovvero locazione, tipologia, username e password e ne ricava la struttura in tabelle (istanziando vari Table, componente interface visto in precedenza) e i metadati generali relativi ad esse (chiavi primarie, chiave esterne)
 class Conquest.DatasetGenerator
          Esegue materialmente la query corrente per estrarre una vista dello strato pre-processing.
 class Conquest.DataSorter
          Permette la coerenza dei dati durante il sort mantenendo il link tra oggetto da ordinare e riga della tabella orignale
 class Conquest.Discretizator
          Esegue la discretizzazione di un campo di una tabella secondo i parametri specificati.
 class Conquest.Executor
          Esegue le chiamate di puro SQL al database processando il risultato e visualizzandolo nello SQL browser.
 class Conquest.ExtFileFilter
          Il filtro per la selesione di file con estenzione specificata
 class Conquest.InfoVisualizator
          Imposta le informazioni del campo correntemente selezionato nel pannello Field Information
 class Conquest.Materializer
          Ha il compito di materializzare sul DBMS le tabelle riguardanti il pattern browser e il rule browser e generare i collegamenti tra di esse.
 class Conquest.Miner
          Esegue le chiamate di SPQL, controllando se in cache esiste già materiale che pụ essere riutilizzato per evitare computazioni superflue in caso contrario lancia un worker a sua volta (il Dataset Generator) per la generazione dei file del dataset, dopo di che costruisce una chiamata di sistema per il miner e lo fa eseguire facendo utilizzare i file appena generati.
 class Conquest.Operator
          L'insieme di operatori per il calcolo di funzioni matematiche
 class Conquest.ReverseOrder
          Il comparator per ordinare in maniera inversa.
 class Conquest.TableVisualizator
          Imposta e trasferisce i dati di una tabella, presente in cache, all’interno del pannello di visualizzazione della tabella e le informazioni generali sulla tabella correntemente selezionata nel pannello Table Information.
 
Field Summary
 boolean aConstraint
           
static java.lang.String AFieldName
           
static javax.swing.ImageIcon allDistinctIcon
           
static java.awt.Image aniConquest
           
 java.util.ArrayList AttributeTot
           
static boolean AUTOUPDATE
           
 boolean browserNameMapping
           
 Conquest.Cacher ca
           
 java.awt.Image cacheGraph
           
 java.util.Hashtable cacheTableInfo
           
 boolean ChangeDataset
           
 boolean ChangeGraph
           
 boolean ChangeTable
           
 Conquest.Connecter co
           
static javax.swing.ImageIcon ConflictIcon
           
 java.sql.Connection connection
           
 java.util.Hashtable constraint
           
 java.util.ArrayList constraintOrder
           
static javax.swing.ImageIcon CreatedIconBrowser
           
static javax.swing.ImageIcon CreatedIconRules
           
 Type.CurrentSPQLExecution cSPQL
           
 int currentRulesMaxLenght
           
 Conquest.DatasetGenerator da
           
 java.lang.String DB_DRIVER
           
 java.lang.String DB_PASSWORD
           
 java.lang.String DB_URL
           
 java.lang.String DB_UTENTE
           
 java.lang.String dbmode
           
 java.text.DecimalFormat df
           
 Conquest.Discretizator di
           
 java.util.ArrayList Discretization
           
 boolean Drag
           
 java.awt.Point dragPoint
           
 java.util.ArrayList ErrorMessage
           
static javax.swing.ImageIcon ExConflictIcon
           
 Conquest.Executor exe
           
static javax.swing.ImageIcon ForeignIcon
           
 java.util.ArrayList From
           
static int fromBrowser
           
static int fromRules
           
 Interface Gui
           
 int idtable
           
 Conquest.InfoVisualizator inf
           
 java.sql.DatabaseMetaData infoDb
           
 java.util.Hashtable InfoGraph
           
 int introGap
           
static java.lang.String ItemsetView
           
 java.util.ArrayList ItemTot
           
static java.lang.String ItemView
           
 java.util.ArrayList jList
           
 java.util.Hashtable jListProperty
           
static int LIMITINFO
           
static javax.swing.ImageIcon LoadedIcon
           
static javax.swing.ImageIcon LoadingIcon
           
 Conquest.Materializer ma
           
static java.lang.String Marker
           
 int materializeType
           
static int MAXCAKE
           
 float MaxGraph
           
 Conquest.Miner mi
           
 int moveGraph
           
 int mxGraph
           
 int myGraph
           
 boolean nameLinked
           
 java.util.Hashtable operator
           
 java.lang.Object[] orderColumns
           
 int orderId
           
 int orderId2
           
 javax.swing.JScrollPane orderScroll
           
 int orderSortFrom
           
 javax.swing.JTable orderTable
           
 Conquest.Exec pr
           
static javax.swing.ImageIcon PrimaryIcon
           
 int progressBarCur
           
 int progressBarMax
           
 java.lang.String progressBarTitle
           
 float RangeGraph
           
 java.util.Hashtable resolveAttribute
           
static java.lang.String RFieldName
           
static javax.swing.ImageIcon RollupIcon
           
 java.lang.String[] SEL_TYPES
           
 java.util.ArrayList Select
           
 Type.Table selJList
           
 int selJListField
           
 SpqlManager Spql
           
 java.sql.Statement statement
           
 Conquest.TableVisualizator tab
           
static javax.swing.ImageIcon TableListCreatedIconBrowser
           
static javax.swing.ImageIcon TableListCreatedIconRules
           
 java.util.ArrayList TransactionTot
           
 int typeGraph
           
static javax.swing.ImageIcon UnivocIcon
           
 boolean validdataset
           
 boolean validquery
           
 int working
           
 double zoom
           
 
Constructor Summary
Conquest()
          Costruttore che istanzia l'interfaccia e la inizializza
 
Method Summary
 java.lang.String buildConstraint()
          Genera la stringa di Constraint per il lancio di Patternist
 void createAttributeList()
          Genera l'elenco di Attributi esistenti per le constraint che necessitano di una selezione di un insieme di valori
 void createIntervalDiscretization(double from, double to, int s, int Method)
          Crea gli intervalli di dicretizzazione a seconda del metodo selezionato tramite interfaccia o query SPQL.
 void createItemList()
          Genera l'elenco di Item esistenti per le constraint che necessitano di una selezione di un insieme di valori
 javax.swing.JList createJList()
          Genera una nuova tabella e la aggiunge al Workbench, aggiungedo ad essa tutti i gestori di eventi.
 java.lang.String createNameAttribute()
          Genera il nome del file degli Attributi
 java.lang.String createNameCache()
          Genera il nome del file dei Metadati
 java.lang.String createNameDataset(boolean suffix)
          Genera il nome del file del Dataset
 void createNameLink()
          Genera le connessioni tra tabelle basandosi sulle chiavi primarie e i nomi dei campi
 java.lang.String createNameResult(boolean suffix)
          Genera il nome del file del file dei Risultati
 void disconnect(boolean force)
          Disconnette Conquest dal DBMS..
 void enterPreferences()
          Aggiorna i parametri di connessione con quelli specificati nell'interfaccia
 void findConflict()
          determina se ci sono Attributi con possibili conflitti
 void generateRules(double mconf)
          Genera le ragole a partire dal dataset correntemente in analisi
 java.lang.String generateWhere(java.util.ArrayList table)
          Genera il WHERE necessario durante la costruzione della query SPQL basandosi sulle lista di tabelle da collegare
 java.util.ArrayList getConnectedTable(java.lang.String title, java.util.ArrayList Disabled)
           
 int getIndex(Type.Table t, java.lang.String name)
           
 java.awt.geom.Line2D.Double getLine(Type.Table t, int id_key, Type.Table t2, int id_key2)
           
 Type.Table getTable(java.lang.String name)
           
 void inverseParser()
          L'Inverse Parser che gestisce la coerenza tra dati visuali e SPQL
static void main(java.lang.String[] args)
           
 void maximizeAll()
          Imposta la modalità estesa a tutte le tabelle
 void maximizeTable(Type.Table tmp)
          Imposta la modalità estesa alla tabella
 void minimizeAll()
          Imposta la modalità ridotta a tutte le tabelle
 void minimizeTable(Type.Table tmp)
          Imposta la modalità ridotta alla tabella
 void parseDiscretization(java.lang.String query)
          Esegue il Parsing una query SPQL di discretizzazione
 void parser()
          Il parser SPQL che gestisce la coerenza tra query SPQL e dati visuali
 void preferences()
          Apre e imposta le preferenze di connessione alla situazione corrente dei dati
 void readResult(java.lang.String nomefile)
          Legge e esegue il remapping dei risultati ottenuti dal processo di mining
 void removeAttributeConstraint(int idtable, java.lang.String attrib)
          Mantiene coerente la lista di vincoli eliminando quelli che si riferiscono ad attributi che non sono selezionati come tali.
 void removeAttributeResolve(int idtable, java.lang.String attrib)
          Mantiene coerente la lista delle risoluzione di conflitti degli attributi eliminando quelli che si riferiscono ad attributi che non sono selezionati come tali.
 boolean searchConnection(java.util.ArrayList tables, java.util.ArrayList Disabled)
          Esegue una ricerca a ventaglio per determinare se esiste una connessione tra le varie tabelle con campi selezionati come id
 java.lang.Object[][] sortData(javax.swing.JTable table, int id, int type, int id2)
          Ordina una tabella secondo il criterio specificato
 void updateConstraintWindow()
          aggiorna la "forma" della constraint window a seconda del tipo di vincolo che si sta specificando
 void updateTableList()
          Aggiorna la Tabe List
 void visualBrowser(boolean change, boolean title)
          Gestisce il Pattern Browser
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Gui

public Interface Gui

Spql

public SpqlManager Spql

jList

public java.util.ArrayList jList

connection

public java.sql.Connection connection

statement

public java.sql.Statement statement

infoDb

public java.sql.DatabaseMetaData infoDb

DB_URL

public java.lang.String DB_URL

DB_DRIVER

public java.lang.String DB_DRIVER

DB_PASSWORD

public java.lang.String DB_PASSWORD

DB_UTENTE

public java.lang.String DB_UTENTE

SEL_TYPES

public java.lang.String[] SEL_TYPES

constraint

public java.util.Hashtable constraint

constraintOrder

public java.util.ArrayList constraintOrder

operator

public java.util.Hashtable operator

idtable

public int idtable

progressBarTitle

public java.lang.String progressBarTitle

progressBarMax

public int progressBarMax

progressBarCur

public int progressBarCur

cacheTableInfo

public java.util.Hashtable cacheTableInfo

Select

public java.util.ArrayList Select

TransactionTot

public java.util.ArrayList TransactionTot

ItemTot

public java.util.ArrayList ItemTot

AttributeTot

public java.util.ArrayList AttributeTot

validquery

public boolean validquery

validdataset

public boolean validdataset

RangeGraph

public float RangeGraph

InfoGraph

public java.util.Hashtable InfoGraph

MaxGraph

public float MaxGraph

typeGraph

public int typeGraph

selJList

public Type.Table selJList

selJListField

public int selJListField

ChangeDataset

public boolean ChangeDataset

ChangeTable

public boolean ChangeTable

ChangeGraph

public boolean ChangeGraph

cacheGraph

public java.awt.Image cacheGraph

ErrorMessage

public java.util.ArrayList ErrorMessage

working

public int working

pr

public Conquest.Exec pr

exe

public Conquest.Executor exe

mi

public Conquest.Miner mi

ca

public Conquest.Cacher ca

co

public Conquest.Connecter co

da

public Conquest.DatasetGenerator da

inf

public Conquest.InfoVisualizator inf

tab

public Conquest.TableVisualizator tab

ma

public Conquest.Materializer ma

di

public Conquest.Discretizator di

Discretization

public java.util.ArrayList Discretization

cSPQL

public Type.CurrentSPQLExecution cSPQL

currentRulesMaxLenght

public int currentRulesMaxLenght

From

public java.util.ArrayList From

materializeType

public int materializeType

Drag

public boolean Drag

dragPoint

public java.awt.Point dragPoint

dbmode

public java.lang.String dbmode

orderTable

public javax.swing.JTable orderTable

orderScroll

public javax.swing.JScrollPane orderScroll

orderId

public int orderId

orderId2

public int orderId2

orderColumns

public java.lang.Object[] orderColumns

orderSortFrom

public int orderSortFrom

zoom

public double zoom

mxGraph

public int mxGraph

myGraph

public int myGraph

moveGraph

public int moveGraph

resolveAttribute

public java.util.Hashtable resolveAttribute

browserNameMapping

public boolean browserNameMapping

nameLinked

public boolean nameLinked

aConstraint

public boolean aConstraint

introGap

public int introGap

jListProperty

public java.util.Hashtable jListProperty

ItemView

public static final java.lang.String ItemView
See Also:
Constant Field Values

ItemsetView

public static final java.lang.String ItemsetView
See Also:
Constant Field Values

AFieldName

public static final java.lang.String AFieldName
See Also:
Constant Field Values

RFieldName

public static final java.lang.String RFieldName
See Also:
Constant Field Values

PrimaryIcon

public static final javax.swing.ImageIcon PrimaryIcon

ForeignIcon

public static final javax.swing.ImageIcon ForeignIcon

ConflictIcon

public static final javax.swing.ImageIcon ConflictIcon

ExConflictIcon

public static final javax.swing.ImageIcon ExConflictIcon

RollupIcon

public static final javax.swing.ImageIcon RollupIcon

UnivocIcon

public static final javax.swing.ImageIcon UnivocIcon

CreatedIconBrowser

public static final javax.swing.ImageIcon CreatedIconBrowser

CreatedIconRules

public static final javax.swing.ImageIcon CreatedIconRules

TableListCreatedIconBrowser

public static final javax.swing.ImageIcon TableListCreatedIconBrowser

TableListCreatedIconRules

public static final javax.swing.ImageIcon TableListCreatedIconRules

allDistinctIcon

public static final javax.swing.ImageIcon allDistinctIcon

LoadingIcon

public static final javax.swing.ImageIcon LoadingIcon

LoadedIcon

public static final javax.swing.ImageIcon LoadedIcon

aniConquest

public static final java.awt.Image aniConquest

Marker

public static final java.lang.String Marker
See Also:
Constant Field Values

fromBrowser

public static final int fromBrowser
See Also:
Constant Field Values

fromRules

public static final int fromRules
See Also:
Constant Field Values

MAXCAKE

public static final int MAXCAKE
See Also:
Constant Field Values

AUTOUPDATE

public static final boolean AUTOUPDATE
See Also:
Constant Field Values

LIMITINFO

public static final int LIMITINFO
See Also:
Constant Field Values

df

public final java.text.DecimalFormat df
Constructor Detail

Conquest

public Conquest()
Costruttore che istanzia l'interfaccia e la inizializza

Method Detail

createNameDataset

public java.lang.String createNameDataset(boolean suffix)
Genera il nome del file del Dataset

Parameters:
suffix - se true il nome viene generato con il path completo

createNameAttribute

public java.lang.String createNameAttribute()
Genera il nome del file degli Attributi


createNameResult

public java.lang.String createNameResult(boolean suffix)
Genera il nome del file del file dei Risultati

Parameters:
suffix - se true il nome viene generato con il path completo

createNameCache

public java.lang.String createNameCache()
Genera il nome del file dei Metadati


findConflict

public void findConflict()
determina se ci sono Attributi con possibili conflitti


buildConstraint

public java.lang.String buildConstraint()
Genera la stringa di Constraint per il lancio di Patternist


getIndex

public int getIndex(Type.Table t,
                    java.lang.String name)

getTable

public Type.Table getTable(java.lang.String name)

parser

public void parser()
Il parser SPQL che gestisce la coerenza tra query SPQL e dati visuali


inverseParser

public void inverseParser()
L'Inverse Parser che gestisce la coerenza tra dati visuali e SPQL


generateWhere

public java.lang.String generateWhere(java.util.ArrayList table)
Genera il WHERE necessario durante la costruzione della query SPQL basandosi sulle lista di tabelle da collegare

Parameters:
table - La lista di tabelle utilizzate al momento per gli id
Returns:

getConnectedTable

public java.util.ArrayList getConnectedTable(java.lang.String title,
                                             java.util.ArrayList Disabled)

searchConnection

public boolean searchConnection(java.util.ArrayList tables,
                                java.util.ArrayList Disabled)
Esegue una ricerca a ventaglio per determinare se esiste una connessione tra le varie tabelle con campi selezionati come id

Parameters:
tables - le tabelle con campi selezionati
Disabled - le tabelle da non considerare come "valide" all'interno della ricerca
Returns:
se esiste una connessione

getLine

public java.awt.geom.Line2D.Double getLine(Type.Table t,
                                           int id_key,
                                           Type.Table t2,
                                           int id_key2)

createJList

public javax.swing.JList createJList()
Genera una nuova tabella e la aggiunge al Workbench, aggiungedo ad essa tutti i gestori di eventi.


readResult

public void readResult(java.lang.String nomefile)
Legge e esegue il remapping dei risultati ottenuti dal processo di mining

Parameters:
nomefile - il nome del file del dataset

createNameLink

public void createNameLink()
Genera le connessioni tra tabelle basandosi sulle chiavi primarie e i nomi dei campi


enterPreferences

public void enterPreferences()
Aggiorna i parametri di connessione con quelli specificati nell'interfaccia


preferences

public void preferences()
Apre e imposta le preferenze di connessione alla situazione corrente dei dati


sortData

public java.lang.Object[][] sortData(javax.swing.JTable table,
                                     int id,
                                     int type,
                                     int id2)
Ordina una tabella secondo il criterio specificato

Parameters:
table - la tabella
id - il campo su cui applicare l'ordinamento
type - il tipo di ordinamento
id2 - il campo secondario per l'ordinamento
Returns:
la tabella ordinata in forma di array bidimensionale

updateConstraintWindow

public void updateConstraintWindow()
aggiorna la "forma" della constraint window a seconda del tipo di vincolo che si sta specificando


parseDiscretization

public void parseDiscretization(java.lang.String query)
Esegue il Parsing una query SPQL di discretizzazione

Parameters:
query - la query SPQL

disconnect

public void disconnect(boolean force)
Disconnette Conquest dal DBMS..

Parameters:
force - se false disconnette solo nel caso di un tentativo di connessione attivo altrimenti forza la disconnessione in tutti i casi.

removeAttributeConstraint

public void removeAttributeConstraint(int idtable,
                                      java.lang.String attrib)
Mantiene coerente la lista di vincoli eliminando quelli che si riferiscono ad attributi che non sono selezionati come tali.

Parameters:
idtable - l'id della tabella selezionata
attrib - il nome dell'attributo deselezioanto

removeAttributeResolve

public void removeAttributeResolve(int idtable,
                                   java.lang.String attrib)
Mantiene coerente la lista delle risoluzione di conflitti degli attributi eliminando quelli che si riferiscono ad attributi che non sono selezionati come tali.

Parameters:
idtable - l'id della tabella selezionata
attrib - il nome dell'attributo deselezioanto

visualBrowser

public void visualBrowser(boolean change,
                          boolean title)
Gestisce il Pattern Browser

Parameters:
change - se dopo la visualizzazione l'opzione dell'Item/Itemset View deve cambiare
title - il titolo della finestra

createIntervalDiscretization

public void createIntervalDiscretization(double from,
                                         double to,
                                         int s,
                                         int Method)
Crea gli intervalli di dicretizzazione a seconda del metodo selezionato tramite interfaccia o query SPQL.

Parameters:
from - valore iniziale dell'intervallo da prendere in consideratione
to - valore finale dell'intervallo da prendere in considerazione
s - il nume di sezioni in cui dividere l'intervallo
Method - il metodo da utilizzare per la suddivisione

maximizeAll

public void maximizeAll()
Imposta la modalità estesa a tutte le tabelle


minimizeAll

public void minimizeAll()
Imposta la modalità ridotta a tutte le tabelle


minimizeTable

public void minimizeTable(Type.Table tmp)
Imposta la modalità ridotta alla tabella

Parameters:
tmp - la tabella da impostare

maximizeTable

public void maximizeTable(Type.Table tmp)
Imposta la modalità estesa alla tabella

Parameters:
tmp - la tabella da impostare

createItemList

public void createItemList()
Genera l'elenco di Item esistenti per le constraint che necessitano di una selezione di un insieme di valori


createAttributeList

public void createAttributeList()
Genera l'elenco di Attributi esistenti per le constraint che necessitano di una selezione di un insieme di valori


generateRules

public void generateRules(double mconf)
Genera le ragole a partire dal dataset correntemente in analisi

Parameters:
mconf - la confidenza minima delle regole da visualizzare

updateTableList

public void updateTableList()
Aggiorna la Tabe List


main

public static void main(java.lang.String[] args)