Mapstoragemanager-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 329 discussions
Author: afages
Date: 2010-03-25 16:40:50 +0100 (Thu, 25 Mar 2010)
New Revision: 280
Log:
modif soutenance
Added:
trunk/src/site/doc/soutenance/img/jaxx.png
trunk/src/site/doc/soutenance/img/package.png
trunk/src/site/doc/soutenance/img/planning.png
trunk/src/site/doc/soutenance/img/plugin.png
trunk/src/site/doc/soutenance/img/ui.png
Added: trunk/src/site/doc/soutenance/img/jaxx.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/jaxx.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/package.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/package.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/planning.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/planning.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/plugin.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/plugin.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/ui.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/ui.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
Author: afages
Date: 2010-03-25 16:34:39 +0100 (Thu, 25 Mar 2010)
New Revision: 279
Log:
Modif soutenance
Modified:
trunk/src/site/doc/rapport/rapport.rst
Modified: trunk/src/site/doc/rapport/rapport.rst
===================================================================
--- trunk/src/site/doc/rapport/rapport.rst 2010-03-25 15:34:07 UTC (rev 278)
+++ trunk/src/site/doc/rapport/rapport.rst 2010-03-25 15:34:39 UTC (rev 279)
@@ -187,23 +187,6 @@
Un compte rendu symbolisé par les rectangles noirs en fin de semaine
suit chaque réunion.
-Une attention particulière sur un outil pratique pour lequel nous n'avons pas
-pris le temps de le tester en détail, il s'agit de JTimer. C'est un outil
-développé par Code Lutin permettant la gestion de tâches par le temps
-d'activité et d'inactivité.
-
-Voici une estimation très biaisée du temps passé sur chacune de nos tâches à
-à un instant 't' :
-
-.. figure:: img/jtimer.png
-
- Simulation JTimer
-
-Cet outil de gestion de projet efficace est récupérable à cet endroit :
-
-http://maven-site.chorem.org/jtimer/
-
-
2. Spécifications : analyse
===========================
@@ -298,10 +281,10 @@
la base et les fonctionnalités qu'il souhaite dans MSM. L'application a été
découpée en packages.
-Trois packages composent l'application. On trouve le module
+Trois packages composent l'application. On trouve le composant
*Plugins* correspondant aux interfaces des plugins,
-*ui* décrivant l'interface graphique, ainsi que du module *pluginloader*
-qui s'occupe du chargement des plugins.
+*ui* décrivant l'interface graphique, ainsi que du composant
+*pluginloader* qui s'occupe du chargement des plugins.
Le package *ui* contient un quatrième package, *engine*, qui est le contrôleur
de l'interface graphique.
@@ -464,4 +447,4 @@
Enfin, la structure de notre application pensée pour être évolutive ainsi que
le soin apporté à la qualité du code permet la continuité de celle ci par
-d'autres développeurs.
\ No newline at end of file
+d'autres développeurs.
1
0
25 Mar '10
Author: afages
Date: 2010-03-25 16:34:07 +0100 (Thu, 25 Mar 2010)
New Revision: 278
Log:
Modif soutenance
Modified:
trunk/src/site/doc/analyse/msm.zargo
trunk/src/site/doc/rapport/rapport.rst
trunk/src/site/doc/soutenance/Analyse.tex
trunk/src/site/doc/soutenance/architecture.tex
trunk/src/site/doc/soutenance/conception.tex
trunk/src/site/doc/soutenance/conclusion.tex
trunk/src/site/doc/soutenance/presentation.tex
trunk/src/site/doc/soutenance/remerciement.tex
trunk/src/site/doc/soutenance/soutenance.tex
Modified: trunk/src/site/doc/analyse/msm.zargo
===================================================================
(Binary files differ)
Modified: trunk/src/site/doc/rapport/rapport.rst
===================================================================
--- trunk/src/site/doc/rapport/rapport.rst 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/rapport/rapport.rst 2010-03-25 15:34:07 UTC (rev 278)
@@ -187,6 +187,23 @@
Un compte rendu symbolisé par les rectangles noirs en fin de semaine
suit chaque réunion.
+Une attention particulière sur un outil pratique pour lequel nous n'avons pas
+pris le temps de le tester en détail, il s'agit de JTimer. C'est un outil
+développé par Code Lutin permettant la gestion de tâches par le temps
+d'activité et d'inactivité.
+
+Voici une estimation très biaisée du temps passé sur chacune de nos tâches à
+à un instant 't' :
+
+.. figure:: img/jtimer.png
+
+ Simulation JTimer
+
+Cet outil de gestion de projet efficace est récupérable à cet endroit :
+
+http://maven-site.chorem.org/jtimer/
+
+
2. Spécifications : analyse
===========================
Modified: trunk/src/site/doc/soutenance/Analyse.tex
===================================================================
--- trunk/src/site/doc/soutenance/Analyse.tex 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/soutenance/Analyse.tex 2010-03-25 15:34:07 UTC (rev 278)
@@ -1,6 +1,10 @@
\section{Analyse}
\frame {
+ \tableofcontents[currentsection]
+}
+
+\frame {
\frametitle{HBase/BigTable}
Projet open-source, distribué, conçu pour un stockage orienté colonne respectant BigTable.
@@ -38,28 +42,15 @@
\end{itemize}
}
-\frame {
- \frametitle{Technologies utilisées}
-
-\begin{itemize}
- \item Java.
- \item Jaxx.
- \item CSS.
- \item I18N.
- \item Swing.
-\end{itemize}
-
-}
-
\frame[plain] {
- \frametitle{Use cases}
+ \frametitle{Fonctionnalités}
\center
\includegraphics[width=12cm]{img/usecase.png}
}
-\frame[plain] {
+\frame {
\frametitle{Modèle du domaine}
\center
Modified: trunk/src/site/doc/soutenance/architecture.tex
===================================================================
--- trunk/src/site/doc/soutenance/architecture.tex 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/soutenance/architecture.tex 2010-03-25 15:34:07 UTC (rev 278)
@@ -1,15 +1,43 @@
-\section{Architecture choisie}
+\section{Architecture}
\frame {
- \frametitle{Architecture choisie : MVC}
+ \tableofcontents[currentsection]
+}
+
+\frame {
+
+ \frametitle{Architecture logique}
+\includegraphics[width=10cm]{img/package.png}
+
+}
+
+\frame {
+ \frametitle{MVC}
+
\includegraphics[width=10cm]{img/architecture_jaxx.png}
}
\frame[plain] {
- \frametitle{Architecture choisie : Plugins}
+ \frametitle{Plugins}
-\includegraphics[width=10cm]{img/architecture_plugin.png}
+Découverte :
+\begin{itemize}
+ \item Scan du dossier plugins.
+ \item Possibilité d'ajouter un plugin en dehors du dossier plugin.
+\end{itemize}
+Séléction :
+\begin{itemize}
+ \item Cocher / Décocher les plugins que l'on souhaite charger.
+ \item Séléction sauvegardée et plugins chargée au démarrage de l'application.
+\end{itemize}
+
+Développement :
+\begin{itemize}
+ \item Création d'un jar contenant les classes implémentant l'interface Plugin.
+ \item Ajout d'un fichier du nom de l'interface implémentée et contenant le nom de la classe l'implémentant dans le dossier META-INF/services.
+\end{itemize}
+
}
Modified: trunk/src/site/doc/soutenance/conception.tex
===================================================================
--- trunk/src/site/doc/soutenance/conception.tex 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/soutenance/conception.tex 2010-03-25 15:34:07 UTC (rev 278)
@@ -1,15 +1,53 @@
\section{Conception}
\frame {
- \frametitle{Présentation}
+ \tableofcontents[currentsection]
+}
+\frame {
+ \frametitle{IHM}
+
\includegraphics[width=10cm]{img/screenshot_view_content.png}
}
+\frame[plain] {
+ \frametitle{Exemple Jaxx}
+
+\includegraphics[width=9cm]{img/exemplejaxx.png}
+
+}
+
+\frame[plain] {
+ \frametitle{MSM}
+
+\includegraphics[width=10cm]{img/architecture_plugin.png}
+
+}
+
+\frame[plain] {
+ \frametitle{Plugins}
+
+\includegraphics[width=10cm]{img/plugin.png}
+
+}
+
+\frame[plain] {
+
+ \frametitle{Intégration}
+
+\includegraphics[width=10cm]{img/ui.png}
+
+}
+
\frame {
- \frametitle{Jaxx exemple}
-\includegraphics[width=10cm]{img/exemplejaxx.png}
+ \frametitle{Difficultés rencontrées}
+\begin{itemize}
+ \item Subtilités (Jaxx, I18N\dots).
+ \item Flux de contrôle Application / Plugins.
+ \item Utilisation API HBase.
+\end{itemize}
+
}
Modified: trunk/src/site/doc/soutenance/conclusion.tex
===================================================================
--- trunk/src/site/doc/soutenance/conclusion.tex 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/soutenance/conclusion.tex 2010-03-25 15:34:07 UTC (rev 278)
@@ -1,6 +1,10 @@
\section{MSM à l'heure actuelle}
\frame {
+ \tableofcontents[currentsection]
+}
+
+\frame {
\frametitle{Tâches fonctionnelles}
\begin{itemize}
@@ -40,6 +44,7 @@
Nombre de lignes de code : 6000 \\
Nombre de classes : 47 \\
Nombre de méthodes : 332 \\
+Nombre de "commit" : +270 \\
Litres de café : 10 \\
}
Modified: trunk/src/site/doc/soutenance/presentation.tex
===================================================================
--- trunk/src/site/doc/soutenance/presentation.tex 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/soutenance/presentation.tex 2010-03-25 15:34:07 UTC (rev 278)
@@ -1,14 +1,18 @@
\section{Présentation}
\frame {
- \frametitle{Présentation}
+ \tableofcontents[currentsection]
+}
-Code Lutin, Société de Service en Logiciel Libre.
+\frame {
+ \frametitle{Présentation de Code Lutin}
-Code Lutin spécialisée autour des technologies Java JEE et UML.
+Société de Service en Logiciel Libre.
+Spécialisée autour des technologies Java JEE et UML.
+
\begin{itemize}
- \item du développement de logiciel (forfait ou régie).
+ \item du développement de logiciel (forfait ou régi).
\item de l’intégration et de la maintenance de systèmes clés en main.
\item du support.
\item du conseil et de la veille technologique.
@@ -23,19 +27,28 @@
}
\frame {
- \frametitle{Objectif}
+ \frametitle{Demande}
\includegraphics[width=3cm]{img/hadoop.png}
-Créer une interface graphique d'administration de HBase.
-Accroître la productivié des utilisateurs de HBase et autres.
-Permettre une adaptation rapide aux nouvelles bases.
+Facebook, Amazon\dots utilisent une spécification d'un système
+de gestion de base de données innovant.
+\vspace{0.3cm}
+
+Des systèmes en ligne de commande existent. Code Lutin souhaite
+une application graphique, extensible permettant de visualiser
+et manipuler les données au sein de telles bases, principalement HBase.
+
+}
+
+\frame {
+ \frametitle{Objectifs}
+
\begin{itemize}
- \item Créer une interface ergonomique et performante.
- \item Utiliser une architecture à base de plugins pour les différentes bases.
- \item Créer des plugins d'import, export de bases.
- \item Créer des plugins de monitoring.
+\item Accroître la productivié des utilisateurs de HBase et autres.
+\item Permettre une adaptation rapide aux nouvelles bases.
+\item Fournir un produit fonctionnel, ergonomique et performant.
\end{itemize}
}
@@ -68,11 +81,25 @@
}
+\frame {
+ \frametitle{Technologies utilisées}
+\begin{itemize}
+ \item Java.
+ \item Jaxx.
+ \item CSS.
+ \item I18N.
+ \item Swing.
+\end{itemize}
+}
+\frame[plain] {
+ \frametitle{Organisation}
+\includegraphics[width=11cm]{img/planning.png}
+}
@@ -86,3 +113,7 @@
+
+
+
+
Modified: trunk/src/site/doc/soutenance/remerciement.tex
===================================================================
--- trunk/src/site/doc/soutenance/remerciement.tex 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/soutenance/remerciement.tex 2010-03-25 15:34:07 UTC (rev 278)
@@ -1,11 +1,8 @@
-\section{Remerciements}
-
-
\frame {
\frametitle{Remerciements}
\center
-\textbf{Merci à l'équipe de Code Lutin}
+\textbf{Merci à l'équipe de Code Lutin et à l'université de Nantes}
}
Modified: trunk/src/site/doc/soutenance/soutenance.tex
===================================================================
--- trunk/src/site/doc/soutenance/soutenance.tex 2010-03-25 13:55:59 UTC (rev 277)
+++ trunk/src/site/doc/soutenance/soutenance.tex 2010-03-25 15:34:07 UTC (rev 278)
@@ -18,7 +18,7 @@
\usepackage{verbatim}
-\title{PFE : Administration de HBase}
+\title{Projet de fin d'études : Administration de HBase}
\author{G. Crieloue, A. Fages, F. Gilet, D. Langlais}
\date{}
@@ -43,14 +43,22 @@
\frame {
\begin{center}
-\includegraphics[width=3cm]{img/logoUN.jpg}
+\begin{columns}
+ \column{.25\textwidth}
+
+ \includegraphics[width=1.5cm]{img/logoUN.jpg}
+
+ \column{.25\textwidth}
+
+ \includegraphics[width=1.5cm]{img/logoCL.png}
+\end{columns}
+
+
\end{center}
\titlepage
}
-\frame{\tableofcontents}
-
\include{remerciement}
\include{presentation}
1
0
Author: dlanglais
Date: 2010-03-25 14:55:59 +0100 (Thu, 25 Mar 2010)
New Revision: 277
Log:
Modification fichier de d?\195?\169monstration VCardsXPP3.xml
Modified:
trunk/VCardsXPP3.xml
Modified: trunk/VCardsXPP3.xml
===================================================================
--- trunk/VCardsXPP3.xml 2010-03-25 13:44:40 UTC (rev 276)
+++ trunk/VCardsXPP3.xml 2010-03-25 13:55:59 UTC (rev 277)
@@ -43,24 +43,24 @@
<!-- Addresses -->
<element table="Addresses" column="number" key="1" version="1" value="1" />
- <element table="Addresses" column="number" key="1" version="1" value="2" />
- <element table="Addresses" column="number" key="1" version="1" value="3" />
- <element table="Addresses" column="number" key="1" version="1" value="4" />
+ <element table="Addresses" column="number" key="2" version="1" value="2" />
+ <element table="Addresses" column="number" key="3" version="1" value="3" />
+ <element table="Addresses" column="number" key="4" version="1" value="4" />
- <element table="Addresses" column="street" key="2" version="1" value="rue de la Paix" />
+ <element table="Addresses" column="street" key="1" version="1" value="rue de la Paix" />
<element table="Addresses" column="street" key="2" version="1" value="avenue des Champs Élysées" />
- <element table="Addresses" column="street" key="2" version="1" value="place de la Bourse" />
- <element table="Addresses" column="street" key="2" version="1" value="boulevard Michelet" />
+ <element table="Addresses" column="street" key="3" version="1" value="place de la Bourse" />
+ <element table="Addresses" column="street" key="4" version="1" value="boulevard Michelet" />
- <element table="Addresses" column="postalcode" key="3" version="1" value="44300" />
- <element table="Addresses" column="postalcode" key="3" version="1" value="44800" />
+ <element table="Addresses" column="postalcode" key="1" version="1" value="44300" />
+ <element table="Addresses" column="postalcode" key="2" version="1" value="44800" />
<element table="Addresses" column="postalcode" key="3" version="1" value="44230" />
- <element table="Addresses" column="postalcode" key="3" version="1" value="44000" />
+ <element table="Addresses" column="postalcode" key="4" version="1" value="44000" />
+ <element table="Addresses" column="city" key="1" version="1" value="Nantes" />
+ <element table="Addresses" column="city" key="2" version="1" value="Saint Herblain" />
+ <element table="Addresses" column="city" key="3" version="1" value="Saint Sebastien" />
<element table="Addresses" column="city" key="4" version="1" value="Nantes" />
- <element table="Addresses" column="city" key="4" version="1" value="Saint Herblain" />
- <element table="Addresses" column="city" key="4" version="1" value="Saint Sebastien" />
- <element table="Addresses" column="city" key="4" version="1" value="Nantes" />
</insert>
</database>
1
0
r276 - trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui
by dlanglais@users.nuiton.org 25 Mar '10
by dlanglais@users.nuiton.org 25 Mar '10
25 Mar '10
Author: dlanglais
Date: 2010-03-25 14:44:40 +0100 (Thu, 25 Mar 2010)
New Revision: 276
Log:
Oubli du fichier .css
Added:
trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.css
Added: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.css
===================================================================
--- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.css (rev 0)
+++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.css 2010-03-25 13:44:40 UTC (rev 276)
@@ -0,0 +1,26 @@
+/**
+ * *##% observe-swing
+ * Copyright (C) 2008 - 2009 IRD
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>. ##%*
+*/
+
+#quit {
+ text:"bootLoaderManager.quit";
+}
+
+#bootLoaderManager {
+ title:"bootLoaderManager.title";
+}
\ No newline at end of file
1
0
r275 - in trunk: . msm/src/main/java/org/nuiton/mapstoragemanager/ui msm/src/main/resources/i18n msm-fromtoXPP3/src/test/resources
by dlanglais@users.nuiton.org 25 Mar '10
by dlanglais@users.nuiton.org 25 Mar '10
25 Mar '10
Author: dlanglais
Date: 2010-03-25 14:33:31 +0100 (Thu, 25 Mar 2010)
New Revision: 275
Log:
Finition du BootLoaderManager (gestion de chargement des plugins au d?\195?\169marrage).
Added:
trunk/VCardsXPP3.xml
Modified:
trunk/msm-fromtoXPP3/src/test/resources/sixCells.xml
trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.jaxx
trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.css
trunk/msm/src/main/resources/i18n/msm-en_GB.properties
trunk/msm/src/main/resources/i18n/msm-fr_FR.properties
Added: trunk/VCardsXPP3.xml
===================================================================
--- trunk/VCardsXPP3.xml (rev 0)
+++ trunk/VCardsXPP3.xml 2010-03-25 13:33:31 UTC (rev 275)
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<database>
+
+ <describe>
+ <table tableName="Members">
+ <column columnName="name"/>
+ <column columnName="firstname"/>
+ <column columnName="birthdate"/>
+ <column columnName="addressID"/>
+ </table>
+ <table tableName="Addresses">
+ <column columnName="number"/>
+ <column columnName="street"/>
+ <column columnName="postalcode"/>
+ <column columnName="city"/>
+ </table>
+ </describe>
+
+ <insert>
+
+ <!-- Members -->
+
+ <element table="Members" column="name" key="1" version="1" value="Crieloue" />
+ <element table="Members" column="name" key="2" version="1" value="Fages" />
+ <element table="Members" column="name" key="3" version="1" value="Gilet" />
+ <element table="Members" column="name" key="4" version="1" value="Langlais" />
+
+ <element table="Members" column="firstname" key="1" version="1" value="Gilles" />
+ <element table="Members" column="firstname" key="2" version="1" value="Amaury" />
+ <element table="Members" column="firstname" key="3" version="1" value="Florent" />
+ <element table="Members" column="firstname" key="4" version="1" value="Dorian" />
+
+ <!--element table="Members" column="birthdate" key="1" version="1" value="" /-->
+ <!--element table="Members" column="birthdate" key="2" version="1" value="Amaury" /-->
+ <element table="Members" column="birthdate" key="3" version="1" value="07/09/1986" />
+ <element table="Members" column="birthdate" key="4" version="1" value="07/08/1987" />
+
+ <element table="Members" column="addressID" key="1" version="1" value="1" />
+ <element table="Members" column="addressID" key="2" version="1" value="2" />
+ <element table="Members" column="addressID" key="3" version="1" value="3" />
+ <element table="Members" column="addressID" key="4" version="1" value="4" />
+
+ <!-- Addresses -->
+
+ <element table="Addresses" column="number" key="1" version="1" value="1" />
+ <element table="Addresses" column="number" key="1" version="1" value="2" />
+ <element table="Addresses" column="number" key="1" version="1" value="3" />
+ <element table="Addresses" column="number" key="1" version="1" value="4" />
+
+ <element table="Addresses" column="street" key="2" version="1" value="rue de la Paix" />
+ <element table="Addresses" column="street" key="2" version="1" value="avenue des Champs Élysées" />
+ <element table="Addresses" column="street" key="2" version="1" value="place de la Bourse" />
+ <element table="Addresses" column="street" key="2" version="1" value="boulevard Michelet" />
+
+ <element table="Addresses" column="postalcode" key="3" version="1" value="44300" />
+ <element table="Addresses" column="postalcode" key="3" version="1" value="44800" />
+ <element table="Addresses" column="postalcode" key="3" version="1" value="44230" />
+ <element table="Addresses" column="postalcode" key="3" version="1" value="44000" />
+
+ <element table="Addresses" column="city" key="4" version="1" value="Nantes" />
+ <element table="Addresses" column="city" key="4" version="1" value="Saint Herblain" />
+ <element table="Addresses" column="city" key="4" version="1" value="Saint Sebastien" />
+ <element table="Addresses" column="city" key="4" version="1" value="Nantes" />
+ </insert>
+
+</database>
+
Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.jaxx
===================================================================
--- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.jaxx 2010-03-25 12:15:59 UTC (rev 274)
+++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/BootLoaderManager.jaxx 2010-03-25 13:33:31 UTC (rev 275)
@@ -1,4 +1,4 @@
-<Application id='bootLoaderManager' width='640' height='480' onWindowClosing='getInstance().setVisible(false)'>
+<Application id='bootLoaderManager' onWindowClosing='quit()'>
<!-- include java files for treatment -->
<script>
@@ -11,6 +11,11 @@
private static final Log LOG = LogFactory.getLog(BootLoaderManager.class);
/**
+ * Map beetween name shown and propertyName.
+ */
+private static final Map<String, String> mapPlugins = new HashMap<String, String>();
+
+/**
* classe instance (singleton pattern).
*/
private static BootLoaderManager instance = null;
@@ -25,6 +30,7 @@
}
instance.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
instance.refreshJarList();
+ instance.pack();
return instance;
}
@@ -72,12 +78,17 @@
* For each Jar file
*/
for (final String propertyName : properties.stringPropertyNames()) {
- if(propertyName.endsWith(".jar")) {
- final String propertyValue = properties.getProperty(propertyName);
- LOG.info(propertyName + " : " + propertyValue);
+// if(propertyName.endsWith(".jar")) {
- final JCheckBox checkBox = new JCheckBox(propertyName);
+ final int lastIndex = propertyName.lastIndexOf('/') + 1;
+ final String shortCut = propertyName.substring(lastIndex);
+ mapPlugins.put(shortCut, propertyName);
+ final String propertyValue = properties.getProperty(mapPlugins.get(shortCut));
+ LOG.info(mapPlugins.get(shortCut) + " : " + propertyValue);
+
+ final JCheckBox checkBox = new JCheckBox(shortCut);
+
/** If propertyValue equals true, checkBox selected,
* else not selected. */
final boolean selected = "true".equals(propertyValue);
@@ -89,7 +100,7 @@
/** Invert selected State */
selectedState = !selectedState;
/** Modify properties */
- properties.put(propertyName, Boolean.toString(selectedState));
+ properties.put(mapPlugins.get(shortCut), Boolean.toString(selectedState));
try {
FileOutputStream fos = new FileOutputStream(propertiesFile);
/** Store modified properties */
@@ -104,16 +115,25 @@
});
this.getBootLoaderPanel().add(checkBox);
- }
+// }
}
this.getBootLoaderPanel().updateUI();
}
+
+/**
+ * Quit the BootLoaderManager.
+ * Close the frame.
+ */
+public void quit() {
+ getInstance().setVisible(false);
+}
+
]]>
</script>
<!-- style definition -->
- <style source='MainUI.css'/>
+ <style source='BootLoaderManager.css'/>
<!-- content -->
<JMenuBar>
@@ -123,6 +143,7 @@
</JMenu>
</JMenuBar>
<JPanel layout='{new BorderLayout()}' constraints='BorderLayout.NORTH'>
- <VBox layout='{new GridLayout(0,1)}' id='bootLoaderPanel' />
+ <VBox id='bootLoaderPanel' />
+ <JButton id='quit' constraints='BorderLayout.SOUTH' onActionPerformed='this.quit()'/>
</JPanel>
</Application>
\ No newline at end of file
Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.css
===================================================================
--- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.css 2010-03-25 12:15:59 UTC (rev 274)
+++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.css 2010-03-25 13:33:31 UTC (rev 275)
@@ -35,7 +35,7 @@
mnemonic:E;
}
-#menuConnect, #menuConnectBis {
+#menuConnect {
text:"mapstoragemanager.action.connect";
toolTipText:"mapstoragemanager.action.connect.tip";
actionIcon:"connect";
@@ -49,14 +49,14 @@
mnemonic:D;
}
-#menuImport, #menuImportBis {
+#menuImport {
text:"mapstoragemanager.action.import";
toolTipText:"mapstoragemanager.action.import.tip";
actionIcon:"databaseImport_16";
mnemonic:I;
}
-#menuExport, #menuExportBis {
+#menuExport {
text:"mapstoragemanager.action.export";
toolTipText:"mapstoragemanager.action.export.tip";
actionIcon:"databaseExport_16";
Modified: trunk/msm/src/main/resources/i18n/msm-en_GB.properties
===================================================================
--- trunk/msm/src/main/resources/i18n/msm-en_GB.properties 2010-03-25 12:15:59 UTC (rev 274)
+++ trunk/msm/src/main/resources/i18n/msm-en_GB.properties 2010-03-25 13:33:31 UTC (rev 275)
@@ -71,4 +71,6 @@
exportUnsuccessfull.JOptionPaneMessage=An exception occured while export database.
jFileChooser.exportBase.dialogTitle=Export the base to ...
jFileChooser.importBase.dialogTitle=Import the base from ...
-jFileChooser.loadAPlugin.dialogTitle=Load a plugin ...
\ No newline at end of file
+jFileChooser.loadAPlugin.dialogTitle=Load a plugin ...
+bootLoaderManager.quit=Quit
+bootLoaderManager.title=BootLoaderManager
\ No newline at end of file
Modified: trunk/msm/src/main/resources/i18n/msm-fr_FR.properties
===================================================================
--- trunk/msm/src/main/resources/i18n/msm-fr_FR.properties 2010-03-25 12:15:59 UTC (rev 274)
+++ trunk/msm/src/main/resources/i18n/msm-fr_FR.properties 2010-03-25 13:33:31 UTC (rev 275)
@@ -71,4 +71,6 @@
exportUnsuccessfull.JOptionPaneMessage=Une exception s'est produite lors de l'export de la base.
jFileChooser.exportBase.dialogTitle=Exporter la base dans ...
jFileChooser.importBase.dialogTitle=Importer la base de ...
-jFileChooser.loadAPlugin.dialogTitle=Charger un plugin ...
\ No newline at end of file
+jFileChooser.loadAPlugin.dialogTitle=Charger un plugin ...
+bootLoaderManager.quit=Quitter
+bootLoaderManager.title=Gestionnaire de d\u00E9marrage
\ No newline at end of file
Modified: trunk/msm-fromtoXPP3/src/test/resources/sixCells.xml
===================================================================
--- trunk/msm-fromtoXPP3/src/test/resources/sixCells.xml 2010-03-25 12:15:59 UTC (rev 274)
+++ trunk/msm-fromtoXPP3/src/test/resources/sixCells.xml 2010-03-25 13:33:31 UTC (rev 275)
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<database>
+<database>
+
<describe>
<table tableName="table1">
<column columnName="column1"/>
@@ -8,7 +9,8 @@
<column columnName="column2"/>
<column columnName="column3"/>
</table>
- </describe>
+ </describe>
+
<insert>
<element table="table1" column="column1" key="111" version="1" value="111" />
<element table="table2" column="column2" key="221" version="1" value="221" />
@@ -16,6 +18,7 @@
<element table="table2" column="column3" key="231" version="1" value="231" />
<element table="table2" column="column3" key="232" version="1" value="232" />
<element table="table2" column="column3" key="233" version="1" value="233" />
- </insert>
+ </insert>
+
</database>
1
0
r274 - in trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui: . engine
by fgilet@users.nuiton.org 25 Mar '10
by fgilet@users.nuiton.org 25 Mar '10
25 Mar '10
Author: fgilet
Date: 2010-03-25 13:15:59 +0100 (Thu, 25 Mar 2010)
New Revision: 274
Log:
Refactoring (suppression de la sauvegarde des plugins car fait en double).
Modified:
trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx
trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java
Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx
===================================================================
--- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx 2010-03-25 11:45:54 UTC (rev 273)
+++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx 2010-03-25 12:15:59 UTC (rev 274)
@@ -153,8 +153,6 @@
<JMenu id='menuPlugin'>
<JMenuItem id='menuPluginLoad'
onActionPerformed='engine.loadAPlugin()'/>
- <JMenuItem id='menuPluginSave'
- onActionPerformed='engine.savePlugin()'/>
<JMenuItem id='menuPluginBootLoaderManager'
onActionPerformed='BootLoaderManager.getInstance().setVisible(true)'/>
<JSeparator/>
Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java
===================================================================
--- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java 2010-03-25 11:45:54 UTC (rev 273)
+++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java 2010-03-25 12:15:59 UTC (rev 274)
@@ -157,114 +157,6 @@
}
/**
- * Save plugin for next application reload.
- */
- public void savePlugin() {
-
- final JPanel buttonDisplay = new JPanel(new GridLayout(20,3));
- final JPanel content = new JPanel(new BorderLayout());
-
- final JFrame frameTemp = new JFrame();
- List<String> nomPlugins = new ArrayList<String>();
- final Map<String,String> mapPlugins = new HashMap<String,String>();
-
- //check all plugins in .properties
- final Properties properties = new Properties();
- final File propertiesFile = new File(MSM_PLUGINS_DIR, ".properties");
- try {
- FileInputStream fis = new FileInputStream(propertiesFile);
- properties.load(fis);
- Set<Object> props = properties.keySet();
- for (Object property : props) {
- String nomPlugin = property.toString();
- nomPlugin = nomPlugin.substring(nomPlugin.lastIndexOf('/')+1);
- nomPlugins.add(nomPlugin);
- mapPlugins.put(nomPlugin, property.toString());
- }
-
- } catch(FileNotFoundException e){
- LOG.fatal(e, e);
- } catch (IOException ioe){
- LOG.fatal(ioe, ioe);
- }
-
- final int buttonWidth = 100;
- final int buttonHeight = 20;
-
- for (final String nomPlugin : nomPlugins) {
- JCheckBox pluginButton = new JCheckBox(nomPlugin);
- pluginButton.setSize(buttonWidth, buttonHeight);
- //boolean isSelected = isSelected(nomPlugin);
- //pluginButton.setEnabled(isSelected);
- buttonDisplay.add(pluginButton);
- }
-
- //save into .properties the button enabled
- JButton saveButton = new JButton(_("ok"));
- saveButton.addActionListener(new ActionListener() {
-
- @Override
- public void actionPerformed(ActionEvent e) {
- Component[] components = buttonDisplay.getComponents();
- for (final Component comp : components) {
- JCheckBox buttonTemp = (JCheckBox) comp;
- //if disable, write false into .properties
- if (!buttonTemp.isSelected()) {
- properties.put(mapPlugins.get(buttonTemp.getText()), "false");
- try {
- properties.store(new FileOutputStream(propertiesFile), null);
- } catch (IOException ex) {
- LOG.error(ex, ex);
- }
- }
- }
- frameTemp.dispose();
- }
- });
-
- content.add(buttonDisplay, BorderLayout.CENTER);
- content.add(saveButton, BorderLayout.SOUTH);
- frameTemp.setContentPane(content);
- frameTemp.pack();
- frameTemp.setVisible(true);
- frameTemp.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
-
- }
-
- /**
- * To know if plugins are active in .properties.
- */
-// public boolean isSelected(String nomPluginToControl) {
-// final Properties properties = new Properties();
-// final File propertiesFile = new File(MSM_PLUGINS_DIR, ".properties");
-// try {
-// FileInputStream fis = new FileInputStream(propertiesFile);
-// properties.load(fis);
-// Set<Object> props = properties.keySet();
-// for (Object property : props) {
-// String nomPlugin = property.toString();
-// nomPlugin = nomPlugin.substring(nomPlugin.lastIndexOf('/')+1);
-// String isSelected = nomPlugin.substring(nomPlugin.lastIndexOf('"')+1);
-// LOG.info("isSelected : " + isSelected);
-// if(nomPluginToControl.equals(nomPlugin)){
-// if(isSelected.equals("false")){
-// return false;
-// }else{
-// return true;
-// }
-// }
-// }
-//
-// } catch(FileNotFoundException e){
-// LOG.fatal(e, e);
-// } catch (IOException ioe){
-// LOG.fatal(ioe, ioe);
-// }
-// return true;
-// }
-
-
- /**
* Method to close application.
*/
public void close() {
@@ -418,33 +310,8 @@
message += "Version 0.1-SNAPSHOT Codelutin @ 2009-2010";
JOptionPane.showMessageDialog(null, message);
}
-
- //GETTERS AND SETTERS
+
/**
- * Getter BigTable.
- * @return the application engine's bigtable.
- */
- public BigTable getBigTable() {
- return bigTable;
- }
-
- /**
- * Setter BigTable.
- * @param bigTable the bigtable to use.
- */
- public void setBigTable(final BigTable bigTable) {
- this.bigTable = bigTable;
- }
-
- /**
- * Get the bigTableLoader.
- * @return return the bigTableLoader.
- */
- public PluginLoader getPluginLoader() {
- return pluginLoader;
- }
-
- /**
* update the navigationTree.
* @param tree the navigationTree.
* @param nameBase the name of the base.
@@ -596,4 +463,31 @@
public boolean bigTableIsSet() {
return this.bigTable != null;
}
+
+ //GETTERS AND SETTERS
+ /**
+ * Getter BigTable.
+ * @return the application engine's bigtable.
+ */
+ public BigTable getBigTable() {
+ return bigTable;
+ }
+
+ /**
+ * Setter BigTable.
+ * @param bigTable the bigtable to use.
+ */
+ public void setBigTable(final BigTable bigTable) {
+ this.bigTable = bigTable;
+ }
+
+ /**
+ * Get the bigTableLoader.
+ * @return return the bigTableLoader.
+ */
+ public PluginLoader getPluginLoader() {
+ return pluginLoader;
+ }
+
+
}
1
0
Author: fgilet
Date: 2010-03-25 12:45:54 +0100 (Thu, 25 Mar 2010)
New Revision: 273
Log:
Ajouts des fichiers pour la soutenance.
Added:
trunk/src/site/doc/soutenance/Analyse.tex
trunk/src/site/doc/soutenance/architecture.tex
trunk/src/site/doc/soutenance/conception.tex
trunk/src/site/doc/soutenance/conclusion.tex
trunk/src/site/doc/soutenance/img/architecture_jaxx.png
trunk/src/site/doc/soutenance/img/architecture_plugin.png
trunk/src/site/doc/soutenance/img/concept.png
trunk/src/site/doc/soutenance/img/exemplejaxx.png
trunk/src/site/doc/soutenance/img/hadoop.png
trunk/src/site/doc/soutenance/img/jaxx.svg
trunk/src/site/doc/soutenance/img/logoCL.png
trunk/src/site/doc/soutenance/img/logoUN.jpg
trunk/src/site/doc/soutenance/img/maven_logo.jpg
trunk/src/site/doc/soutenance/img/netbeans_logo.jpg
trunk/src/site/doc/soutenance/img/screenshot_view_content.png
trunk/src/site/doc/soutenance/img/usecase.png
trunk/src/site/doc/soutenance/presentation.tex
trunk/src/site/doc/soutenance/remerciement.tex
trunk/src/site/doc/soutenance/soutenance.tex
Removed:
trunk/src/site/doc/soutenance/img/maven_logo.gif
Added: trunk/src/site/doc/soutenance/Analyse.tex
===================================================================
--- trunk/src/site/doc/soutenance/Analyse.tex (rev 0)
+++ trunk/src/site/doc/soutenance/Analyse.tex 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,83 @@
+\section{Analyse}
+
+\frame {
+ \frametitle{HBase/BigTable}
+
+Projet open-source, distribué, conçu pour un stockage orienté colonne respectant BigTable.
+
+\vspace{0.5cm}
+
+BigTable est la spécification Google d'un système de stockage distribué.
+Conçu pour s'adapter fiablement à de gros volume de données.
+
+\vspace{0.5cm}
+
+Utilisé pour :
+\begin{itemize}
+ \item Toucher un large ensemble d'applications.
+ \item Passage à l'échelle.
+ \item Très bonnes performances (temps de réponse...).
+ \item Forte disponibilité.
+\end{itemize}
+
+}
+
+\frame {
+ \frametitle{HBase/BigTable suite}
+
+Système de clés / valeurs.
+
+\vspace{0.5cm}
+
+Notion :
+\begin{itemize}
+ \item Tables.
+ \item Colonnes / familles.
+ \item Cellules.
+ \item Gestion de versions (via estampilles).
+\end{itemize}
+}
+
+\frame {
+ \frametitle{Technologies utilisées}
+
+\begin{itemize}
+ \item Java.
+ \item Jaxx.
+ \item CSS.
+ \item I18N.
+ \item Swing.
+\end{itemize}
+
+}
+
+\frame[plain] {
+ \frametitle{Use cases}
+
+\center
+\includegraphics[width=12cm]{img/usecase.png}
+
+}
+
+\frame[plain] {
+ \frametitle{Modèle du domaine}
+
+\center
+\includegraphics[width=12cm]{img/concept.png}
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Added: trunk/src/site/doc/soutenance/architecture.tex
===================================================================
--- trunk/src/site/doc/soutenance/architecture.tex (rev 0)
+++ trunk/src/site/doc/soutenance/architecture.tex 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,15 @@
+\section{Architecture choisie}
+
+\frame {
+ \frametitle{Architecture choisie : MVC}
+
+\includegraphics[width=10cm]{img/architecture_jaxx.png}
+
+}
+
+\frame[plain] {
+ \frametitle{Architecture choisie : Plugins}
+
+\includegraphics[width=10cm]{img/architecture_plugin.png}
+
+}
Added: trunk/src/site/doc/soutenance/conception.tex
===================================================================
--- trunk/src/site/doc/soutenance/conception.tex (rev 0)
+++ trunk/src/site/doc/soutenance/conception.tex 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,15 @@
+\section{Conception}
+
+\frame {
+ \frametitle{Présentation}
+
+\includegraphics[width=10cm]{img/screenshot_view_content.png}
+
+}
+
+\frame {
+ \frametitle{Jaxx exemple}
+
+\includegraphics[width=10cm]{img/exemplejaxx.png}
+
+}
Added: trunk/src/site/doc/soutenance/conclusion.tex
===================================================================
--- trunk/src/site/doc/soutenance/conclusion.tex (rev 0)
+++ trunk/src/site/doc/soutenance/conclusion.tex 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,59 @@
+\section{MSM à l'heure actuelle}
+
+\frame {
+ \frametitle{Tâches fonctionnelles}
+
+\begin{itemize}
+ \item Architecture à plugins.
+ \item Plugins fonctionnels (monitoring, import, export, etc).
+ \item Interface graphique de base complète (internationalisation, arbre de navigation, visualisation du contenu d'une table,...).
+\end{itemize}
+
+
+}
+
+\frame {
+ \frametitle{Difficultés rencontrées}
+
+\begin{itemize}
+ \item HBase.
+ \item Jaxx.
+ \item I18N.
+\end{itemize}
+
+}
+
+\frame {
+ \frametitle{Evolutions possibles}
+
+\begin{itemize}
+ \item Plugin HBase à complèter, plugins des autres bases à implémenter.
+ \item Fonctions optionnelles dans l'interface (préférences,...).
+ \item Ajouts de fonctionnalités (ajout, suppression, edition, etc).
+\end{itemize}
+
+}
+
+\frame {
+ \frametitle{MSM en quelques chiffres}
+
+Nombre de lignes de code : 6000 \\
+Nombre de classes : 47 \\
+Nombre de méthodes : 332 \\
+Litres de café : 10 \\
+
+}
+
+\frame {
+
+\center
+\huge \textbf{Demonstration}
+
+}
+
+\frame {
+
+\center
+\huge \textbf{Questions ?}
+
+}
Added: trunk/src/site/doc/soutenance/img/architecture_jaxx.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/architecture_jaxx.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/architecture_plugin.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/architecture_plugin.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/concept.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/concept.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/exemplejaxx.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/exemplejaxx.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/hadoop.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/hadoop.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/jaxx.svg
===================================================================
--- trunk/src/site/doc/soutenance/img/jaxx.svg (rev 0)
+++ trunk/src/site/doc/soutenance/img/jaxx.svg 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="jaxx.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path3203"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3975">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3977" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3979" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path3200"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3975"
+ id="linearGradient3981"
+ x1="340"
+ y1="305.21933"
+ x2="842.85718"
+ y2="307.58286"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3975"
+ id="linearGradient3985"
+ gradientUnits="userSpaceOnUse"
+ x1="340"
+ y1="305.21933"
+ x2="842.85718"
+ y2="307.58286" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3975"
+ id="linearGradient3987"
+ gradientUnits="userSpaceOnUse"
+ x1="340"
+ y1="305.21933"
+ x2="842.85718"
+ y2="307.58286" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3975"
+ id="linearGradient3989"
+ gradientUnits="userSpaceOnUse"
+ x1="340"
+ y1="305.21933"
+ x2="842.85718"
+ y2="307.58286" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3975"
+ id="linearGradient3991"
+ gradientUnits="userSpaceOnUse"
+ x1="340"
+ y1="305.21933"
+ x2="842.85718"
+ y2="307.58286" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.97971429"
+ inkscape:cx="361.62301"
+ inkscape:cy="745.81485"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1279"
+ inkscape:window-height="949"
+ inkscape:window-x="0"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Calque 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="fill:#cccccc;stroke:#000000;stroke-opacity:1"
+ id="rect5571"
+ width="134.3503"
+ height="35.355339"
+ x="295.83899"
+ y="23.616787" />
+ <rect
+ style="fill:#cccccc;stroke:#000000;stroke-opacity:1"
+ id="rect5573"
+ width="134.3503"
+ height="35.355339"
+ x="512.04327"
+ y="24.700819" />
+ <rect
+ style="fill:#cccccc;stroke:#000000;stroke-width:1.32503807999999990;stroke-opacity:1"
+ id="rect5575"
+ width="238.07097"
+ height="35.0303"
+ x="14.809736"
+ y="277.2326" />
+ <rect
+ style="fill:#cccccc;stroke:#000000;stroke-width:1.057881;stroke-opacity:1"
+ id="rect5577"
+ width="150.59966"
+ height="35.297455"
+ x="503.11804"
+ y="276.08887" />
+ <rect
+ style="fill:#cccccc;stroke:#000000;stroke-opacity:1"
+ id="rect5569"
+ width="134.3503"
+ height="35.355339"
+ x="45.826225"
+ y="24.121872" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot2385"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ transform="matrix(0.5129506,0,0,0.5129506,206.16467,-9.2939383)"><flowRegion
+ id="flowRegion2387"><rect
+ id="rect2389"
+ width="303.04578"
+ height="147.48227"
+ x="179.80716"
+ y="68.473602" /></flowRegion><flowPara
+ id="flowPara2391">MainUI.jaxx</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot2393"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:url(#linearGradient3981);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ transform="matrix(0.5129506,0,0,0.5129506,-66.431929,-116.28078)"><flowRegion
+ id="flowRegion2395"
+ style="fill:url(#linearGradient3987);fill-opacity:1"><rect
+ id="rect2397"
+ width="258.08423"
+ height="64.134918"
+ x="236.3757"
+ y="282.62595"
+ style="fill:url(#linearGradient3985);fill-opacity:1" /></flowRegion><flowPara
+ id="flowPara2399"
+ style="fill:url(#linearGradient3989);fill-opacity:1">MainUI.css</flowPara><flowPara
+ id="flowPara2401"
+ style="fill:url(#linearGradient3991);fill-opacity:1" /></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot2403"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ transform="matrix(0.5129506,0,0,0.5129506,406.73929,-236.03889)"><flowRegion
+ id="flowRegion2405"><rect
+ id="rect2407"
+ width="292.94424"
+ height="115.15739"
+ x="224.25386"
+ y="516.98132" /></flowRegion><flowPara
+ id="flowPara2409">MainUI.java</flowPara></flowRoot> <text
+ xml:space="preserve"
+ style="font-size:20.51802254px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="15.775168"
+ y="302.32898"
+ id="text2411"><tspan
+ sodipodi:role="line"
+ id="tspan2413"
+ x="15.775168"
+ y="302.32898">ApplicationEngine.java</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:20.51802254px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="533.04156"
+ y="300.47281"
+ id="text2415"><tspan
+ sodipodi:role="line"
+ id="tspan2417"
+ x="533.04156"
+ y="300.47281">Plugins</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 180.67652,41.662822 L 295.33899,41.431176"
+ id="path5579"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#rect5569"
+ inkscape:connection-end="#rect5571" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 430.68929,41.633775 L 511.54327,42.03917"
+ id="path5581"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#rect5571"
+ inkscape:connection-end="#rect5573" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 165.92459,276.57009 L 547.13905,60.556158"
+ id="path5583"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#rect5575"
+ inkscape:connection-end="#rect5573" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 579.16053,60.556158 L 578.47576,275.55993"
+ id="path5585"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#rect5573"
+ inkscape:connection-end="#rect5577" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 253.54322,294.47578 L 502.5891,293.90989"
+ id="path6162"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#rect5575"
+ inkscape:connection-end="#rect5577" />
+ </g>
+</svg>
Added: trunk/src/site/doc/soutenance/img/logoCL.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/logoCL.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/logoUN.jpg
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/logoUN.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Deleted: trunk/src/site/doc/soutenance/img/maven_logo.gif
===================================================================
(Binary files differ)
Added: trunk/src/site/doc/soutenance/img/maven_logo.jpg
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/maven_logo.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/netbeans_logo.jpg
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/netbeans_logo.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/screenshot_view_content.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/screenshot_view_content.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/usecase.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/usecase.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/presentation.tex
===================================================================
--- trunk/src/site/doc/soutenance/presentation.tex (rev 0)
+++ trunk/src/site/doc/soutenance/presentation.tex 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,88 @@
+\section{Présentation}
+
+\frame {
+ \frametitle{Présentation}
+
+Code Lutin, Société de Service en Logiciel Libre.
+
+Code Lutin spécialisée autour des technologies Java JEE et UML.
+
+\begin{itemize}
+ \item du développement de logiciel (forfait ou régie).
+ \item de l’intégration et de la maintenance de systèmes clés en main.
+ \item du support.
+ \item du conseil et de la veille technologique.
+\end{itemize}
+
+Entreprise membre de :
+
+\begin{itemize}
+ \item Libre Entreprise.
+ \item Alliance Libre.
+\end{itemize}
+}
+
+\frame {
+ \frametitle{Objectif}
+
+\includegraphics[width=3cm]{img/hadoop.png}
+
+Créer une interface graphique d'administration de HBase.
+Accroître la productivié des utilisateurs de HBase et autres.
+Permettre une adaptation rapide aux nouvelles bases.
+
+\begin{itemize}
+ \item Créer une interface ergonomique et performante.
+ \item Utiliser une architecture à base de plugins pour les différentes bases.
+ \item Créer des plugins d'import, export de bases.
+ \item Créer des plugins de monitoring.
+\end{itemize}
+
+}
+
+\frame {
+ \frametitle{Environnement}
+
+\begin{columns}
+ \column{.5\textwidth}
+
+ \includegraphics[width=3cm]{img/hudson_logo.png}
+
+ \vspace{0.25cm}
+
+ \includegraphics[width=3cm]{img/sonar_logo.png}
+
+ \column{.5\textwidth}
+
+ \includegraphics[width=3cm]{img/subversion_logo.png}
+
+ \vspace{0.25cm}
+
+ \includegraphics[width=3cm]{img/netbeans_logo.jpg}
+
+ \vspace{0.25cm}
+
+ \includegraphics[width=3cm]{img/maven_logo.jpg}
+
+\end{columns}
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Added: trunk/src/site/doc/soutenance/remerciement.tex
===================================================================
--- trunk/src/site/doc/soutenance/remerciement.tex (rev 0)
+++ trunk/src/site/doc/soutenance/remerciement.tex 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,16 @@
+\section{Remerciements}
+
+
+\frame {
+ \frametitle{Remerciements}
+
+\center
+\textbf{Merci à l'équipe de Code Lutin}
+
+}
+
+
+
+
+
+
Added: trunk/src/site/doc/soutenance/soutenance.tex
===================================================================
--- trunk/src/site/doc/soutenance/soutenance.tex (rev 0)
+++ trunk/src/site/doc/soutenance/soutenance.tex 2010-03-25 11:45:54 UTC (rev 273)
@@ -0,0 +1,67 @@
+\documentclass[blue]{beamer}
+
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+
+\usepackage{listings}
+
+\usetheme{Antibes}
+\usecolortheme{lily}
+\usepackage{color}
+
+\setbeamertemplate{blocks}[rounded][shadow=true]
+
+\setcounter{tocdepth}{1}
+\setcounter{secnumdepth}{1}
+
+\usepackage{beamerthemesplit}
+
+\usepackage{verbatim}
+
+\title{PFE : Administration de HBase}
+
+\author{G. Crieloue, A. Fages, F. Gilet, D. Langlais}
+\date{}
+
+\setbeamertemplate{footline}{
+\leavevmode%
+\hbox{\hspace*{-0.06cm}
+\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
+ \usebeamerfont{author in head/foot}\insertshortauthor
+\end{beamercolorbox}%
+\begin{beamercolorbox}[wd=.4\paperwidth,ht=2.25ex,dp=1ex,left]{subsection in head/foot}%
+ \usebeamerfont{subsection in head/foot}\hspace*{2mm}\insertshorttitle
+\end{beamercolorbox}%
+\begin{beamercolorbox}[wd=.1\paperwidth,ht=2.25ex,dp=1ex,right]{subsection in head/foot}%
+ \usebeamerfont{subsection in head /foot}\insertframenumber{} /
+ \inserttotalframenumber\hspace*{2mm}
+\end{beamercolorbox}}%
+\vskip0pt%
+}
+
+\begin{document}
+
+\frame {
+\begin{center}
+\includegraphics[width=3cm]{img/logoUN.jpg}
+\end{center}
+\titlepage
+
+}
+
+\frame{\tableofcontents}
+
+\include{remerciement}
+
+\include{presentation}
+
+\include{Analyse}
+
+\include{architecture}
+
+\include{conception}
+
+\include{conclusion}
+
+\end{document}
+
1
0
25 Mar '10
Author: dlanglais
Date: 2010-03-25 11:26:35 +0100 (Thu, 25 Mar 2010)
New Revision: 272
Log:
Corrections rapport et ajouts d'images pour la soutenance.
Added:
trunk/src/site/doc/soutenance/img/jaxx_logo.png
trunk/src/site/doc/soutenance/img/rst_logo.png
trunk/src/site/doc/soutenance/img/subversion_logo.png
Modified:
trunk/src/site/doc/rapport/rapport.rst
Modified: trunk/src/site/doc/rapport/rapport.rst
===================================================================
--- trunk/src/site/doc/rapport/rapport.rst 2010-03-25 09:38:35 UTC (rev 271)
+++ trunk/src/site/doc/rapport/rapport.rst 2010-03-25 10:26:35 UTC (rev 272)
@@ -65,20 +65,20 @@
Code Lutin, Société de Service en Logiciel Libre
-Créée en 2002, spécialiste des environnements libres, la SSLL1) Code Lutin,
+Créée en 2002, spécialiste des environnements libres, la SSLL Code Lutin,
basée à Nantes développe son activité dans la région du Grand Ouest.
-Code Lutin est spécialisée autour des technologies Java JEE et UML: conception,
+Code Lutin est spécialisée autour des technologies Java JEE et UML : conception,
architectures JEE, outils JEE, MDA (Model Driven Architecture), développement/
migration d’applications JEE, formation.
-Code Lutin propose une gamme de services adaptée aux demandes spécifiques.
-L’offre de service de Code Lutin comprend:
+Code Lutin propose une gamme de services adaptées aux demandes spécifiques.
+L’offre de service de Code Lutin comprend :
-* du développement de logiciel (forfait ou régie)
-* de l’intégration et de la maintenance de systèmes clés en main
-* du support
-* du conseil et de la veille technologique
+* du développement de logiciel (forfait ou régie) ;
+* de l’intégration et de la maintenance de systèmes clés en main ;
+* du support ;
+* du conseil et de la veille technologique.
Code Lutin a construit au fil de l’expérience acquise un processus propre
hautement outillé avec des objectifs tels que l’obtention d’un produit fidèle
@@ -140,27 +140,27 @@
1.3 Objectifs
-------------
-* Accroître la productivié des utilisateurs de HBase et autres
-* Permettre une adaptation rapide aux nouvelles bases
-* Fournir un produit fonctionnel, ergonomique et performant
+* Accroître la productivié des utilisateurs de HBase et autres ;
+* Permettre une adaptation rapide aux nouvelles bases ;
+* Fournir un produit fonctionnel, ergonomique et performant.
1.4 Outils
----------
-* Technologies : Java, Maven, JAXX, JMX.
+* Technologies : Java, Maven, Jaxx, JMX.
* SVN : Dépôt de Code Lutin prévu à cet effet
- Architecture Maven comportant un pom.xml natif à Code Lutin
- permettant l'utilisation d'artefact JAXX notamment.
+ permettant l'utilisation d'artefact Jaxx notamment.
-* Intégration continue : Hudson
+* Intégration continue : Hudson et Sonar
- Site répertoriant un ensemble de statistiques sur chaque projet et
effectuant compilation et jeux de tests à chaque validation sur
le dépôt de manière automatique, ainsi qu'un contrôle de qualité du code.
-* Communication : Mailing list de Nuiton pour le développement, l'utilisation et le commit.
+* Communication : Mailing list de Nuiton pour les développeurs, les utilisateurs et les commits.
1.5 Chiffrage et organisation
-----------------------------
@@ -200,18 +200,18 @@
développement permettant de faciliter la compilation, la documentation,
les tests et surtout la gestion de dépendances qui sont récupérées
automatiquement sur Internet.
-Le fichier de description d'un projet Maven est un pom.xml.
-Code Lutin dispose de leur propre pom.xml permettant de récupérer
-les dépendances qui vont suivre.
+Le fichier de description d'un projet Maven est un POM (Projet Object Model).
+Code Lutin dispose de leur propre POM permettant de récupérer les dépendances
+qui vont suivre.
2.1.2 Jaxx
~~~~~~~~~~
Jaxx est un framework permettant de générer une interface graphique en
-SWING (Java). SWING est parfois fastidieux à gérer et le code n'est
+Swing (Java). Swing est parfois fastidieux à gérer et le code n'est
pas toujours propre, nous pensons notamment à la gestion des conteneurs,
aux styles graphique,... Le but de Jaxx est donc de faciliter le développement
-d'applications SWING tout en fournissant un code lisible.
+d'applications Swing tout en fournissant un code lisible.
Le principe est très simple. On définit les éléments de la vue
(les composants graphiques), les contrôleurs, les classes Java à utiliser
@@ -286,7 +286,7 @@
*ui* décrivant l'interface graphique, ainsi que du module *pluginloader*
qui s'occupe du chargement des plugins.
-Le package ui contient un quatrième package, *engine*, qui est le contrôleur
+Le package *ui* contient un quatrième package, *engine*, qui est le contrôleur
de l'interface graphique.
@@ -308,12 +308,12 @@
Dans le processus de construction, on récupère chacun des plugins
correspondants à chaque fichier JAR présent dans le chemin passé en paramètre
dans le PluginLoader. On utilise ensuite un ServiceLoader de Java pour charger
-chacun des plugins de chaque type (BigTable, Importer, Exporter, Monitoring).
+chacun des plugins de chaque type (BigTable, Importer, Exporter).
Finalement, on stocke chaque plugin dans une Map dont la clé est le nom
-du plugin (un plugin doit implémenter la méthode getPluginName()).
+du plugin (chaque plugin doit implémenter la méthode getPluginName()).
-Le PluginLoader propose ensuite différents services permettant de récupérer,
+Le PluginLoader propose ensuite différents services permettant de récupérer et
d'utiliser les différents plugins.
3.2 plugins
@@ -325,7 +325,7 @@
Diagramme de classes de conception du package plugins
Un plugin est avant tout décrit via une interface *Plugin* permettant de
-s'auto-décrire, se charger, se désactiver. Lorsqu'un plugin se charge, il
+s'auto-décrire, se charger et se décharger. Lorsqu'un plugin se charge, il
définit explicitement ses menus et ses actions associés au sein de
l'application qu'on leur fournit. Ceci permet notamment de ne pas avoir de
restrictions sur les possibilités d'extension de MSM puisque les
@@ -334,11 +334,10 @@
On trouve ensuite différentes interfaces prévues par défaut dans l'API de
l'application qui sont des types de plugins, notamment en ce qui concerne
-l'importation, l'exportation, le monitoring et enfin la base en elle-même
-grâce à l'interface BigTable extraite de l'analyse de la spécification Google
-déjà étudiée.
+l'importation, l'exportation et enfin la base en elle-même grâce à l'interface
+BigTable extraite de l'analyse de la spécification Google déjà étudiée.
-Hbase, BigHashMap, Cassandra... sont des plugins de type BigTable.
+HBase, BigHashMap, Cassandra... sont des plugins de type BigTable.
Un développeur voulant rajouter une nouvelle base doit donc implémenter cette
interface.
@@ -350,10 +349,10 @@
Diagramme de classes de conception du module gui
-Comme dit précédemment, on utilise JAXX pour générer automatiquement une
-classe en SWING. En l'occurence, la classe MainUI faisant office de Vue dans
+Comme dit précédemment, on utilise Jaxx pour générer automatiquement une
+classe en Swing. En l'occurence, la classe MainUI faisant office de Vue dans
notre framework MVC. Cette vue est une frame composée de plusieurs composants
-SWING associés à leur listener et modèles de données le cas échéant.
+Swing associés à leur listener et modèles de données le cas échéant.
La vue ainsi générée implémente l'interface JaxxObject et est un type
d'application Jaxx. Il existe une unique instance de l'application,
implémentée grâce au pattern Singleton et récupérable via la méthode
@@ -367,7 +366,7 @@
du PluginLoader. C'est également un singleton récupéré grâce à la méthode
statique getInstance().
-Grâce à la technologie JAXX, on peut établir une feuille de style propre à
+Grâce à la technologie Jaxx, on peut établir une feuille de style propre à
notre application mais qui pourra être réutilisée si besoin. Cela offre une
flexibilité dans la création de l'interface graphique puisque cela permet un
découpage entre les éléments graphique et le style qui leur est attribué.
@@ -376,9 +375,9 @@
--------------------------------------
Au lancement du programme principal, l'instance de MainUI est récupérée,
-la configuration autour de MSM concernant notamment la localisation
+la configuration autour de MSM concernant notamment l'internationalisation
(gérée par des classes i18n propres à Code Lutin et dont les dépendances
-sont écrites dans le pom.xml du projet) également.
+sont écrites dans le POM du projet).
Ensuite, on initialise l'application en récupérant l'instance de
ApplicationEngine.
@@ -403,11 +402,11 @@
4. Difficultés rencontrées
==========================
-Concernant la partie graphique (JAXX), il a été difficile de comprendre toutes
-les subtilités telles que l'utilisation de JAXXContext, l'utilisation des
-clé/valeurs pour l'insertion d'images et l'internationalisation (I18N).
+Concernant la partie graphique (Jaxx), il a été difficile de comprendre toutes
+les subtilités telles que l'utilisation de JaxxContext, l'utilisation des
+clé/valeurs pour l'insertion d'images et l'internationalisation (i18n).
-L'inclusion de code java dans un fichier JAXX, lorsqu'il est conséquent est
+L'inclusion de code java dans un fichier Jaxx, lorsqu'il est conséquent est
génant. En effet, les framework tels qu'Eclipse ou Netbeans ne le reconnaissent
pas, ce qui complique le développement.
@@ -417,19 +416,20 @@
Poussin, nous avons décidé d'opter pour le chemin inverse, bien plus souple.
Ainsi, c'est le plugin qui connaît l'application, et par conséquent peut
beaucoup plus facilement agir sur celle ci, sans les restrictions que l'autre
-méthode impliquait.
+méthode impliquerait.
Le problème le plus bloquant que nous ayons rencontré est l'utilisation
d'HBase en java. En effet, interroger une base Hbase avec le client en ligne
de commande fonctionne parfaitement, mais même le tutoriel de l'API Java
-d'HBase génère des erreurs. Nous avons passé du temps à essayer les différentes
-versions d'HBase, sans succès. Notre application est pourtant prête à accueillir
-tout type d'implémentation de BigTable tels que les plugins d'exemple créés.
+d'HBase génère des erreurs. Nous avons passé beaucoup de temps à essayer les
+différentes versions d'HBase, sans succès. Notre application est pourtant prête
+à accueillir tout type d'implémentation de BigTable tels que les plugins
+d'exemple créés.
5. Conclusion
=============
-Ce projet nous a permis de découvrir de nouvelles technologies telles que jaxx,
+Ce projet nous a permis de découvrir de nouvelles technologies telles que Jaxx,
qui nous a semblé très intéressant et que nous n'hésiterions pas à réutiliser
dans de futurs projets.
@@ -437,14 +437,14 @@
connaissances sur les plugins en java.
De plus, dans le cadre de ce projet, nous avons eu a internationaliser
-l'application en utilisant la bibliothéque I18N, très efficace et très utilisé
+l'application en utilisant la bibliothéque i18n, très efficace et très utilisée
en entreprise, malgrès notre méconnaissance initiale de cet outil.
Travailler dans une équipe de professionnels nous a permis d'aquérir un peu de
leur expérience et les réunions au sein de leur entreprise ont été très
-enrichissantes. Utiliser leurs méthodologie et outils (tel que Hudson et
+enrichissantes. Utiliser leurs méthodologies et outils (tel que Hudson et
les listes de diffusion) nous a initié au travail en équipe en entreprise.
-Enfin, la structure de notre application, pensée pour être évolutive permet
-la continuité de celle ci par d'autres développeurs.
-
+Enfin, la structure de notre application pensée pour être évolutive ainsi que
+le soin apporté à la qualité du code permet la continuité de celle ci par
+d'autres développeurs.
\ No newline at end of file
Added: trunk/src/site/doc/soutenance/img/jaxx_logo.png
===================================================================
--- trunk/src/site/doc/soutenance/img/jaxx_logo.png (rev 0)
+++ trunk/src/site/doc/soutenance/img/jaxx_logo.png 2010-03-25 10:26:35 UTC (rev 272)
@@ -0,0 +1,90 @@
+�PNG
+
+
+IHDR�F�S� pHYs��
+9iCCPPhotoshop ICC profilexڝ�wTT��Ͻwz��0�z�.0��. Qf��Ml��@DE�����H��b!(�`HPb0���dF�J|yy����ǽ��g�s��{��.$O./� �'�z8�W�Gб�x��0Y驾A��@$/7z�� ���H��e��O���OҬT��_��lN:K��"N����3"��$�F��/JP�rb�[䥟}�Q��d[��S��l1��x{��#b�G�\N��o�X3I���[ql2���$�8�x����t�rp��/8�p��C���f�q��.K�njm͠{r2�8��?�����.)ɩL^6�g�,qm�"[�Z[Z��~Q����7%��"�
+��3�������R�`̊j��[�~:� w���!$E}k���yh�y�Rm��333��������:�
+}�=#�v����ʉe
+�tq�X)I)B>==����
+�<��8��Xȉ��9<QD�hʸ�8Q�yl���£sy����0�OZ�k�(��5�Hݠ��>��yP�������:�8�����p�����Lg ��k�k Ѐ$��t�!0V�87���`��ɀ2A.�
+@���JP�A#h'@8
+.���:� �`���`��a!2D��!UH2�� d�A>P ECqB���*�*�Z��:]��B�=h��~���L���2�
+�� ����5p�����N��������:|��ó@�
+QC��!H,�G6 �H9R�� ]H/rA��w(����Q�(OT��JCm@�*QGQ���-�(j� MF+�
+�6h/�*t:]�.G7��З�w���7����Xa<1��:L1��s3���b�Xy���eb��~�1�9� v�Gĩ��p���+�5���q�y�^o��ó���|=�?��'Htv�`Ba3���B�DxHxE$Չ��"���XA<N�B%�#ɐ�I.�H����t�t�t��L&k��dy'��|����V�"a$�%���(Q%�.1(�B/�%�$�V2G�\��
+�i)�����Sj�T��)�a�Yi�����t�t�t��U�I�����[&_��E�1
+BѠ�PX�-�z�%�8CաzQ�E�o���Y�e���Y�U�gdGhM��EK���NІh�(/qZ�Y�cI˒�%sr�r�r�B�V�;r����n���;�)��2*\R�V�*�*�O(�W������)V�S�UVQ�PNUޯ|QyZ��⨒�R�rVeJ��j��U-S=���.Kw�'�+�=�5%5O5�Z�Z�ڼ��z�z�z��#
+�C#V�L�[cFSU�W3W�Y�^����O�WkN[G;L{�v�������N�N��C]���n�n��m=�C/Q��M}X�B?^�J��l`i�58`0���z)oi��aC���a�a�����(Ϩ�腱�q��n�^�O&&I&�&LeLW��v��j�o�2�2�mN6w7�h�i�r��2β���ZP,|-�Yt[|����[�XNYiZE[U[
+3�F1�5���z��i�w6�6�6���&�6�N.�Y�Y^�|�NݎiWk7bO���?d?���t�sx���vlp�p�sJp:����ę���<�b���+���Z���&��V���]�=ν�}���c��yO����n�a/e/�W���
+��W�x����+������}�|a��{|��Z�[�������=���O��>�P�4�407�7���&�9�$�A�n�0�;T242�1t.�5�4ld������+�s�;#��
+���V�]=iY9�FgM֚�k�&�=%Ō:���n����c�1gc�b�cfX.�}��lGv{�c�)�L��Ŗ�N���퉛�w�/���p+�/<j���$.$�%�&㒣�O�dx��������T�Ԃԑ4���i3|o~C:��&�S@�L� u�[���Uo3C3OfIg�����wdO��|�����;W-ws��z����
+1�7jl��8��c��͉̈́��3�+�{�%lKW�r�����[�$
+���l��lGm�n��a�c��O���kE&E�E�Y�2��⫅��;�K,K���������h�tiN���=�e��²�{��^-_V^���O�o�§�s���]�?T�Wީr�j�V��Q=w�}`����嚢�������zԶ�iו��8��>���k�
+
+E
+����
+<��h��ؤ�T�7���E����7�-�-���֢�����o��:�}��$�d�wZ�U�Q�
+ۡ����������S+Nuw�v�}o����j���Ȟ)9K8�v�\ι���/�]��~pq���==���/]��~�b�S�+vWN_��z��Z�u���}}m?X���o��~��F�M�]��:^��z��m���לּ302tw8rx�.��佤{/�gܟ��!�a�#�G叕����c��șQ�Ѿ'AO��ƞ���Ӈ��������f���ܧn>[�l�y���邟��~���_�Y53���r���W^��{����7�s�o��}�x��>���|�쇊�z�>yz������������gAMA��|�Q� cHRMz%������u0�`:�o�_�FPIDATx�b���?�(�@1��(�h4q�� �F�(� h4q�� �F�(� h4q�� �F�(� h4q�� �F�(� h4q�� �F�(� h4q�� �F�(� h4q�� �F�(� h4q�� �F�(� h4q�� �X@�ܹs�?|��lCBCCtuuG�sx�'uuuyyy��/_2�x���Ǐ5�������������˗/�y3Ï?0�888|}}GK�k��fffX5���&�g�T͐">
+��k�@��&X�.�����y��!�]��1��@���b�ݙ�fg�jt]G�p�_�km�Zc�&(��R!cL^�eY��؝�,s�w�Ѷ-e�ːs./˂m��<O�����0�{bB���(���0�W�q!����9S�#���_�����=���Z[�8�0��)Hp��8A#1x�x�%�M��I�K��i����1F)�9^�h�IaB�.�@��<���)%��Nwu �r�9gAL�+y�$W)%���1�������0;Rc~��bķ㭮�C�����������+W�d������(Ctt4����f{W��߿�p��Q�O�>���#hA��ݻ�����0�2XXX0���1HJJb�����7o�0�9s�X�C`` ����� s�?N(�De``����� ""BP?-@������Xgx��1(q�m��g�@3�oذ���ׯ(%1 )�R@����Ǡ���S/(A��-&&�T5\�r.2d12�Nx&%fWW�A�� ���s�`]�"���@� GGG��d�ŋ��|��9p����fpwwǛ0��``{A���`%!p�����/_�MLLM���k�
+���Z��)����nn`���.@n�;v��ħ�����A� ����h��� ��A%��`�O�J9r���&Fp�1�@�5q�\\\�F-\�۷o�B-`ii�����?�����1��^sssP;�����!P[�&¥X�1��-���\\\�G���!
+,B�
+<P�W-�vUJPu��O�:����%����]�P��A*pV/���'�lP�h��%��?a
+���1
+�0�������D�X�<o�;%�S��l�p �P�3ϼ�Zp���륔?���������~%Ќ:���n9& �{�֛�Pw�5�0����C��Q)5�sVY7��F�!ND��j���!��
+Pw�Ν;T�����ȉ�ҥK(���Ç�=gggؠ��}F�^@���������4P;�����>�E2,2�o���+�_�1��2HI�00��2\�����w��OpI@tI�
+4�����HPVV��(q��j� y�b�6ht�%P7�V`055�j�E8r���gϞ��8��5[[[�J+Pbx����7�3<y���/o%*����;_2����'??/��� ó�>�� �$�H(,A����6#h��~
+fQ���K(P�v��iPB�*�����Dm4%�����~��P"
+�QRZ}������7����l��?c��:AJ(�������fd�����~��+��/�//ëw��U�/��� �4�R@ AFFE8�ah�n-��@-�6N���4�v�����!uP;��u�A�N��a�m۶�h8��^033#��ś���u`Z`bF�A>.��4:�����o�v������� ���47�e�9��f��a��a�����7�� ����4�j��l�hE?x}��u��@J��� ��
+��z4:::4m��=�n*Ru�
+�������������������AIF������ͻ@�����b|�����V��@�,�n=&���"
+Ң��c�L������
+K�@^^�y��z�v���������i�%%F�Tb��Ix���������3����Ծ`F"0~���w`�� $���������?pW�r�ы�BB"Ζ�N�L�L�~�b�Q�ap��bP�g%<F��_��i�5�@�P[CQQ�G�c̃�4��$�"4\Nh�ضBik}���a߾}������'�=� #!̠
+�<5%V6v��o?3|��AD�����~�a6&�#�����V��eP#���'����%��;`���Rb߿ex���$�`������L����4�*�����H�e��n�?����5J=zD�*%�|��"�>ϟ?��m�|P�AMQiLL��j�������������$�
+R�l����/��r�x�����/?2��И�ś�����r0H�3
+3P�-í{�����Y��{Sh�v�a(z$}PhQP��V>���E� (-�Z��\(�C3�����=� RW�q��E��<�=N�w{�m~
+Կ�����<�?\^�Acz�v�#�F��*t-Z��/Ga�B���#�b��Zo��
+�ı�
+�8��Q�xdNQ��-�0��� �r1Azإ'��ZGM�ib�����(��,y�}oh�z�a(�bk*����R7�q����Qpt*�VRl�{[G�N���rw/��W���GTeY�1����~��s�ݰ����c�ҕX���d���Cc��帜s�y�0��D1~�V�� �r<�e�Y�a�����
+Fj�FLoTZ�]���A:ibb�>ke���.���\�/Y؉��l�}%e��V��j�*�@�� �R��
+���;���\%����:Ij5���:�x�)C��{����"�'�у{ι�σ=�O2�_�{��s��AG�ӫA��I���,��.r�*�"g�wP�I�D�W���y� d� �k�}��:JD2-�때��'�������Qel
+��2c$ù�|&��v'���pFÛL'H��j(Bt\�w�qQY�M���,���8��<`��HDI�4@�����r�эv��X���QF0Ac����Z���6�4�2���������
+Pc�al����҂���� �>1H� ����� )��D6�=Ǯ0��K0�ȉ�K����������/��||����������H�����A��������D�^%�:Xt��J
+P���0@4���Xy��fr�Zʹ��#hLCLL�l3��Q\P@����24�C���@���X�O�"H��ܝdceb�R�bp�1a���b��/�1<sح��0{��-�j�T�����o0��7���U�<3��
+ld�rs���&�RFP���ى-S�(R`c�'�y��^A=%�:��>��D_�*�A9���z?��/JF�Y�8��:hF�^E�������~����(��00s<�P"`f�z����<���G�<�3`��v���C�@�W~.N`wXI��(q�JB������fյ�s'�h
+�Ӱ�[H���:�����4=H
+|�X��"�ܵ%��/�
+���8��0��[��gd�R���ذ?';��8?� ��?�x��3�3pi`<s�3������o�w�{-�88�,����8�
+��d�bͦ0�A��Є'1�'@Q=q O�!��`�N�0j���������K�P�A��R�Fh������\I蝀�@�@�~�(�"W/�1P��͛7`���|�<��� /��L,ඃ� '/��?��,�����u�NKVmUiEs}U`"�c���{2��\P�a| ���8>|��8��@�����tPC4Eڙ�LD���L����z@��
+��%4�^@s/��(3�������*�p n+p�FDY�4�� 7�{
+�}����ç���������;a^]uAA�_�0�z�<\���ы����W�0�����Wo0
+@Q5q\�~<�� �H��@�
+���3g{�����)�.3\�(2�K,P/����v�:��~P���9�u�Ю7ܿ�*�H@c! lk{(��$�Ą��?y�p��=Y)muy��
+`[d��'.�ex���P�@K�������ۯ��� QyiQ~>~���1�&�/�~���as3D��jm�FDA�%�S�v
+�aР�[LL�U'�.#�!J����[���h�!�����^(׃�sRס��#o1�����>}�����o?|e�Q�F*�����^}� $�à�����:�2J�n.��r��s�
+����}��������
+�1��0���3���������@ ���8@
+*�0@^�E*�`�����f|��A�NAGF�&�@�*h��� 2`I烆�A���Wb��`�N@C���w�`5�Qz�F�A��&�@m�0�?`��R�W!�.�c8
+,1���T1`�4����L82����r��JR�6
+8V5��f@���ؠ}l����2������PnF+A����2�Ĩ�(�i��^��^�� 3���m�� RB�����:;w�c��S��`&����eI�X��L2IW����w�q�t��|��l`��&���CM��X�P�,-�>��.�,����7A�H]\��F�;;�ƙ�@��/V���\�� �ö�����INe�a�?%�ﲜO��e��)��f7)��K���4x�)��x���)2��9�e<�4C9),��^�BP�,�=|)<=�-�f�� �QB�(���P�*��Ϫ�k��]����.��|e�zrWw����m��:~N�gc#�2#s�]���$¨�&I�u*�b�ynB�^x�uX0�N��5�/ .:��9��n�D;^SH
+\b>��I�=�L�T�:����9�f�ij�h�8�q��֥����G4�h&e>KOM��j-��C1��k��~��t�J��I���_J��> ��\��i���lN���f[�A5E7l�(����P!zZ���@87R�N�Y�z5��^���=�������h�D���?�0|����a��b����2�"#)
+�=ug��',PF������P[<8v��cQA&f6�{��3������@s�\l�@3��R���J�)�߿�3H����π����_��Yؗo>�����@@�<�x�UA���3��r��̥������ 8A�g���'
+� 3�_�����Pc��`Bc���,��RN.n�?hA1�M`���J�y��'+0��b��R@8���FO��.x����G��0�#\EQ�hT�z� \�<z�ܘ|���q)��
+l?����0@C��c� 4P��m@�B���^�c��(����N�������ן���<P�U��Q�e�t��#�/_�'"F`5���π
+4�J��[F���������0�8�Њ/PQ��o�7@�Td�� `+��o>N&� �:A
+�������Z@�sV&Fp�A�]���9?x���@k;@U����'`"�
+l�p��
+��VĂk�=qP:}>
+Ъ���F-�Q���y�6Az[�k0@��h$#!����o`��.��1���N�u��&夁z�= �ƲC�K�<�
+�{���`��0!p�W��v6�&B������Lx�D@,�Z���� ����}F+�s`��7 � L��<z �C�f���L�Xـ�"&��b�S�X�C� AD���������_@>����3�~��
+
+���x�9��U-�u��,��R�
+E��뒍��oP7������sE�-`��ѳ�����f���Y�
+D�((��%�t����
+�ka�����4���� ���Y!'����JVp%@X�@�42k��h�%�����0-���X�C4IZ��=���W���8�
+J��av`��!f��N����x@ �0@�f�Xz5@,�%h-l�,aPk��(@&����.%ą���<hq���8q�?x������p�읰�Kl�i��Fg�=� �X`^�v킏m����d�Ġ
+E����=��AIF�u�'P)}��%��a��bee�8'�� �X�.]
+_�����6>i@����(�C`w����AX�0C�'�F7<y �M�v��?@m
+\��
+��ÇA�<� c4Q�y������n��_~���L��4���l2�'�$��AL{�� ��R;
+h��
+T������'�8���Y���6�j<Rz$9 �F� H ���A�ؖQX�D�)�4�8Q"Ѱ��L����\`O~�Q��IEND�B`�
\ No newline at end of file
Added: trunk/src/site/doc/soutenance/img/rst_logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/rst_logo.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/subversion_logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/subversion_logo.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
r271 - in trunk: msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase src/site/doc/soutenance src/site/doc/soutenance/img
by dlanglais@users.nuiton.org 25 Mar '10
by dlanglais@users.nuiton.org 25 Mar '10
25 Mar '10
Author: dlanglais
Date: 2010-03-25 10:38:35 +0100 (Thu, 25 Mar 2010)
New Revision: 271
Log:
Correction sur le "plugin" HBase (non fonctionnel).
Ajout d'images pour la soutenance.
Added:
trunk/src/site/doc/soutenance/img/
trunk/src/site/doc/soutenance/img/hudson_logo.png
trunk/src/site/doc/soutenance/img/maven_logo.gif
trunk/src/site/doc/soutenance/img/sonar_logo.png
Removed:
trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java
Modified:
trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java
trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java
Modified: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java
===================================================================
--- trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java 2010-03-24 21:46:40 UTC (rev 270)
+++ trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java 2010-03-25 09:38:35 UTC (rev 271)
@@ -75,14 +75,19 @@
*/
@Override
public boolean connect(Properties properties) {
+
+ boolean ret = false; // return value.
+
config = new HBaseConfiguration();
try {
hBaseAdmin = new HBaseAdmin(config);
- return true;
+ ret = true;
} catch (MasterNotRunningException ex) {
LOG.error(ex, ex);
- return false;
+ ret = false;
}
+
+ return ret;
}
/**
Modified: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java
===================================================================
--- trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java 2010-03-24 21:46:40 UTC (rev 270)
+++ trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java 2010-03-25 09:38:35 UTC (rev 271)
@@ -1,26 +1,23 @@
package org.nuiton.mapstoragemanager.plugins.hbase;
import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.hbase.ColumnNameParseException;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HServerAddress;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableExistsException;
import org.apache.hadoop.hbase.TableNotDisabledException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HConnection;
-import org.apache.hadoop.hbase.client.HTable;
-import org.apache.hadoop.hbase.client.ServerCallable;
-import org.apache.hadoop.hbase.ipc.HRegionInterface;
-import org.apache.hadoop.hbase.util.Bytes;
public class Main {
+
+ /**
+ * Private default Constructor.
+ */
+ private Main() { }
/**
* Logger.
@@ -54,9 +51,8 @@
/**
* Create Table.
*/
- String tableName = null;
+ String tableName = "test";
try {
- tableName = "test";
HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);
hc.getMaster().createTable(hTableDescriptor);
LOG.trace("table " + tableName + " created.");
@@ -70,10 +66,8 @@
/**
* Create Column.
*/
- String columnName = null;
+ String columnName = "testCol";
try {
- tableName = "test";
- columnName = "testCol";
HColumnDescriptor hcolumnDescriptor = new HColumnDescriptor(columnName);
hc.getMaster().disableTable(tableName.getBytes());
hc.getMaster().addColumn(tableName.getBytes(), hcolumnDescriptor);
@@ -89,7 +83,7 @@
*/
HTableDescriptor[] hTableDesriptors = null;
try {
- System.out.println(hc.listTables().length);
+ LOG.info("hc.listTables().length : " + hc.listTables().length);
LOG.debug("BEGIN : hTableDesriptors = hc.listTables()");
hc.getMaster();
hc.tableExists(tableName.getBytes());
@@ -111,8 +105,6 @@
* Delete Column.
*/
try {
- tableName = "test";
- columnName = "testCol";
hc.getMaster().disableTable(tableName.getBytes());
hc.getMaster().deleteColumn(tableName.getBytes(), columnName.getBytes());
hc.getMaster().enableTable(tableName.getBytes());
@@ -126,7 +118,6 @@
* Delete Table.
*/
try {
- tableName = "test";
hc.getMaster().disableTable(tableName.getBytes());
hc.getMaster().deleteTable(tableName.getBytes());
LOG.trace("table " + tableName + " deleted.");
Deleted: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java
===================================================================
--- trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java 2010-03-24 21:46:40 UTC (rev 270)
+++ trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java 2010-03-25 09:38:35 UTC (rev 271)
@@ -1,108 +0,0 @@
-package org.nuiton.mapstoragemanager.plugins.hbase;
-
-import java.io.IOException;
-
-import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.Get;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
-import org.apache.hadoop.hbase.client.HTable;
-import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.client.ResultScanner;
-import org.apache.hadoop.hbase.client.Scan;
-import org.apache.hadoop.hbase.util.Bytes;
-
-
-// Class that has nothing but a main.
-// Does a Put, Get and a Scan against an hbase table.
-public class MyLittleHBaseClient {
- public static void main(String[] args) throws IOException {
- // You need a configuration object to tell the client where to connect.
- // When you create a HBaseConfiguration, it reads in whatever you've set
- // into your hbase-site.xml and in hbase-default.xml, as long as these can
- // be found on the CLASSPATH
- HBaseConfiguration config = new HBaseConfiguration();
- String tableName = "myLittleHBaseTable";
- /*
- HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);
- //hTableDescriptor.addFamily(new HColumnDescriptor("myColumnFamily"));
- HBaseAdmin hBaseAdmin = new HBaseAdmin(config);
-
- try{
- hBaseAdmin.createTable(hTableDescriptor);
- hBaseAdmin.enableTable(tableName);
- }
- catch(org.apache.hadoop.hbase.TableExistsException e){
- System.out.println("Table "+tableName+" already created.");
- }
-*/
- // This instantiates an HTable object that connects you to
- // the "myLittleHBaseTable" table.
- HTable table = new HTable(config, tableName);
- System.out.println("HTable table = new HTable(config, tableName);");
-
- // To add to a row, use Put. A Put constructor takes the name of the row
- // you want to insert into as a byte array. In HBase, the Bytes class has
- // utility for converting all kinds of java types to byte arrays. In the
- // below, we are converting the String "myLittleRow" into a byte array to
- // use as a row key for our update. Once you have a Put instance, you can
- // adorn it by setting the names of columns you want to update on the row,
- // the timestamp to use in your update, etc.If no timestamp, the server
- // applies current time to the edits.
- Put p = new Put(Bytes.toBytes("myLittleRow"));
-
- // To set the value you'd like to update in the row 'myLittleRow', specify
- // the column family, column qualifier, and value of the table cell you'd
- // like to update. The column family must already exist in your table
- // schema. The qualifier can be anything. All must be specified as byte
- // arrays as hbase is all about byte arrays. Lets pretend the table
- // 'myLittleHBaseTable' was created with a family 'myLittleFamily'.
- p.add(Bytes.toBytes("myLittleFamily"), Bytes.toBytes("someQualifier"),
- Bytes.toBytes("Some Value"));
-
- // Once you've adorned your Put instance with all the updates you want to
- // make, to commit it do the following (The HTable#put method takes the
- // Put instance you've been building and pushes the changes you made into
- // hbase)
- table.put(p);
-
- // Now, to retrieve the data we just wrote. The values that come back are
- // Result instances. Generally, a Result is an object that will package up
- // the hbase return into the form you find most palatable.
- Get g = new Get(Bytes.toBytes("myLittleRow"));
- Result r = table.get(g);
- byte [] value = r.getValue(Bytes.toBytes("myLittleFamily"),
- Bytes.toBytes("someQualifier"));
- // If we convert the value bytes, we should get back 'Some Value', the
- // value we inserted at this location.
- String valueStr = Bytes.toString(value);
- System.out.println("GET: " + valueStr);
-
- // Sometimes, you won't know the row you're looking for. In this case, you
- // use a Scanner. This will give you cursor-like interface to the contents
- // of the table. To set up a Scanner, do like you did above making a Put
- // and a Get, create a Scan. Adorn it with column names, etc.
- Scan s = new Scan();
- s.addColumn(Bytes.toBytes("myLittleFamily"), Bytes.toBytes("someQualifier"));
- ResultScanner scanner = table.getScanner(s);
- try {
- // Scanners return Result instances.
- // Now, for the actual iteration. One way is to use a while loop like so:
- for (Result rr = scanner.next(); rr != null; rr = scanner.next()) {
- // print out the row we found and the columns we were looking for
- System.out.println("Found row: " + rr);
- }
-
- // The other approach is to use a foreach loop. Scanners are iterable!
- // for (Result rr : scanner) {
- // System.out.println("Found row: " + rr);
- // }
- } finally {
- // Make sure you close your scanners when you are done!
- // Thats why we have it inside a try/finally clause
- scanner.close();
- }
- }
-}
Added: trunk/src/site/doc/soutenance/img/hudson_logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/hudson_logo.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/maven_logo.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/maven_logo.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/site/doc/soutenance/img/sonar_logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/site/doc/soutenance/img/sonar_logo.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0