export( String treeName, DatabaseInterface dbConnection) { /////////////////////////////////////// MemoryStream XmlCompressedStream = new MemoryStream(); try { Albero treeToExport = dbConnection.getAlbero(treeName); XmlCompressedStream = FileEngine.assembleXML(treeToExport); } catch (Exception dbError) { Console.WriteLine(dbError.Message); return null; } return XmlCompressedStream; } // End of method export()
create (String treeName, String treeType, String[] buildingParameters, Dictionary <String, String[]> nodeAttrList, Dictionary <String, String[]> edgeAttrList) { /////////////////////////////////////////////////////////////////////// /* * Il parametro buildingParameters e' un array di stringhe ciascuna * contenente un'informazione utile alla costruzione del generico * grafo, in questo caso "splitSize" e "depth" per determinare la * struttura dell'albero. I dizionari devono essere cosi impiegati: * Dictionary<String -> NomeAttributo, String[] -> ParametriAddizionali * Nello specifico: * <String[0] -> Tipo, String[1] -> RegolaGenerazione * Tipo := "string", "numeric" * RegolaGenerazione := "string", "random" * Nota: la regola di generazione random e' acquisita inserendo un dash * per indicare l'intervallo K-N (e.g. "17-244" ). */ int splitSize = int.Parse(buildingParameters[0]); int depth = int.Parse(buildingParameters[1]); Albero tree = new Albero(treeName, treeType, splitSize, depth, nodeAttrList, edgeAttrList); /*** buildingParameters[0] = splitSize; buildingParameters[1] = depth; ***/ MemoryStream XmlCompressedStream = new MemoryStream(); XmlCompressedStream = FileEngine.assembleXML(tree); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * ATTENZIONE: Chiusura del writer, cleanup finale * da effettuare nel Main(), dopo l'invio dello stream * al client! * * XmlStream.Close(); * XmlStream.Dispose(); * * * * * * * * * * * * * * * * * * * * * * * * * * */ return(XmlCompressedStream); } // End of method create()