Skip to content
Snippets Groups Projects
Commit 55d41f76 authored by ella's avatar ella
Browse files

en cours

parent e0474115
No related branches found
No related tags found
No related merge requests found
Pipeline #6290 passed with stages
in 1 minute and 4 seconds
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.cines.pacit</groupId>
<artifactId>pacit</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Application de test d'intégration de la plateforme d'archivage du cines</name>
</project>
\ No newline at end of file
/*
* Copyright CINES, 2022
* Ce logiciel est régi par la licence CeCILL-C soumise au
* droit français et respectant les principes de diffusion des logiciels libres. Vous pouvez
* utiliser, modifier et/ou redistribuer ce programme sous les conditions de la licence CeCILL-C
* telle que diffusée par le CEA, le CNRS et l'INRIA sur le site "http://www.cecill.info". En
* contrepartie de l'accessibilité au code source et des droits de copie, de modification et de
* redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie
* limitée. Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du
* programme, le titulaire des droits patrimoniaux et les concédants successifs. A cet égard
* l'attention de l'utilisateur est attirée sur les risques associés au chargement, à l'utilisation,
* à la modification et/ou au développement et à la reproduction du logiciel par l'utilisateur étant
* donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve
* donc à des développeurs et des professionnels avertis possédant des connaissances informatiques
* approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation du logiciel à
* leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et ou de
* leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
* sécurité. Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris
* connaissance de la licence CeCILL-C, et que vous en avez accepté les termes.
*/
package fr.cines.pacit;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import fr.cines.pacit.parse.handler.ArchiveTransferReplyHandler;
/**
* @author Raphael Ella <ella@cines.fr>
*
*/
public class Pacit {
/**
* @param args
* @throws SAXException
* @throws ParserConfigurationException
*/
public static void main(String[] args) throws SAXException, ParserConfigurationException {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(false);
SAXParser parser = spf.newSAXParser();
XMLReader reader = parser.getXMLReader();
ArchiveTransferReplyHandler handler = new ArchiveTransferReplyHandler();
reader.setContentHandler(handler);
File file = new File("C:/Users/ella/Downloads/archive-transfer.xml");
InputStream fichier;
try {
fichier = new FileInputStream(file);
InputSource is = new InputSource(fichier);
reader.parse(is);
;
for(Map.Entry mapentry : handler.getMap().entrySet())
{
System.out.println("clé: "+mapentry.getKey()
+ " | valeur: " + mapentry.getValue());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("fichier introuvable");
System.exit(-1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
*
*/
package fr.cines.pacit.parse.handler;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* @author ella
*
*/
public class ArchiveTransferReplyHandler extends DefaultHandler {
private Map<String, String> map = new HashMap<String, String>();
private String currentTag;
private Stack<String>stack = new Stack<String>();
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
// TODO Auto-generated method stub
super.startElement(uri, localName, qName, attributes);
currentTag = qName;
int i = 1;
stack.add(currentTag);
map.put(qName, "");
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
String value = new String(ch, start, length);
map.put(currentTag, value);
super.characters(ch, start, length);
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
}
/*
* Copyright CINES, 2022
* Ce logiciel est régi par la licence CeCILL-C soumise au
* droit français et respectant les principes de diffusion des logiciels libres. Vous pouvez
* utiliser, modifier et/ou redistribuer ce programme sous les conditions de la licence CeCILL-C
* telle que diffusée par le CEA, le CNRS et l'INRIA sur le site "http://www.cecill.info". En
* contrepartie de l'accessibilité au code source et des droits de copie, de modification et de
* redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie
* limitée. Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du
* programme, le titulaire des droits patrimoniaux et les concédants successifs. A cet égard
* l'attention de l'utilisateur est attirée sur les risques associés au chargement, à l'utilisation,
* à la modification et/ou au développement et à la reproduction du logiciel par l'utilisateur étant
* donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve
* donc à des développeurs et des professionnels avertis possédant des connaissances informatiques
* approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation du logiciel à
* leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et ou de
* leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
* sécurité. Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris
* connaissance de la licence CeCILL-C, et que vous en avez accepté les termes.
*/
package fr.cines.pacit.tranfer;
/**
* @author ella
*
*/
public interface Transfer {
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment