--- /dev/null
+<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>InstructionPc</artifactId>
+ <name>InstructionPc</name>
+ <description>Connecteur Activiti - Alfresco</description>
+
+ <parent>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>Activiti</artifactId>
+ <version>1.2.1-SNAPSHOT</version>
+ </parent>
+
+ <properties>
+ <deployment.directory>deployment</deployment.directory>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>2.1</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring.handlers</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring.schemas</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/cxf/bus-extensions.txt</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/cxf/cxf.xml</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/cxf/java2wsbeans.xml</resource>
+ </transformer>
+ </transformers>
+ <artifactSet>
+ <excludes>
+ <exclude>aopalliance:aopalliance:*</exclude>
+ <exclude>axis:axis-wsdl4j:*</exclude>
+ <exclude>com.h2database:h2:*</exclude>
+ <exclude>com.mxgraph:jgraphx:*</exclude>
+ <exclude>com.thebuzzmedia:imgscalr-lib:*</exclude>
+ <exclude>com.vaadin:vaadin:*</exclude>
+ <exclude>commons-dbcp:commons-dbcp:*</exclude>
+ <exclude>commons-fileupload:commons-fileupload:*</exclude>
+ <exclude>commons-io:commons-io:*</exclude>
+ <exclude>commons-lang:commons-lang:*</exclude>
+ <exclude>commons-logging:commons-logging:*</exclude>
+ <exclude>commons-pool:commons-pool:*</exclude>
+ <exclude>javax.activation:activation:*</exclude>
+ <exclude>javax.mail:mail:*</exclude>
+ <exclude>joda-time:joda-time:*</exclude>
+ <exclude>junit:junit:*</exclude>
+ <exclude>log4j:log4j:*</exclude>
+ <exclude>math.geom:javaGeom:*</exclude>
+ <exclude>org.activiti:*</exclude>
+ <exclude>org.aopalliance:com.springsource.org.aopalliance:*</exclude>
+ <exclude>org.apache.commons:commons-email:*</exclude>
+ <exclude>org.apache.felix:org.osgi.core:*</exclude>
+ <exclude>org.apache.ws.security:wss4j:*</exclude>
+ <exclude>org.codehaus.groovy:groovy-all:*</exclude>
+ <exclude>org.codehaus.jackson:*</exclude>
+ <exclude>org.codehaus.woodstox:*</exclude>
+ <exclude>org.hamcrest:hamcrest-core:*</exclude>
+ <exclude>org.mybatis:mybatis:*</exclude>
+ <exclude>org.osgi:*</exclude>
+ <exclude>org.restlet*:*</exclude>
+ <exclude>org.slf4j:*</exclude>
+ <exclude>org.springframework:*</exclude>
+ <exclude>org.vaadin.addons:dcharts-widget:*</exclude>
+ <exclude>xerces:xercesImpl:*</exclude>
+ <exclude>javax.servlet:servlet-api:*</exclude>
+ </excludes>
+ </artifactSet>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <id>create-par</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <!-- Suppression du répertoire temporaire de déploiement -->
+ <echo message="Deleting ${deployment.directory} directory..." />
+ <delete dir="${deployment.directory}" />
+
+ <!-- Suppression des jar et bar "InstructionPc" existants dans les projets NoyauRest et NoyauExplorer -->
+ <echo message="Deleting ${project.name} jar from NoyauExplorer and NoyauRest ..." />
+ <delete>
+ <fileset dir="../NoyauExplorer/src/main/webapp/WEB-INF/lib" includes="**/${project.name}*.jar" />
+ <fileset dir="../NoyauExplorer/src/main/webapp/WEB-INF/processes" includes="**/${project.name}*.bar" />
+ <fileset dir="../NoyauRest/src/main/webapp/WEB-INF/lib" includes="**/${project.name}*.jar" />
+ </delete>
+
+ <echo message="Creating bar: ${project.build.directory}/${project.name}-${project.version}.bar" />
+ <mkdir dir="${project.build.directory}/bar" />
+ <mkdir dir="${project.build.directory}/bar/diagrams" />
+ <!-- BPMN files -->
+ <copy todir="${project.build.directory}/bar" overwrite="true">
+ <fileset dir="src/main/resources/diagrams" />
+ <mapper type="glob" from="*.bpmn" to="*.bpmn20.xml" />
+ </copy>
+ <!-- PNG files -->
+ <copy todir="${project.build.directory}/bar" overwrite="true">
+ <fileset dir="src/main/resources/diagrams">
+ <include name="**/*.png" />
+ </fileset>
+ </copy>
+ <!-- FORM files -->
+ <copy todir="${project.build.directory}/bar/diagrams" overwrite="true">
+ <fileset dir="src/main/resources/diagrams">
+ <include name="**/*.form" />
+ </fileset>
+ </copy>
+ <!-- Création du fichier bar -->
+ <zip destfile="${project.build.directory}/${project.name}-${project.version}.bar">
+ <fileset dir="${project.build.directory}/bar">
+ <include name="**/*.bpmn20.xml" />
+ <include name="**/*.form" />
+ </fileset>
+ </zip>
+ <!-- Copie des fichiers "livrables" dans le répertoire "deployment" -->
+ <echo message="Copy bar file to ${deployment.directory} directory" />
+ <copy todir="${deployment.directory}" overwrite="true">
+ <fileset dir="${project.build.directory}">
+ <include name="**/*.bar" />
+ <include name="**/*.jar" />
+ </fileset>
+ </copy>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Plugin permettant de copier le jar généré dans les projets AMP "NoyauExplorer" et "NoyauRest" -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>Copy Jar to "NoyauExplorer" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauExplorer/src/main/webapp/WEB-INF/lib</outputDirectory>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ <execution>
+ <id>Copy Jar to "NoyauRest" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauRest/src/main/webapp/WEB-INF/lib</outputDirectory>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Plugin pour Copier le BAR contenant les digrams des workflow vers le projet Noyau Explorer -->
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ <executions>
+ <execution>
+ <id>copy-resources</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>../NoyauExplorer/src/main/webapp/WEB-INF/processes</outputDirectory>
+ <resources>
+ <resource>
+ <directory>deployment</directory>
+ <includes>
+ <include>**/*.bar</include>
+ </includes>
+ </resource>
+ </resources>
+ <overwrite>true</overwrite>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <repository>
+ <id>Alfresco Maven Repository</id>
+ <url>https://maven.alfresco.com/nexus/content/groups/public/</url>
+ </repository>
+ <repository>
+ <id>Apache OpenCMIS Repository</id>
+ <name>Public Apache OpenCMIS Repository</name>
+ <url>https://repository.apache.org/</url>
+ </repository>
+ <repository>
+ <id>Novaforge Bull</id>
+ <name>Repository Novaforge Bull pour VIDOC</name>
+ <url>https://novaforge.bull.com/nexus-default/nexus/content/repositories/mairiedebordeaux_nexusrepo_release</url>
+ </repository>
+ <repository>
+ <id>vaadin-addons</id>
+ <url>http://maven.vaadin.com/vaadin-addons</url>
+ </repository>
+ </repositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-engine</artifactId>
+ <version>5.13</version>
+ </dependency>
+ <dependency>
+ <groupId>org.alfresco</groupId>
+ <artifactId>alfresco-web-service-client</artifactId>
+ <version>4.2.e</version>
+ </dependency>
+ <dependency>
+ <groupId>org.alfresco.cmis.client</groupId>
+ <artifactId>alfresco-opencmis-extension</artifactId>
+ <version>0.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.chemistry.opencmis</groupId>
+ <artifactId>chemistry-opencmis-client-api</artifactId>
+ <version>0.10.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.chemistry.opencmis</groupId>
+ <artifactId>chemistry-opencmis-client-impl</artifactId>
+ <version>0.10.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.chemistry.opencmis</groupId>
+ <artifactId>chemistry-opencmis-client-bindings</artifactId>
+ <version>0.10.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.chemistry.opencmis</groupId>
+ <artifactId>chemistry-opencmis-commons-api</artifactId>
+ <version>0.10.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.chemistry.opencmis</groupId>
+ <artifactId>chemistry-opencmis-commons-impl</artifactId>
+ <version>0.10.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.sun.xml.ws</groupId>
+ <artifactId>jaxws-rt</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>org.springframework.context</artifactId>
+ <version>3.1.2.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>iParapheurClient</artifactId>
+ <version>${project.parent.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>iXbusClient</artifactId>
+ <version>${project.parent.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>fr.bull.itext</groupId>
+ <artifactId>itextpdf</artifactId>
+ <version>5.4.4</version>
+ </dependency>
+ <dependency>
+ <groupId>fr.bull.itext</groupId>
+ <artifactId>itext-pdfa</artifactId>
+ <version>5.4.4</version>
+ </dependency>
+ <dependency>
+ <groupId>fr.bull.itext</groupId>
+ <artifactId>itext-xtra</artifactId>
+ <version>5.4.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.vaadin.addons</groupId>
+ <artifactId>customfield</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin</artifactId>
+ <version>6.8.8</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.mchange</groupId>
+ <artifactId>c3p0</artifactId>
+ <version>0.9.2.1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
--- /dev/null
+package fr.mbdx.alfresco;
+
+import java.rmi.RemoteException;
+
+import org.alfresco.webservice.content.Content;
+import org.alfresco.webservice.repository.RepositoryFault;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import fr.mbdx.util.Tools;
+
+/**
+ * Classe utilisant le webservice Alfresco pour la création d'un dossier
+ */
+@Component("alfresco.service")
+public class AlfrescoService {
+
+ private final Logger log = Logger.getLogger(getClass());
+
+ private @Value("${alfresco.url}")
+ String url;
+ private @Value("${alfresco.username}")
+ String username;
+ private @Value("${alfresco.password}")
+ String password;
+ private @Value("${alfresco.path.pc}")
+ String path;
+
+ /**
+ * Méthode pour créer un dossier dans alfresco
+ *
+ * @param path
+ * @param name
+ * @return
+ */
+ public String createDossier(String name) {
+ String res = null;
+ SasDepose sasDepot = new SasDepose(username, password, url);
+
+ try {
+ res = sasDepot.createFolder(path, name);
+ } catch (RepositoryFault e) {
+ log.error("Erreur lors de la création du répertoire " + Tools.getMessage(e));
+ } catch (RemoteException e) {
+ log.error("Erreur lors de la création du répertoire " + Tools.getMessage(e));
+ }
+ return res;
+ }
+
+ public String getFolderURL(String path, String name) {
+ return url;
+ }
+
+ /**
+ * Création d'un message
+ *
+ * @param path
+ * @param name
+ * @param message
+ * @throws Exception
+ */
+ public String createMessage(String numPC, String message, String name) throws Exception {
+ String res = null;
+ SasDepose sasDepot = new SasDepose(username, password, url);
+
+ try {
+ String id = sasDepot.createFolder(path, numPC);
+ res = sasDepot.createMessage(id, message, name);
+ } catch (RepositoryFault e) {
+ log.error("Erreur lors de la création du répertoire " + Tools.getMessage(e));
+ } catch (RemoteException e) {
+ log.error("Erreur lors de la création du message " + Tools.getMessage(e));
+ }
+ return res;
+
+ }
+
+ public Content getNodeContent(String nodeRef) throws Exception {
+ Content content = null;
+ SasDepose sasDepot = new SasDepose(username, password, url);
+
+ try {
+ content = sasDepot.getNodeContent(nodeRef);
+ } catch (RepositoryFault e) {
+ log.error("Erreur lors de la création du répertoire " + Tools.getMessage(e));
+ } catch (RemoteException e) {
+ log.error("Erreur lors de la lecture du contenu " + Tools.getMessage(e));
+ }
+
+ return content;
+ }
+
+ /**
+ * Cette méthode écrit du contenu binaire dans l'entrepôt à la place de l'ancien contenu du noeud.
+ *
+ * @param nodeRef
+ * Identifiant du noeud
+ * @param content
+ * Contenu à envoyer au format binaire
+ * @param mimeType
+ * Type MIME du contenu à envoyer
+ * @param encoding
+ * Encodage du contenu à envoyer
+ * @throws Exception
+ */
+ public void setNodeContent(String nodeRef, byte[] content, String mimeType, String encoding) throws Exception {
+ SasDepose sasDepot = new SasDepose(username, password, url);
+
+ try {
+ sasDepot.setNodeContent(nodeRef, content, mimeType, encoding);
+ } catch (RepositoryFault e) {
+ log.error("Erreur lors de la création du répertoire " + Tools.getMessage(e));
+ } catch (RemoteException e) {
+ log.error("Erreur lors de l'écriture du contenu " + Tools.getMessage(e));
+ }
+ }
+
+}
--- /dev/null
+package fr.mbdx.alfresco;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.alfresco.webservice.content.Content;
+import org.alfresco.webservice.content.ContentServiceSoapBindingStub;
+import org.alfresco.webservice.repository.UpdateResult;
+import org.alfresco.webservice.types.CML;
+import org.alfresco.webservice.types.CMLCreate;
+import org.alfresco.webservice.types.ContentFormat;
+import org.alfresco.webservice.types.NamedValue;
+import org.alfresco.webservice.types.Node;
+import org.alfresco.webservice.types.ParentReference;
+import org.alfresco.webservice.types.Predicate;
+import org.alfresco.webservice.types.Reference;
+import org.alfresco.webservice.types.Store;
+import org.alfresco.webservice.util.AuthenticationUtils;
+import org.alfresco.webservice.util.Constants;
+import org.alfresco.webservice.util.Utils;
+import org.alfresco.webservice.util.WebServiceFactory;
+import org.apache.log4j.Logger;
+
+/**
+ * Classe pour effectuer les des dépôts dans Alfresco. Execute le webservice
+ *
+ */
+public class SasDepose {
+
+ private final Logger log = Logger.getLogger(getClass());
+
+ private final String user;
+ private final String password;
+ private final String url;
+
+ /** The store used throughout the samples */
+ public static final Store STORE = new Store(Constants.WORKSPACE_STORE, "SpacesStore");
+ public static final String ASSOC_CONTAINS = "{http://www.alfresco.org/model/content/1.0}contains";
+ private static final String VDB_URI = "http://wwww.bordeaux.fr/model/noyau";
+
+ public boolean debug_mode = false;
+
+ /**
+ * Constructeur pour modifier les paramètres de connexion
+ */
+ public SasDepose(String user, String password, String url) {
+ this.user = user;
+ this.password = password;
+ this.url = url;
+ }
+
+ /**
+ * Méthode pour déposer un fichier dans Alfresco. Attention à la taille du fichier.
+ *
+ * @param fileName
+ * Chemin local d'un fichier
+ * @param params
+ * Table de paramètre pour le dépôt.
+ * @param path
+ * Chemin dans alfresco
+ * @param mimeType
+ * @throws Exception
+ */
+ public void depose(String fileName, Map<String, String> params, String path, String mimeType) throws Exception {
+ // initialisation connexion
+ File f = new File(fileName);
+ FileInputStream fis = new FileInputStream(f);
+ try {
+ WebServiceFactory.setEndpointAddress(url);
+ AuthenticationUtils.startSession(user, password);
+ ContentServiceSoapBindingStub contentService = WebServiceFactory.getContentService();
+ log.debug("Initialisation OK [" + url + "] : " + user + "/" + password);
+ // lecture du fichier ou que c'est pas terrible ça !
+ long l = f.length();
+ int t = new Long(l).intValue();
+ byte[] fileContent = new byte[t];
+ fis.read(fileContent);
+ log.debug("Lecture du fichier OK [" + t + "]");
+ String nameGed = f.getName();
+ // ajout d'un timestamp pour pourvoir lancer le doc plusieurs fois.
+ if (debug_mode) {
+ nameGed = new Date().getTime() + "_" + nameGed;
+ }
+
+ // depot du fichier
+ Reference newContentReference = createNewContent(contentService, nameGed, fileContent, path, params, mimeType);
+ Store store = newContentReference.getStore();
+ String id = newContentReference.getUuid();
+ String pathRetour = newContentReference.getPath();
+ log.debug("Dépôt du fichier OK [" + newContentReference + "] : " + store.getScheme() + "://" + store.getAddress() + "/" + id + " "
+ + pathRetour);
+ AuthenticationUtils.endSession();
+ } finally {
+ fis.close();
+ }
+ }
+
+ /**
+ *
+ * @param contentService
+ * @param name
+ * @param bytes
+ * @param path
+ * @param param
+ * @param mimeType
+ * @return
+ * @throws Exception
+ */
+ protected Reference createNewContent(ContentServiceSoapBindingStub contentService, String name, byte[] bytes, String idRep,
+ Map<String, String> param, String mimeType) throws Exception {
+
+ // Création de la référence vers le répertoire de dépôt.
+ ParentReference parentReference = new ParentReference(STORE, idRep, null, ASSOC_CONTAINS, "{" + Constants.NAMESPACE_CONTENT_MODEL + "}"
+ + name);
+
+ // Define the content format for the content we are adding
+ ContentFormat contentFormat = new ContentFormat(mimeType, "UTF-8");
+ List<NamedValue> vals = new ArrayList<NamedValue>();
+ vals.add(Utils.createNamedValue(Constants.PROP_NAME, name));
+ Set<Entry<String, String>> set = param.entrySet();
+ for (Entry<String, String> e : set) {
+ vals.add(Utils.createNamedValue(Constants.createQNameString(VDB_URI, e.getKey()), e.getValue()));
+ }
+ NamedValue[] properties = vals.toArray(new NamedValue[vals.size()]);
+ CMLCreate create = new CMLCreate("1", parentReference, null, null, null, Constants.TYPE_CONTENT, properties);
+ CML cml = new CML();
+ cml.setCreate(new CMLCreate[] { create });
+ UpdateResult[] result = WebServiceFactory.getRepositoryService().update(cml);
+
+ Reference newContentNode = result[0].getDestination();
+ Content content = contentService.write(newContentNode, Constants.PROP_CONTENT, bytes, contentFormat);
+
+ // Get a reference to the newly created content
+ return content.getNode();
+ }
+
+ /**
+ * Création d'un répertoire dans Alfresco
+ *
+ * @param path
+ * @param name
+ * @return
+ * @throws RemoteException
+ */
+ public String createFolder(String path, String name) throws RemoteException {
+ WebServiceFactory.setEndpointAddress(url);
+ AuthenticationUtils.startSession(user, password);
+ String uuid = null;
+ Reference folder = new Reference(STORE, null, path + "/cm:" + name);
+ try {
+ // Check to see if the sample folder has already been created or not
+ Node[] res = WebServiceFactory.getRepositoryService().get(new Predicate(new Reference[] { folder }, STORE, null));
+ if (res != null && res.length > 0) {
+ uuid = res[0].getReference().getUuid();
+ }
+ } catch (Exception exception) {
+ // Create parent reference to company home
+ ParentReference parentReference = new ParentReference(STORE, null, path, Constants.ASSOC_CONTAINS, Constants.createQNameString(
+ Constants.NAMESPACE_CONTENT_MODEL, name));
+
+ // Create folder
+ NamedValue[] properties = new NamedValue[] { Utils.createNamedValue(Constants.PROP_NAME, name) };
+ CMLCreate create = new CMLCreate("1", parentReference, null, null, null, Constants.TYPE_FOLDER, properties);
+ CML cml = new CML();
+ cml.setCreate(new CMLCreate[] { create });
+ UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml);
+
+ if (results != null && results.length > 0) {
+ Reference dest = results[0].getDestination();
+ uuid = dest.getUuid();
+ }
+ AuthenticationUtils.endSession();
+ }
+ return uuid;
+
+ }
+
+ /**
+ * Création d'un message dans Alfresco
+ *
+ * @param path
+ * @param name
+ * @param message
+ * @param fileName
+ * @return
+ * @throws Exception
+ */
+ public String createMessage(String idRep, String message, String fileName) throws Exception {
+ WebServiceFactory.setEndpointAddress(url);
+ AuthenticationUtils.startSession(user, password);
+ ContentServiceSoapBindingStub contentService = WebServiceFactory.getContentService();
+ log.debug("Initialisation OK [" + url + "] : " + user + "/" + password);
+ // lecture du fichier ou que c'est pas terrible ça !
+
+ byte[] fileContent = message.getBytes("UTF-8");
+ String nameGed = fileName + ".txt";
+
+ String mimeType = "text/plain";
+ Map<String, String> params = new HashMap<String, String>();
+ // depot du fichier
+ Reference newContentReference = createNewContent(contentService, nameGed, fileContent, idRep, params, mimeType);
+ Store store = newContentReference.getStore();
+ String id = newContentReference.getUuid();
+ String pathRetour = newContentReference.getPath();
+ log.debug("Dépôt du fichier OK [" + newContentReference + "] : " + store.getScheme() + "://" + store.getAddress() + "/" + id + " "
+ + pathRetour);
+ AuthenticationUtils.endSession();
+ return pathRetour;
+ }
+
+ /**
+ * Récupération du contenu d'un noeud Alfresco en fonction de son identifiant
+ *
+ * @param nodeRef
+ * @return Content
+ * @throws Exception
+ */
+ public Content getNodeContent(String nodeRef) throws Exception {
+ Content content = null;
+
+ WebServiceFactory.setEndpointAddress(url);
+ AuthenticationUtils.startSession(user, password);
+ ContentServiceSoapBindingStub contentService = WebServiceFactory.getContentService();
+ log.debug("Initialisation OK [" + url + "] : " + user + "/" + password);
+
+ Reference reference = new Reference(STORE, nodeRef, null);
+
+ Content[] readResult = contentService.read(new Predicate(new Reference[] { reference }, STORE, null), Constants.PROP_CONTENT);
+
+ if (readResult != null && readResult.length > 0) {
+ content = readResult[0];
+ }
+
+ return content;
+ }
+
+ /**
+ * Cette méthode écrit du contenu binaire dans l'entrepôt à la place de l'ancien contenu du noeud.
+ *
+ * @param nodeRef
+ * Identifiant du noeud
+ * @param content
+ * Contenu à envoyer au format binaire
+ * @param mimeType
+ * Type MIME du contenu à envoyer
+ * @param encoding
+ * Encodage du contenu à envoyer
+ * @throws Exception
+ */
+ public void setNodeContent(String nodeRef, byte[] content, String mimeType, String encoding) throws Exception {
+ WebServiceFactory.setEndpointAddress(url);
+ AuthenticationUtils.startSession(user, password);
+ ContentServiceSoapBindingStub contentService = WebServiceFactory.getContentService();
+ log.debug("Initialisation OK [" + url + "] : " + user + "/" + password);
+
+ Reference reference = new Reference(STORE, nodeRef, null);
+
+ Content newReference = contentService.write(reference, Constants.PROP_CONTENT, content, new ContentFormat(mimeType, encoding));
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.explorer.form;
+
+import org.activiti.engine.form.AbstractFormType;
+
+public class LinkFormType extends AbstractFormType {
+
+ public String getName() {
+ return "link";
+ }
+
+ public String getMimeType() {
+ return "plain/text";
+ }
+
+ public Object convertFormValueToModelValue(String propertyValue) {
+ return propertyValue;
+ }
+
+ public String convertModelValueToFormValue(Object modelValue) {
+ return (String) modelValue;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.explorer.form;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.form.AbstractFormType;
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+import fr.mbdx.service.VidocIdentityService;
+import fr.mbdx.util.PersonInfo;
+
+public class VisaAssigneeFormType extends AbstractFormType implements ApplicationContextAware {
+
+ private static ApplicationContext context = null;
+
+ protected Map<String, String> values = null;
+
+ public String getName() {
+ return "visaassignee";
+ }
+
+ public String getMimeType() {
+ return "plain/text";
+ }
+
+ @Override
+ public Object getInformation(String key) {
+ if (key.equals("values")) {
+ return getValues();
+ }
+ return null;
+ }
+
+ public Map<String, String> getValues() {
+ if (values == null) {
+ initValues();
+ }
+ return values;
+ }
+
+ public void initValues() {
+ values = new HashMap<String, String>();
+ VidocIdentityService identityService = (VidocIdentityService) context.getBean("vidocIdentityService");
+ List<PersonInfo> lstInfo = identityService.getPersonInfoList("URBANISME_GESTION", "permis");
+ for (PersonInfo info: lstInfo) {
+ String key = info.getUserName();
+ String value = info.getFirstName() + " " + info.getLastName();
+ values.put(key, value);
+ }
+ }
+
+ @Override
+ public Object convertFormValueToModelValue(String propertyValue) {
+ validateValue(propertyValue);
+ return propertyValue;
+ }
+
+ @Override
+ public String convertModelValueToFormValue(Object modelValue) {
+ if(modelValue != null) {
+ if(!(modelValue instanceof String)) {
+ throw new ActivitiException("Model value should be a String");
+ }
+ validateValue((String) modelValue);
+ }
+ return (String) modelValue;
+ }
+
+ protected void validateValue(String value) {
+ if(value != null) {
+ if(values != null && !values.containsKey(value)) {
+ throw new ActivitiException("Invalid value for visaassignee form property: " + value);
+ }
+ }
+ }
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext)
+ throws BeansException {
+ context = applicationContext;
+ }
+}
--- /dev/null
+package fr.mbdx.explorer.ui;
+
+import org.vaadin.addon.customfield.CustomField;
+
+import com.vaadin.terminal.Resource;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Link;
+
+public class LinkField extends CustomField {
+
+ private static final long serialVersionUID = -315048061031033300L;
+
+ public LinkField(String caption, Resource resource) {
+ HorizontalLayout layout = new HorizontalLayout();
+ Link link = new Link(caption, resource);
+ link.setTargetName("_blank");
+ link.setStyleName("link-field");
+ layout.addComponent(link);
+ setCompositionRoot(layout);
+ }
+
+ @Override
+ public Class<?> getType() {
+ return String.class;
+ }
+}
\ No newline at end of file
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.explorer.ui.form;
+
+import org.activiti.engine.form.FormProperty;
+import org.activiti.explorer.Messages;
+import org.activiti.explorer.ui.form.AbstractFormPropertyRenderer;
+
+import com.vaadin.terminal.ExternalResource;
+import com.vaadin.terminal.Resource;
+import com.vaadin.ui.Field;
+
+import fr.mbdx.explorer.form.LinkFormType;
+import fr.mbdx.explorer.ui.LinkField;
+
+public class LinkFormPropertyRenderer extends AbstractFormPropertyRenderer {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 8048907484943663629L;
+
+ public LinkFormPropertyRenderer() {
+ super(LinkFormType.class);
+ }
+
+ @Override
+ public Field getPropertyField(FormProperty formProperty) {
+ Resource resource = null;
+ if (formProperty.getValue() != null) {
+ resource = new ExternalResource(formProperty.getValue());
+ }
+ String label = getPropertyLabel(formProperty);
+ LinkField linkField = new LinkField(label, resource);
+ linkField.setRequired(formProperty.isRequired());
+ linkField.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, label));
+ linkField.setEnabled(formProperty.isWritable());
+ return linkField;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.explorer.ui.form;
+
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.activiti.engine.form.FormProperty;
+import org.activiti.explorer.ui.form.AbstractFormPropertyRenderer;
+import org.activiti.explorer.Messages;
+
+import com.vaadin.ui.ComboBox;
+import com.vaadin.ui.Field;
+
+import fr.mbdx.explorer.form.VisaAssigneeFormType;
+
+public class VisaAssigneeFormTypeRenderer extends AbstractFormPropertyRenderer {
+
+ private static final long serialVersionUID = -5147903179937351394L;
+
+ public VisaAssigneeFormTypeRenderer() {
+ super(VisaAssigneeFormType.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Field getPropertyField(FormProperty formProperty) {
+ ComboBox comboBox = new ComboBox(getPropertyLabel(formProperty));
+ comboBox.setRequired(formProperty.isRequired());
+ comboBox.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, getPropertyLabel(formProperty)));
+ comboBox.setEnabled(formProperty.isWritable());
+
+ Map<String, String> values = (Map<String, String>) formProperty.getType().getInformation("values");
+ if (values != null) {
+ for (Entry<String, String> enumEntry : values.entrySet()) {
+ // Add value and label (if any)
+ comboBox.addItem(enumEntry.getKey());
+ if (enumEntry.getValue() != null) {
+ comboBox.setItemCaption(enumEntry.getKey(), enumEntry.getValue());
+ }
+ }
+ }
+ return comboBox;
+ }
+}
--- /dev/null
+package fr.mbdx.parapheur;
+
+import org.activiti.engine.delegate.DelegateExecution;
+
+import fr.mbdx.task.TaskSpecifique;
+
+/**
+ * Classe mère pour les taches du processus parapheur. Pas sur que ce niveau soit utile ?
+ *
+ */
+public abstract class AbstractSignatureTask extends TaskSpecifique {
+
+ protected String nodeRef;
+
+ @Override
+ protected void extractParams(DelegateExecution execution) {
+ nodeRef = (String) execution.getVariable("nodeRef");
+
+ // TODO récupération des paramètre communs
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.activiti.engine.impl.util.json.JSONArray;
+import org.activiti.engine.impl.util.json.JSONObject;
+
+/**
+ * Bean encapsulant quelques propriétés utiles d'un bureau parapheur
+ * (lues en passant directement par CMIS et l'API REST d'Alfresco et non le webservice)
+ */
+public class Bureau {
+ private String id = null;
+ private String name = null;
+ private String title = null;
+ private String description = null;
+ private String delegataire = null;
+ private List<String> owners = new ArrayList<String>();
+
+ public Bureau() {
+
+ }
+
+ /**
+ * Permet d'initialiser ce bureau à partir de l'objet JSON suivant :
+ * {
+ * "id" : "workspace://SpacesStore/955655b1-c95e-4542-a6a4-93ef8aa14b8a",
+ * "name" : "Le Maire",
+ * "title" : "Bureau de Monsieur le Maire",
+ * "description" : "Bureau de Monsieur le Maire",
+ * "delegataire" : "",
+ * "owners" :
+ * [
+ *
+ * "Administrator"
+ *
+ * ]
+ * }
+ *
+ * @param json
+ */
+ public Bureau(JSONObject json) {
+ this.id = json.getString("id");
+ this.name = json.getString("name");
+ this.title = json.getString("title");
+ this.description = json.getString("description");
+ this.delegataire = json.getString("delegataire");
+ JSONArray array = json.getJSONArray("owners");
+ for (int i = 0; i < array.length(); ++i) {
+ this.owners.add(array.getString(i));
+ }
+ }
+
+ /**
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * @param id the id to set
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the title
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * @param title the title to set
+ */
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ /**
+ * @return the description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * @param description the description to set
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
+ * @return the delegataire
+ */
+ public String getDelegataire() {
+ return delegataire;
+ }
+
+ /**
+ * @param delegataire the delegataire to set
+ */
+ public void setDelegataire(String delegataire) {
+ this.delegataire = delegataire;
+ }
+
+ /**
+ * @return the owners
+ */
+ public List<String> getOwners() {
+ return owners;
+ }
+
+ /**
+ * @param owners the owners to set
+ */
+ public void setOwners(List<String> owners) {
+ this.owners = owners;
+ }
+
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur;
+
+import org.apache.chemistry.opencmis.client.api.QueryResult;
+
+/**
+ * Bean encapsulant quelques propriétés utiles d'un dossier parapheur
+ * (lues en passant directement par CMIS et l'API REST d'Alfresco et non le webservice)
+ */
+public class Dossier {
+ private String name = null;
+ private String nodeRef = null;
+ private String path = null;
+ private Bureau bureau = null;
+
+ public Dossier() {
+
+ }
+
+ /**
+ * Permet d'initialiser ce dossier à partir d'un résultat de requête CMIS
+ *
+ * @param res
+ */
+ public Dossier(QueryResult res) {
+ this.name = res.getPropertyValueByQueryName("cmis:name");
+ this.nodeRef = res.getPropertyValueByQueryName("cmis:objectId");
+ this.path = res.getPropertyValueByQueryName("cmis:path");
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the nodeRef
+ */
+ public String getNodeRef() {
+ return nodeRef;
+ }
+
+ /**
+ * @param nodeRef the nodeRef to set
+ */
+ public void setNodeRef(String nodeRef) {
+ this.nodeRef = nodeRef;
+ }
+
+ /**
+ * @return the path
+ */
+ public String getPath() {
+ return path;
+ }
+
+ /**
+ * @param path the path to set
+ */
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ /**
+ * @return the bureau
+ */
+ public Bureau getBureau() {
+ return bureau;
+ }
+
+ /**
+ * @param bureau the bureau to set
+ */
+ public void setBureau(Bureau bureau) {
+ this.bureau = bureau;
+ }
+}
+
--- /dev/null
+package fr.mbdx.parapheur;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.activiti.engine.impl.util.json.JSONException;
+import org.activiti.engine.impl.util.json.JSONObject;
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.chemistry.opencmis.client.api.Folder;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.parapheur.client.Statut;
+import fr.mbdx.service.ServiceCMIS;
+import fr.mbdx.service.ServiceRestAlfresco;
+
+/**
+ * Tache de cloture d'une demande de signature.
+ *
+ */
+// @Component("clotureParapheur")
+public class TaskClotureParapheur implements JavaDelegate {
+ protected static Logger log = Logger.getLogger(TaskClotureParapheur.class);
+
+ public static DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy 'à' HH:mm");
+ public static String SPACES_STORE_PREFIX = "workspace://SpacesStore/";
+
+ protected ServiceCMIS serviceCMIS;
+ protected ServiceRestAlfresco serviceRestAlfresco;
+
+ @Override
+ public void execute(DelegateExecution execution) {
+
+ // Extract param
+ String pdfNodeRef = (String) execution.getVariable("pdfNodeRef");
+ final String nodeRef = (String) execution.getVariable("nodeRef");
+ final byte[] contentValue = (byte[]) execution.getVariable("contentValue");
+ final String contentType = (String) execution.getVariable("contentType");
+ final String dossierTitre = (String) execution.getVariable("dossierTitre");
+ final String pdfName = (String) execution.getVariable("pdfName");
+ final String annotationPrivee = (String) execution.getVariable("annotationPrivee");
+ final String annotationPublique = (String) execution.getVariable("annotationPublique");
+ final byte[] fichierPESContent = (byte[]) execution.getVariable("fichierPESContent");
+ final String fichierPESContentType = (String) execution.getVariable("fichierPESContentType");
+ final byte[] signatureDocPrincipalContent = (byte[]) execution.getVariable("signatureDocPrincipalContent");
+ final String signatureDocPrincipalContentType = (String) execution.getVariable("signatureDocPrincipalContentType");
+ final String xpathSignatureXML = (String) execution.getVariable("xpathSignatureXML");
+ String statutDossier = (String) execution.getVariable("statutDossier");
+ final String nomSignataire = (String) execution.getVariable("nomSignataire");
+ final String fonctionSignataire = (String) execution.getVariable("fonctionSignataire");
+ final String emetteur = (String) execution.getVariable("emetteur");
+ final String typeGed = (String) execution.getVariable("typeGed");
+
+ log.debug("Cloture d'une demande au parapheur");
+ try {
+ serviceCMIS.createSession();
+
+ AlfrescoDocument doc = serviceCMIS.getDocument(nodeRef);
+ log.debug("Document original récupéré : " + doc.getName());
+
+ // TODO vérifier que ce getParents renvoie bien le dossier parent en premier
+ Folder parent = doc.getParents().get(0);
+ log.debug("Parent du document : " + parent.getName());
+
+ // Enregistrement du visuel PDF
+ if (!statutDossier.equals("RejetSignataire")) {
+ AlfrescoDocument newDoc = null;
+ if (pdfNodeRef != null) {
+ log.debug("Récupération du visuel PDF Alfresco");
+ newDoc = serviceCMIS.getDocument(pdfNodeRef);
+ log.debug("Nom du visuel PDF : " + newDoc.getName());
+ InputStream stream = new ByteArrayInputStream(contentValue);
+ ContentStream contentStream = serviceCMIS.createContentStream(pdfName, contentValue.length, contentType, stream);
+ newDoc.setContentStream(contentStream, true);
+ log.debug("Enregistrement du PDF : " + newDoc.getName());
+ } else {
+ log.debug("Enregistrement du visuel PDF iParapheur");
+ newDoc = serviceCMIS.createDocument(parent, pdfName, contentValue, contentType);
+ pdfNodeRef = newDoc.getId();
+ log.debug("Enregistrement du visuel PDF iParapheur -> Fin()");
+ }
+ }
+
+ String fichierPESRef = null;
+ if (fichierPESContent != null) {
+ String nomFichierPES = dossierTitre;
+ if (typeGed.equals("delib")) {
+ nomFichierPES = nomFichierPES + "_fichier PES.xml";
+ } else {
+ nomFichierPES = nomFichierPES + "_fichier PES publicité.xml";
+ }
+ AlfrescoDocument fichierPES = serviceCMIS.createDocument(parent, nomFichierPES, fichierPESContent, fichierPESContentType);
+ fichierPESRef = fichierPES.getId();
+ }
+
+ String signatureDocPrincipalRef = null;
+ if (signatureDocPrincipalContent != null) {
+ log.debug("Création du fichier de signature");
+ String nomFichierSignature = dossierTitre;
+ if (typeGed.equalsIgnoreCase("publicites")) {
+ nomFichierSignature = nomFichierSignature + "_publicité";
+ }
+ if (signatureDocPrincipalContentType.contains("zip")) {
+ nomFichierSignature = nomFichierSignature + ".zip";
+ } else {
+ nomFichierSignature = nomFichierSignature + ".p7s";
+ }
+ AlfrescoDocument fichierSignature = serviceCMIS.createDocument(parent, nomFichierSignature, signatureDocPrincipalContent,
+ signatureDocPrincipalContentType);
+ signatureDocPrincipalRef = fichierSignature.getId();
+ log.debug("Création du fichier de signature -> Fin()");
+ }
+
+ if (sendToRepository(nodeRef, pdfNodeRef, statutDossier, nomSignataire, fonctionSignataire, emetteur, typeGed, fichierPESRef,
+ signatureDocPrincipalRef, xpathSignatureXML, annotationPublique, annotationPrivee)) {
+ log.debug("L'archivage du dossier de signature s'est correctement effectué sur l'entrepôt de documents");
+ }
+ } catch (Exception e) {
+ log.error("Erreur au cours du renvoi du contenu du document signé à Alfresco pour le document " + nodeRef);
+ log.error(e.getMessage(), e);
+ }
+ }
+
+ boolean sendToRepository(String nodeRef, String pdfNodeRef, String statutDossier, String nomSignataire, String fonctionSignataire,
+ String emetteur, String typeGed, String fichierPESRef, String signatureDocPrincipalRef, String xpathSignatureXML,
+ String annotationPublique, String annotationPrivee) {
+ boolean result = false;
+
+ final String req = "/wcs/fr/mbdx/noyau/signature/archive";
+
+ Map<String, String> param = new HashMap<String, String>();
+ param.put("nodeRef", getObjectKey(nodeRef));
+ param.put("pdfRef", getObjectKey(pdfNodeRef));
+ statutDossier = Statut.RejetSignataire.value().equals(statutDossier) ? Statut.Signe.value() : statutDossier; // FIXME A SUPPRIMER
+ param.put("statutDossier", statutDossier);
+ param.put("nomSignataire", nomSignataire);
+ param.put("fonctionSignataire", fonctionSignataire);
+ param.put("emetteur", emetteur);
+ param.put("typeFlux", typeGed);
+ if (fichierPESRef != null) {
+ param.put("fichierPESRef", getObjectKey(fichierPESRef));
+ }
+ if (signatureDocPrincipalRef != null) {
+ param.put("fichierSignatureRef", getObjectKey(signatureDocPrincipalRef));
+ }
+ if (xpathSignatureXML != null) {
+ param.put("xpathSignatureXML", xpathSignatureXML);
+ }
+ if (annotationPublique != null) {
+ param.put("annotationPublique", annotationPublique);
+ }
+ if (annotationPrivee != null) {
+ param.put("annotationPrivee", annotationPrivee);
+ }
+
+ log.debug("Appel au webscript Alfresco d'archivage");
+ JSONObject json = serviceRestAlfresco.get(req, param);
+ try {
+ String res = json.getString("result");
+ result = (res != null && res.equalsIgnoreCase("ok"));
+ } catch (JSONException e) {
+ log.error("Appel au webscript Alfresco d'archivage -> Echec !!!!");
+ log.error(e.getMessage(), e);
+ }
+ log.debug("Appel au webscript Alfresco d'archivage -> Fin()");
+ if (!result) {
+ log.error("Une erreur a eu lieu au cours de l'archivage du dossier de signature.");
+ }
+
+ return result;
+ }
+
+ public String getObjectKey(String id) {
+ if (id == null) {
+ return null;
+ } else if (id.startsWith(SPACES_STORE_PREFIX)) {
+ return id;
+ } else {
+ return SPACES_STORE_PREFIX + id;
+ }
+ }
+
+ /**
+ * @param serviceCMIS
+ * the serviceCMIS to set
+ */
+ public void setServiceCMIS(ServiceCMIS serviceCMIS) {
+ this.serviceCMIS = serviceCMIS;
+ }
+
+ /**
+ * @param serviceRestAlfresco
+ * the serviceRestAlfresco to set
+ */
+ public void setServiceRestAlfresco(ServiceRestAlfresco serviceRestAlfresco) {
+ this.serviceRestAlfresco = serviceRestAlfresco;
+ }
+}
--- /dev/null
+package fr.mbdx.parapheur;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.Expression;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.parapheur.client.Annexe;
+import fr.mbdx.parapheur.client.Client;
+import fr.mbdx.parapheur.client.Content;
+import fr.mbdx.parapheur.client.Dossier;
+import fr.mbdx.parapheur.client.impl.AnnexeCfxImpl;
+import fr.mbdx.parapheur.client.impl.ContentCfxImpl;
+import fr.mbdx.parapheur.client.impl.DossierCxfImpl;
+import fr.mbdx.service.ParapheurService;
+import fr.mbdx.service.ServiceCMIS;
+import fr.mbdx.service.ServicePDF;
+import fr.mbdx.util.Tools;
+
+/**
+ * Tache de demande de signature au parapheur.
+ *
+ */
+// @Component("envoiParapheur")
+public class TaskEnvoiParapheur implements JavaDelegate {
+
+ // Extensions supportées par le parapheur (sinon conversion PDF nécessaire)
+ private static String[] EXTENSIONS_STANDARD = { "PDF", "TXT", "RTF", "DOC", "XLS", "PPT", "ODT", "ODS", "ODP", "JPG", "PNG", "GIF" };
+
+ protected ServiceCMIS serviceCMIS = null;
+
+ protected Client clientParapheur = null;
+
+ protected ServicePDF servicePDF;
+
+ protected ParapheurService parapheurService;
+
+ static protected Logger log = Logger.getLogger(TaskEnvoiParapheur.class);
+
+ private final Expression typeTechnique = null;
+ private final Expression sousType = null;
+ private final Expression visibilite = null;
+
+ boolean isStandardExtension(String name) {
+ String extension = getExtension(name);
+ for (int i = 0; i < EXTENSIONS_STANDARD.length; ++i) {
+ if (EXTENSIONS_STANDARD[i].equalsIgnoreCase(extension)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ String getExtension(String name) {
+ String ext = name;
+ int dotIndex = ext.lastIndexOf('.');
+ if (dotIndex >= 0) {
+ ext = ext.substring(dotIndex + 1);
+ }
+ return ext;
+ }
+
+ @Override
+ public void execute(DelegateExecution execution) {
+
+ // Ajout instruction synchronized pour empêcher absolument que deux threads accédent
+ // en même temps à ce bout de code pour éviter un deadlock du côté du parapheur
+
+ synchronized (TaskEnvoiParapheur.class) {
+
+ final byte[] contentValue;
+ final String contentType;
+
+ String nodeName = null;
+ String xpathSignatureXML = null;
+ byte[] visuelPdfContentValue = null;
+ List<String> listeAnnexes = null;
+ String parapheurPageURL = null;
+ String nomSignataire = null;
+ String fonctionSignataire = null;
+ String codeRetour = null;
+ String messageRetour = null;
+ String pdfName = null;
+ String pdfNodeRef = null;
+
+ // 1. ExtractParams depuis l'exécution courante
+ final String nodeRef = (String) execution.getVariable("nodeRef");
+ final String dossierId = (String) execution.getVariable("dossierId");
+ nodeName = (String) execution.getVariable("nodeName");
+ contentType = (String) execution.getVariable("contentType");
+
+ final AlfrescoDocument doc = serviceCMIS.getDocument(nodeRef);
+ final ContentStream contentStream = doc.getContentStream();
+ InputStream inputStream = contentStream.getStream();
+
+ final String dossierTitre = (String) execution.getVariable("dossierTitre");
+ pdfName = dossierTitre + "_impression dossier iParapheur.pdf";
+ if (!isStandardExtension(nodeName)) {
+ log.debug("Création du PDF de visualisation " + pdfName);
+ pdfNodeRef = servicePDF.transformToPdf(nodeRef, pdfName);
+ if (pdfNodeRef != null) {
+ try {
+ log.debug("Récupération du PDF de visualisation " + pdfNodeRef);
+ AlfrescoDocument pdfDoc = serviceCMIS.getDocument(pdfNodeRef);
+ inputStream = pdfDoc.getContentStream().getStream();
+ visuelPdfContentValue = Tools.extract(inputStream);
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ }
+ } else {
+ log.warn("Le PDF de visualisation n'a pas pu être créé.");
+ }
+ }
+
+ xpathSignatureXML = (String) execution.getVariable("xpathSignatureXML");
+ listeAnnexes = (List<String>) execution.getVariable("listeAnnexes");
+
+ // 2. Traitement d'envoi au parapheur
+ log.info("Envoi d'une demande de signature au parapheur pour le document " + nodeRef);
+ try {
+ contentValue = Tools.extract(inputStream);
+ if (contentValue == null) {
+ throw new Exception("Aucun contenu à envoyer au parapheur pour signature !");
+ }
+
+ clientParapheur.setUp();
+
+ Content content = new ContentCfxImpl();
+ content.setType(contentType);
+ content.setValue(contentValue);
+
+ final Dossier dossier = new DossierCxfImpl();
+ dossier.setDocumentPrincipalContent(content);
+ dossier.setNomDocPrincipal(nodeName);
+ dossier.setDossierID(dossierId);
+ dossier.setDossierTitre(dossierTitre);
+
+ String sousTypeString = (String) sousType.getValue(execution);
+ String typeTechniqueString = (String) typeTechnique.getValue(execution);
+ String visibiliteString = (String) visibilite.getValue(execution);
+
+ log.debug("Type parapheur :" + typeTechniqueString);
+ log.debug("Sous-type parapheur :" + sousTypeString);
+
+ dossier.setSousType(sousTypeString);
+ dossier.setTypeTechnique(typeTechniqueString);
+ dossier.setVisibilite(visibiliteString);
+
+ // TODO la gestion de la signature XML est à peaufiner
+ // TODO cf. Doc. WSDL iParapheur, p. 12 : quid de la co-signature ???
+ // TODO pourquoi renvoient-ils le fichier PES lors de la réception du dossier signé dans l'enveloppe SOAP ?
+ if (nodeName.endsWith(".xml")) {
+ if (xpathSignatureXML == null) {
+ xpathSignatureXML = "/*[last()]";
+ }
+ dossier.setxPathPourSignatureXML(xpathSignatureXML);
+ }
+
+ log.debug("Traitement du visuel PDF si existant");
+ if (visuelPdfContentValue != null) {
+ log.debug("Récupération du contenu du visuel PDF");
+ Content visuelPDFContent = new ContentCfxImpl();
+ visuelPDFContent.setType("application/pdf");
+ visuelPDFContent.setValue(visuelPdfContentValue);
+ dossier.setVisuelPDFContent(visuelPDFContent);
+ log.debug("Visuel PDF spécifié dans le dossier");
+ }
+
+ if (listeAnnexes != null && !listeAnnexes.isEmpty()) {
+ log.debug("Chargement des annexes");
+ dossier.setAnnexes(loadAnnexes(listeAnnexes));
+ }
+
+ log.debug("Création du dossier iparapheur");
+ codeRetour = clientParapheur.creerDossier(dossier) ? "OK" : "KO";
+ messageRetour = clientParapheur.getMessageRetour();
+ log.debug("Création du dossier iparapheur -> Fin()");
+
+ log.debug("Code retour de la création du dossier côté parapheur : " + codeRetour);
+ log.debug("Message de retour du parapheur :" + messageRetour);
+ if ("OK".equalsIgnoreCase(codeRetour)) {
+ // Lecture des paramètres du dossier en passant par l'API Alfresco
+ fr.mbdx.parapheur.Dossier dossierRest = parapheurService.getDossierFromName(dossierId);
+ try {
+ if (dossierRest == null) {
+ log.error("Problème pour lire les propriétés du dossier en passant par l'API REST d'Alfresco");
+ } else {
+ Bureau bureau = dossierRest.getBureau();
+ if (bureau == null) {
+ log.error("Problème pour lire les propriétés du bureau en passant par l'API REST d'Alfresco");
+ } else {
+ if (bureau.getOwners().isEmpty()) {
+ log.error("Aucun propriétaire n'est mentionné pour ce bureau en passant par l'API REST d'Alfresco");
+ } else {
+ nomSignataire = bureau.getOwners().get(0);
+
+ // TODO pour le moment on écrit le nom du bureau à la place de la fonction signataire -> à extraire plutôt de
+ // l'annuaire LDAP
+ fonctionSignataire = bureau.getName();
+ log.debug("fonction du signataire : " + fonctionSignataire);
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error("Erreur au cours de la lecture des propriétés du dossier en passant par l'API REST d'Alfresco", e);
+ }
+
+ // Création de l'URL vers le dossier du iparapheur à signer
+ log.debug("Récupération de l'url pour le dossier : " + dossierTitre + " et pour le signataire " + nomSignataire);
+ if (dossierTitre != null && !dossierTitre.isEmpty() && nomSignataire != null) {
+ parapheurPageURL = parapheurService.getSignaturePageURL(dossierRest);
+ }
+ }
+
+ log.info("Demande de signature envoyée au parapheur pour le document " + nodeRef);
+ } catch (Exception e) {
+ log.error("Erreur au cours de la demande de signature envoyée au parapheur pour le document " + nodeRef);
+ log.error(e.getMessage(), e);
+ } finally {
+ parapheurService.decrementEnvoisencours();
+ }
+ log.debug("Envoi d'une demande de signature au parapheur pour le document " + nodeRef + " -> FIN() ");
+
+ // 3. setVariables
+ execution.setVariable("dossierId", dossierId);
+ execution.setVariable("codeRetour", codeRetour);
+ execution.setVariable("messageRetour", messageRetour);
+ execution.setVariable("parapheurPageURL", parapheurPageURL);
+ execution.setVariable("nomSignataire", nomSignataire);
+ execution.setVariable("fonctionSignataire", fonctionSignataire);
+ // execution.setVariable("visuelPdfContentValue", visuelPdfContentValue);
+ execution.setVariable("pdfNodeRef", pdfNodeRef);
+ execution.setVariable("pdfName", pdfName);
+ }
+ }
+
+ /**
+ * Chargement des annexes du document à signer
+ *
+ * @return
+ * @throws IOException
+ */
+ List<Annexe> loadAnnexes(List<String> listeAnnexes) throws IOException {
+ List<Annexe> lst = new ArrayList<Annexe>();
+ serviceCMIS.createSession();
+ for (String id : listeAnnexes) {
+ Document doc = serviceCMIS.getDocument(id);
+ ContentStream contentStream = doc.getContentStream();
+ InputStream inputStream = contentStream.getStream();
+ byte[] value = Tools.extract(inputStream);
+ String type = contentStream.getMimeType();
+ Annexe annexe = new AnnexeCfxImpl();
+ if (type.matches("(.*);charset=(.*)")) {
+ int dotIndex = type.lastIndexOf(';');
+ String encoding = type.substring(dotIndex + 9).toUpperCase();
+ annexe.setEncoding(encoding);
+ type = type.substring(0, dotIndex);
+ }
+ String name = doc.getName();
+ annexe.setMimetype(type);
+ annexe.setNom(name);
+ Content content = new ContentCfxImpl();
+ content.setType(type);
+ content.setValue(value);
+ annexe.setFichier(content);
+ lst.add(annexe);
+ }
+ return lst;
+ }
+
+ /**
+ * @param clientParapheur
+ * the clientParapheur to set
+ */
+ public void setClientParapheur(Client clientParapheur) {
+ this.clientParapheur = clientParapheur;
+ }
+
+ /**
+ * @return the clientParapheur
+ */
+ public Client getClientParapheur() {
+ return clientParapheur;
+ }
+
+ /**
+ * @param serviceCMIS
+ * the serviceCMIS to set
+ */
+ public void setServiceCMIS(ServiceCMIS serviceCMIS) {
+ this.serviceCMIS = serviceCMIS;
+ }
+
+ /**
+ * @param parapheurService
+ * the parapheurService to set
+ */
+ public void setParapheurService(ParapheurService parapheurService) {
+ this.parapheurService = parapheurService;
+ }
+
+ /**
+ * @param servicePDF
+ * the servicePDF to set
+ */
+ public void setServicePDF(ServicePDF servicePDF) {
+ this.servicePDF = servicePDF;
+ }
+}
--- /dev/null
+package fr.mbdx.parapheur;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.client.api.FileableCmisObject;
+import org.apache.chemistry.opencmis.client.api.Folder;
+import org.apache.chemistry.opencmis.client.api.Tree;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.service.ParapheurService;
+import fr.mbdx.service.ServiceCMIS;
+
+/**
+ * Tache d'initialisation du processus de signature parapheur.
+ */
+public class TaskInitParapheur implements JavaDelegate {
+
+ protected ServiceCMIS serviceCMIS;
+
+ protected ParapheurService parapheurService;
+
+ static protected Logger log = Logger.getLogger(TaskInitParapheur.class);
+
+ @Override
+ public void execute(DelegateExecution execution) {
+ // Ajout instruction synchronized pour empêcher absolument que deux threads accédent
+ // en même temps à ce bout de code pour éviter un deadlock du côté du parapheur
+
+ synchronized (TaskInitParapheur.class) {
+
+ String contentType = null;
+ String dossierTitre = null;
+ String dossierId = null;
+ String nodeName;
+ List<String> listeAnnexes = null;
+ String libelleArrete = null;
+ String numeroDossier = null;
+
+ final String emetteur;
+ final String folderRef;
+ final String typeGed;
+ final String xpathSignatureXML;
+ final String nodeRef;
+ final Boolean signatureFin = Boolean.FALSE;
+
+ // 1. ExtractParams depuis l'exécution courante
+ nodeRef = (String) execution.getVariable("nodeRef");
+ folderRef = (String) execution.getVariable("folderRef");
+ nodeName = (String) execution.getVariable("nodeName");
+ typeGed = (String) execution.getVariable("typeGed");
+ emetteur = (String) execution.getVariable("emetteur");
+ xpathSignatureXML = (String) execution.getVariable("xpathSignatureXML");
+
+ // 2. Traitement d'initialisation
+ log.debug("Initialisation du processus de signature parapheur pour le document " + nodeRef);
+ final AlfrescoDocument doc;
+ try {
+ // Récupération du contenu du noeud Alfresco
+ if (nodeRef != null) {
+ serviceCMIS.createSession();
+
+ doc = serviceCMIS.getDocument(nodeRef);
+
+ ContentStream contentStream = doc.getContentStream();
+ // InputStream inputStream = contentStream.getStream();
+ // contentValue = Tools.extract(inputStream);
+ contentType = contentStream.getMimeType();
+
+ if (nodeName == null) {
+ nodeName = doc.getName();
+ }
+
+ // Si nécessaire on positionne l'aspect signatureParapheur + les
+ // métadonnées emetteurParapheur, statutParapheur et
+ // dateSignature
+ if (!doc.hasAspect("P:mbdx:signatureParapheur")) {
+ Map<String, Object> prop = new HashMap<String, Object>();
+ prop.put("mbdx:emetteurParapheur", emetteur);
+ prop.put("mbdx:statutParapheur", "EnCours");
+ prop.put("mbdx:dateSignature", new java.util.GregorianCalendar());
+ doc.addAspect("P:mbdx:signatureParapheur", prop);
+ }
+
+ // On prend le nom du fichier après avoir enlevé l'extension
+ int dotIndex = nodeName.lastIndexOf('.');
+ if (dotIndex >= 0) {
+ dossierTitre = nodeName.substring(0, dotIndex);
+ } else {
+ dossierTitre = nodeName;
+ }
+
+ // Pour éviter une erreur parapheur du type :
+ // "Requete incomplete, le type MIME 'application/pdf;charset=utf-8' de 'DocumentPrincipal' n'est pas accepte."
+ // On supprime la mention éventuelle de charset dans le type
+ // MIME Alfresco
+ if (contentType.matches("(.*);charset=(.*)")) {
+ dotIndex = contentType.lastIndexOf(';');
+ contentType = contentType.substring(0, dotIndex);
+ }
+
+ // On prend l'ID du noeud Alfresco d'origine
+ dossierId = getDossierId(doc);
+
+ // On charge la liste des annexes à inclure dans l'envoi au
+ // parapheur
+ if (folderRef != null) {
+ Folder folder = serviceCMIS.getFolder(folderRef);
+ for (Tree<FileableCmisObject> t : folder.getDescendants(-1)) {
+ listeAnnexes = t == null ? new ArrayList<String>() : loadAnnexes(t, doc);
+ }
+ }
+
+ // Propriétés utilisées plus loin pour l'envoi de mail au
+ // signataire d'un arrêté d'urbanisme
+ if (typeGed.equals("arrete")) {
+ libelleArrete = doc.getPropertyValue("cm:title");
+
+ // La réf. du document est de la forme : PC033 063 13 Z0001
+ // – PCMI01 - 01
+ // Seule la 1e partie nous intéresse (numéro dossier
+ // urbanisme)
+ numeroDossier = doc.getPropertyValue("mbdx:referenceDocument");
+ String[] parts = numeroDossier.split("[\u002D\u2013\u2014]");
+ if (parts.length > 0) {
+ numeroDossier = parts[0];
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error("Erreur au cours de l'initialisation du processus de signature parapheur pour le document " + nodeRef);
+ log.error(e.getMessage(), e);
+ } finally {
+ parapheurService.incrementEnvoisencours();
+ }
+
+ log.debug("Initialisation du processus de signature parapheur pour le document " + nodeRef + " -> FIN() ");
+
+ // 3. setVariables après traitement
+ execution.setVariable("dossierTitre", dossierTitre);
+ execution.setVariable("dossierId", dossierId);
+ execution.setVariable("contentType", contentType);
+ execution.setVariable("contentValue", nodeRef);
+ execution.setVariable("typeGed", typeGed);
+ execution.setVariable("nodeName", nodeName);
+ execution.setVariable("emetteur", emetteur);
+ execution.setVariable("xpathSignatureXML", xpathSignatureXML);
+ execution.setVariable("signatureFin", signatureFin);
+ execution.setVariable("listeAnnexes", listeAnnexes);
+ execution.setVariable("libelleArrete", libelleArrete);
+ execution.setVariable("numeroDossier", numeroDossier);
+ }
+ }
+
+ String getDossierId(AlfrescoDocument doc) {
+ String nodeRef = doc.getId();
+ int beginIndex = nodeRef.lastIndexOf("/");
+ String id = beginIndex > 0 ? nodeRef.substring(beginIndex + 1) : nodeRef;
+ return id + "-" + doc.getVersionLabel();
+ }
+
+ /**
+ * Charge la liste des annexes enregistrées dans un dossier
+ *
+ * @param folder
+ * @param documentPrincipal
+ * Document principal du dossier
+ * @return
+ */
+ private List<String> loadAnnexes(Tree<FileableCmisObject> folderTree, Document documentPrincipal) {
+ final List<String> listeAnnexes = new ArrayList<String>(folderTree.getChildren().size());
+ for (Tree<FileableCmisObject> t : folderTree.getChildren()) {
+ FileableCmisObject item = t.getItem();
+ if (item.getBaseTypeId().equals(BaseTypeId.CMIS_DOCUMENT) && !item.getId().equals(documentPrincipal.getId())) {
+ listeAnnexes.add(item.getId());
+ }
+ }
+ return listeAnnexes;
+ }
+
+ /**
+ * @param serviceCMIS
+ * the serviceCMIS to set
+ */
+ public void setServiceCMIS(ServiceCMIS serviceCMIS) {
+ this.serviceCMIS = serviceCMIS;
+ }
+
+ public void setParapheurService(ParapheurService parapheurService) {
+ this.parapheurService = parapheurService;
+ }
+
+}
--- /dev/null
+package fr.mbdx.parapheur;
+
+public class TaskInitVisa {
+
+}
--- /dev/null
+package fr.mbdx.parapheur;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.parapheur.client.Annexe;
+import fr.mbdx.parapheur.client.Client;
+import fr.mbdx.parapheur.client.Dossier;
+import fr.mbdx.parapheur.client.LogDossier;
+import fr.mbdx.parapheur.client.Statut;
+import fr.mbdx.service.ParapheurService;
+
+/**
+ * Tache d'interrogation et de demande d'information au parapheur
+ *
+ */
+// @Component("interrogationParapheur")
+public class TaskInterrogationParapheur implements JavaDelegate {
+ protected static Logger log = Logger.getLogger(TaskInterrogationParapheur.class);
+
+ public final static String NOM_IMPRESSION_DOSSIER = "\"iParapheur_impression_dossier.pdf\"";
+
+ protected Client clientParapheur;
+
+ protected ParapheurService parapheurService;
+
+ @Override
+ public void execute(DelegateExecution execution) {
+
+ if (parapheurService.getEnvoisencours() > 0) {
+ log.debug("Il reste " + parapheurService.getEnvoisencours()
+ + " dossier(s) à envoyer au parapheur, on attend pour l'interroger sur l'état du dossier en cours");
+ return;
+ }
+
+ // Ajout instruction synchronized pour empêcher absolument que deux threads accédent
+ // en même temps à ce bout de code pour éviter un deadlock du côté du parapheur
+
+ synchronized (TaskInterrogationParapheur.class) {
+
+ final String dossierId = (String) execution.getVariable("dossierId");
+ final String nodeRef = (String) execution.getVariable("nodeRef");
+
+ byte[] contentValue = null;
+ String contentType = null;
+ String annotationPrivee = null;
+ String annotationPublique = null;
+ byte[] fichierPESContent = null;
+ String fichierPESContentType = null;
+ byte[] signatureDocPrincipalContent = null;
+ String signatureDocPrincipalContentType = null;
+ String xpathSignatureXML = null;
+ String statutDossier = null;
+
+ log.debug("Demande d'information au parapheur pour le document " + nodeRef);
+
+ try {
+ clientParapheur.setUp();
+
+ final List<String> listDossierID = new ArrayList<String>();
+ listDossierID.add(dossierId);
+ final List<LogDossier> listLogDossier = clientParapheur.rechercherListeDossiers(listDossierID);
+ if (!listLogDossier.isEmpty()) {
+ LogDossier logDossier = listLogDossier.get(0);
+
+ Statut statutActuel = logDossier.getStatut();
+ if (statutActuel.equals(Statut.Archive)) {
+ List<LogDossier> listHistoDossier = clientParapheur.getHistoDossier(dossierId);
+ if (listHistoDossier != null) {
+ int size = listHistoDossier.size();
+ if (size > 1) {
+ statutDossier = listHistoDossier.get(size - 2).getStatut().value();
+ } else {
+ statutDossier = statutActuel.value();
+ }
+ }
+ } else {
+ statutDossier = statutActuel.value();
+ }
+
+ // On ne récupère le dossier que si le processus est arrivé à son terme, c'est-à-dire son archivage
+ if (statutActuel == Statut.Archive || statutActuel == Statut.RejetSignataire) {
+ // TODO tester la propriété logDossier.getAccessible() avant de faire un getDossier()
+ final Dossier dossier = clientParapheur.getDossier(dossierId);
+ if (dossier != null) {
+ annotationPrivee = dossier.getAnnotationPrivee();
+ annotationPublique = dossier.getAnnotationPublique();
+
+ if (dossier.getFichierPESContent() != null && dossier.getFichierPESContent().getValue() != null) {
+ fichierPESContent = dossier.getFichierPESContent().getValue();
+ fichierPESContentType = dossier.getFichierPESContent().getType();
+ }
+
+ if (dossier.getSignatureDocPrincipalContent() != null && dossier.getSignatureDocPrincipalContent().getValue() != null) {
+ signatureDocPrincipalContent = dossier.getSignatureDocPrincipalContent().getValue();
+ signatureDocPrincipalContentType = dossier.getSignatureDocPrincipalContent().getType();
+ }
+
+ // TODO demander à Adullact si ce XPath est le même que lors de la création du dossier ?
+ xpathSignatureXML = dossier.getxPathPourSignatureXML();
+
+ final List<Annexe> annexes = dossier.getAnnexes();
+ if (annexes != null) {
+ for (Annexe ann : annexes) {
+ String nom = ann.getNom();
+ if (nom.equals(NOM_IMPRESSION_DOSSIER)) {
+ contentValue = ann.getFichier().getValue();
+ contentType = ann.getMimetype();
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ log.debug("Demande d'information envoyée au parapheur pour le document " + nodeRef);
+ } catch (Exception e) {
+ log.error("Erreur au cours de la demande d'information envoyée au parapheur pour le document " + nodeRef);
+ log.error(e.getMessage(), e);
+ }
+
+ if (contentValue != null) {
+ statutDossier = Statut.RejetSignataire.value().equals(statutDossier) ? Statut.Archive.value() : statutDossier; // FIXME A SUPPRIMER
+ execution.setVariable("statutDossier", statutDossier);
+ execution.setVariable("contentValue", contentValue);
+ execution.setVariable("contentType", contentType);
+ execution.setVariable("annotationPrivee", annotationPrivee);
+ execution.setVariable("annotationPublique", annotationPublique);
+ if (fichierPESContent != null) {
+ execution.setVariable("fichierPESContent", fichierPESContent);
+ execution.setVariable("fichierPESContentType", fichierPESContentType);
+ }
+ if (signatureDocPrincipalContent != null) {
+ execution.setVariable("signatureDocPrincipalContent", signatureDocPrincipalContent);
+ execution.setVariable("signatureDocPrincipalContentType", signatureDocPrincipalContentType);
+ }
+ execution.setVariable("xpathSignatureXML", xpathSignatureXML);
+ execution.setVariable("signatureFin", Boolean.TRUE);
+ } else {
+ execution.setVariable("signatureFin", Boolean.FALSE);
+ }
+ }
+ }
+
+ /**
+ * @param clientParapheur
+ * the clientParapheur to set
+ */
+ public void setClientParapheur(Client clientParapheur) {
+ this.clientParapheur = clientParapheur;
+ }
+
+ public void setParapheurService(ParapheurService parapheurService) {
+ this.parapheurService = parapheurService;
+ }
+}
--- /dev/null
+package fr.mbdx.parapheur;
+
+import java.io.IOException;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.apache.log4j.Logger;
+import org.restlet.data.ChallengeScheme;
+import org.restlet.representation.Representation;
+import org.restlet.resource.ClientResource;
+
+/**
+ * Tache de traitement d'un document comple t(ajout d'un aspect au document).
+ *
+ */
+public class TaskTraitementDossierComplet implements JavaDelegate {
+ private final Logger log = Logger.getLogger(TaskTraitementDossierComplet.class);
+
+ @Override
+ public void execute(DelegateExecution execution) {
+ final String nodeRef = execution.getVariableLocal("nodeRef") == null ? "" : (String) execution.getVariableLocal("nodeRef");
+ final String user = "admin";
+ final String password = "admin";
+ final ClientResource client = new ClientResource("http://localhost:8080/alfresco/s/fr/mdbx/noyau/dashlet/traitementDocumentComplet?nodeRef=" + nodeRef);
+ client.setChallengeResponse(ChallengeScheme.HTTP_BASIC, user, password);
+ final Representation response = client.get();
+
+ try {
+ response.getText();
+ log.debug("test");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur;
+
+import java.util.GregorianCalendar;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.parapheur.client.Statut;
+import fr.mbdx.pdf.TableauRecapitulatif;
+import fr.mbdx.service.ParapheurService;
+import fr.mbdx.service.ServiceCMIS;
+import fr.mbdx.service.ServicePDF;
+
+/**
+ * Supprime la dernière page du visuel PDF renvoyé par le parapheur et ajoute un tableau récapitulatif à la fin du document
+ */
+public class TaskVisuelPDF implements JavaDelegate {
+ protected static Logger log = Logger.getLogger(TaskVisuelPDF.class);
+
+ ServicePDF servicePDF = null;
+ ServiceCMIS serviceCMIS = null;
+ ParapheurService parapheurService = null;
+
+ @Override
+ public void execute(DelegateExecution execution) {
+
+ // Extract param
+ final String nodeRef = (String) execution.getVariable("nodeRef");
+ final String typeGed = (String) execution.getVariable("typeGed");
+ byte[] contentValue = (byte[]) execution.getVariable("contentValue");
+ String statutDossier = (String) execution.getVariable("statutDossier");
+ final String nomSignataire = (String) execution.getVariable("nomSignataire");
+ final String fonctionSignataire = (String) execution.getVariable("fonctionSignataire");
+
+ log.debug("TaskModifVisuelPDF IN");
+ if (typeGed.equals("delib") || typeGed.equals("publicites") || typeGed.equals("arrete")) {
+ if (statutDossier != null && statutDossier.equalsIgnoreCase(Statut.Signe.value())) {
+ log.debug("Le statut du dossier est \"" + Statut.Signe.value() + "\" : on ajoute un tableau à la fin du visuel PDF.");
+
+ try {
+ serviceCMIS.createSession();
+ AlfrescoDocument doc = serviceCMIS.getDocument(nodeRef);
+
+ TableauRecapitulatif tab = servicePDF.createTableau(typeGed);
+
+ byte[] signature = parapheurService.getImageSignature(nomSignataire);
+
+ // Cas des délibérations
+ if (typeGed.equals("delib")) {
+ serviceCMIS.remplirTableauSignature(tab, doc);
+
+ tab.setNomSignataire(nomSignataire);
+ tab.setQualiteSignataire(fonctionSignataire);
+ tab.setSignature(signature);
+
+ // On génère le nouveau document PDF
+ contentValue = servicePDF.ecrireTableauRecapitulatif(contentValue, tab, true, true);
+
+ // Cas des publicités
+ } else if (typeGed.equals("publicites")) {
+ serviceCMIS.remplirTableauPublicites(tab, doc);
+
+ tab.setNomSignatairePublicites(nomSignataire);
+ tab.setQualiteSignatairePublicites(fonctionSignataire);
+
+ // On met à la date de signature des publicités à aujourd'hui
+ GregorianCalendar dateSignaturePublicites = new GregorianCalendar();
+ tab.setDateSignaturePublicites(dateSignaturePublicites);
+ tab.setSignaturePublicites(signature);
+
+ // On génère le nouveau document PDF
+ contentValue = servicePDF.ecrireTableauRecapitulatif(contentValue, tab, true, true);
+
+ // Cas des arrêtés d'urbanisme
+ } else {
+ tab.setNomSignataire(nomSignataire);
+ tab.setQualiteSignataire(fonctionSignataire);
+ tab.setSignature(signature);
+
+ // On génère le nouveau document PDF
+ contentValue = servicePDF.ecrireTableauRecapitulatif(contentValue, tab, false, false);
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+
+ } else {
+ log.debug("Le statut du dossier est \"" + Statut.Signe.value() + "\" : on ne modifie pas le visuel PDF.");
+ }
+ } else {
+ log.debug("Pour le moment on ne modifie pas le visuel PDF lorsque le type GED est \"" + typeGed + "\"");
+ }
+ log.debug("TaskModifVisuelPDF OUT");
+
+ execution.setVariable("contentValue", contentValue);
+ }
+
+ /**
+ * @param servicePDF
+ * the servicePDF to set
+ */
+ public void setServicePDF(ServicePDF servicePDF) {
+ this.servicePDF = servicePDF;
+ }
+
+ /**
+ * @param serviceCMIS
+ * the serviceCMIS to set
+ */
+ public void setServiceCMIS(ServiceCMIS serviceCMIS) {
+ this.serviceCMIS = serviceCMIS;
+ }
+
+ /**
+ * @param parapheurService
+ * the parapheurService to set
+ */
+ public void setParapheurService(ParapheurService parapheurService) {
+ this.parapheurService = parapheurService;
+ }
+}
--- /dev/null
+/**
+ * Gestion de la communication avec le parapheur
+ */
+package fr.mbdx.parapheur;
\ No newline at end of file
--- /dev/null
+package fr.mbdx.pdf;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.MalformedURLException;
+import java.util.GregorianCalendar;
+
+import com.itextpdf.text.DocumentException;
+import com.itextpdf.text.pdf.PdfContentByte;
+
+public interface TableauRecapitulatif extends Serializable {
+ /**
+ * Ecrit le contenu du tableau sur une page PDF
+ * @param canvas
+ * @throws DocumentException
+ * @throws MalformedURLException
+ * @throws IOException
+ */
+ public void write(PdfContentByte canvas) throws DocumentException, MalformedURLException, IOException;
+
+ /**
+ * @return the dateAffichage
+ */
+ public GregorianCalendar getDateAffichage();
+ /**
+ * @param dateAffichage the dateAffichage to set
+ */
+ public void setDateAffichage(GregorianCalendar dateAffichage);
+ /**
+ * @return the dateEnvoi
+ */
+ public GregorianCalendar getDateEnvoi();
+ /**
+ * @param dateEnvoi the dateEnvoi to set
+ */
+ public void setDateEnvoi(GregorianCalendar dateEnvoi);
+ /**
+ * @return the dateReception
+ */
+ public GregorianCalendar getDateReception();
+ /**
+ * @param dateReception the dateReception to set
+ */
+ public void setDateReception(GregorianCalendar dateReception);
+ /**
+ * @return the dateSignature
+ */
+ public GregorianCalendar getDateSignature();
+ /**
+ * @param dateSignature the dateSignature to set
+ */
+ public void setDateSignature(GregorianCalendar dateSignature);
+ /**
+ * @return the dateSignaturePublicites
+ */
+ public GregorianCalendar getDateSignaturePublicites();
+ /**
+ * @param dateSignaturePublicites the dateSignaturePublicites to set
+ */
+ public void setDateSignaturePublicites(GregorianCalendar dateSignaturePublicites);
+ /**
+ * @return the nomSignataire
+ */
+ public String getNomSignataire();
+ /**
+ * @param nomSignataire the nomSignataire to set
+ */
+ public void setNomSignataire(String nomSignataire);
+ /**
+ * @return the qualiteSignataire
+ */
+ public String getQualiteSignataire();
+ /**
+ * @param qualiteSignataire the qualiteSignataire to set
+ */
+ public void setQualiteSignataire(String qualiteSignataire);
+ /**
+ * @return the nomSignatairePublicites
+ */
+ public String getNomSignatairePublicites();
+ /**
+ * @param nomSignatairePublicites the nomSignatairePublicites to set
+ */
+ public void setNomSignatairePublicites(String nomSignatairePublicites);
+ /**
+ * @return the qualiteSignatairePublicites
+ */
+ public String getQualiteSignatairePublicites();
+ /**
+ * @param qualiteSignatairePublicites the qualiteSignatairePublicites to set
+ */
+ public void setQualiteSignatairePublicites(String qualiteSignatairePublicites);
+ /**
+ * @return the idAR
+ */
+ public String getIdAR();
+ /**
+ * @param idAR the idAR to set
+ */
+ public void setIdAR(String idAR);
+
+ /**
+ * @return the lightFontName
+ */
+ public String getLightFontName();
+
+ /**
+ * @param lightFontName the lightFontName to set
+ */
+ public void setLightFontName(String lightFontName);
+
+ /**
+ * @param italicFontName the lightFontName to set
+ */
+ public void setItalicFontName(String italicFontName);
+
+ /**
+ * @return the boldFontName
+ */
+ public String getBoldFontName();
+
+ /**
+ * @param boldFontName the boldFontName to set
+ */
+ public void setBoldFontName(String boldFontName);
+
+ /**
+ * @return the signature
+ */
+ public byte[] getSignature();
+
+ /**
+ * @param signature the signature to set
+ */
+ public void setSignature(byte[] signature);
+
+ /**
+ * @return the signaturePublicites
+ */
+ public byte[] getSignaturePublicites();
+
+ /**
+ * @param signaturePublicites the signaturePublicites to set
+ */
+ public void setSignaturePublicites(byte[] signaturePublicites);
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.pdf;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.text.SimpleDateFormat;
+
+import com.itextpdf.text.BadElementException;
+import com.itextpdf.text.DocumentException;
+import com.itextpdf.text.Font;
+import com.itextpdf.text.FontFactory;
+import com.itextpdf.text.Image;
+import com.itextpdf.text.PageSize;
+import com.itextpdf.text.Phrase;
+import com.itextpdf.text.pdf.BaseFont;
+import com.itextpdf.text.pdf.ColumnText;
+import com.itextpdf.text.pdf.PdfContentByte;
+import com.itextpdf.text.pdf.PdfPCell;
+import com.itextpdf.text.pdf.PdfPTable;
+
+public class TableauRecapitulatifDeliberation extends TableauRecapitulatifImpl {
+
+ private static final long serialVersionUID = 7485862107708693872L;
+
+ public static final int NUMCOLUMNS = 3;
+ public static final int MARGIN_WIDTH = 0;
+ public static final int MARGIN_HEIGHT = 40;
+ public static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy");
+
+ /**
+ * Ecrit le contenu du tableau sur une page PDF
+ * @param canvas
+ * @throws DocumentException
+ * @throws MalformedURLException
+ * @throws IOException
+ */
+ public void write(PdfContentByte canvas) throws DocumentException, MalformedURLException, IOException {
+
+ Font font = FontFactory.getFont(lightFontName, ENCODING, BaseFont.EMBEDDED);
+ font.setSize(9);
+
+ Font titleFont = FontFactory.getFont(boldFontName, ENCODING, BaseFont.EMBEDDED);
+ titleFont.setStyle(Font.FontStyle.UNDERLINE.getValue());
+ titleFont.setStyle(Font.FontStyle.BOLD.getValue());
+ titleFont.setSize(9);
+
+ boolean creation = (dateEnvoi == null);
+ if (creation) {
+ createTable(canvas, font, titleFont);
+ } else {
+ updateTable(canvas, font);
+ }
+ }
+
+ /**
+ * Crée le tableau
+ * @param canvas
+ * @throws DocumentException
+ * @throws MalformedURLException
+ * @throws IOException
+ */
+ private void createTable(PdfContentByte cb, Font font, Font titleFont) throws DocumentException, MalformedURLException, IOException {
+
+ if (signature != null) {
+ Image sign = Image.getInstance(signature);
+ float w = sign.getWidth();
+ float h = sign.getHeight();
+ sign.setAbsolutePosition(440f - w / 2, 40 + h / 2);
+ cb.addImage(sign);
+ }
+
+ PdfPTable table = getPdfTable(font, titleFont);
+
+ ColumnText column = new ColumnText(cb);
+ column.addElement(table);
+ column.setSimpleColumn(MARGIN_WIDTH, MARGIN_HEIGHT, table.getTotalWidth(), table.getTotalHeight() + MARGIN_HEIGHT);
+ column.go();
+ }
+
+ /**
+ * Met à jour le contenu du tableau
+ * @param canvas
+ * @throws DocumentException
+ * @throws MalformedURLException
+ * @throws IOException
+ */
+ private void updateTable(PdfContentByte cb, Font font) throws DocumentException, MalformedURLException, IOException {
+
+ if (signaturePublicites != null) {
+ Image sign = Image.getInstance(signaturePublicites);
+ float w = sign.getWidth();
+ float h = sign.getHeight();
+ sign.setAbsolutePosition(260f - w / 2, 35 + h / 2);
+ cb.addImage(sign);
+ }
+
+ if (dateEnvoi != null) {
+ showDate(cb, dateEnvoi, 196, 154, font);
+ }
+ if (dateReception != null) {
+ showDate(cb, dateReception, 187, 141, font);
+ }
+ if (idAR != null) {
+ showText(cb, idAR, 150, 121, font);
+ }
+ if (dateSignaturePublicites != null) {
+ showDate(cb, dateSignaturePublicites, 86, 75, font);
+ }
+ if (nomSignatairePublicites != null) {
+ showText(cb, nomSignatairePublicites, 163, 65, font);
+ }
+ if (qualiteSignatairePublicites != null) {
+ showText(cb, qualiteSignatairePublicites, 163, 51, font);
+ }
+ }
+
+ private PdfPTable getPdfTable(Font font, Font titleFont) throws BadElementException, MalformedURLException, IOException {
+ float totalWidth = PageSize.A4.getWidth();
+ float relativeWidths[] = {100, 250, 245};
+ PdfPTable table = new PdfPTable(relativeWidths);
+ table.setTotalWidth(totalWidth);
+
+ PdfPCell cell = createCell(80);
+ cell.addElement(new Phrase("Affichage", titleFont));
+ cell.addElement(new Phrase(20, "Préfecture", titleFont));
+ table.addCell(cell);
+
+ cell = createCell(80);
+ if (dateAffichage != null) {
+ cell.addElement(new Phrase(DATE_FORMAT.format(dateAffichage.getTime()), font));
+ }
+ cell.addElement(new Phrase(20, "Envoyé le : ", font));
+ cell.addElement(new Phrase("Reçu le : ", font));
+ table.addCell(cell);
+
+ cell = createCell(150);
+ cell.setRowspan(2);
+ if (dateSignature != null) {
+ cell.addElement(new Phrase("Fait et Délibéré à Bordeaux, en l’Hôtel de Ville, le " + DATE_FORMAT.format(dateSignature.getTime()), font));
+ }
+ if (nomSignataire != null) {
+ cell.addElement(new Phrase(90, " " + nomSignataire, font));
+ }
+ if (qualiteSignataire != null) {
+ cell.addElement(new Phrase(" " + qualiteSignataire, font));
+ }
+ table.addCell(cell);
+
+ cell = createCell(70);
+ cell.setColspan(2);
+ cell.addElement(new Phrase("Conformité des publicités", titleFont));
+ cell.addElement(new Phrase(20, "Le : ", font));
+ table.addCell(cell);
+
+ return table;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.pdf;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+import com.itextpdf.text.Element;
+import com.itextpdf.text.Font;
+import com.itextpdf.text.Paragraph;
+import com.itextpdf.text.Phrase;
+import com.itextpdf.text.pdf.BaseFont;
+import com.itextpdf.text.pdf.ColumnText;
+import com.itextpdf.text.pdf.PdfContentByte;
+import com.itextpdf.text.pdf.PdfPCell;
+
+public abstract class TableauRecapitulatifImpl implements TableauRecapitulatif {
+
+ private static final long serialVersionUID = 2839213973646180542L;
+
+ public static final String ENCODING = BaseFont.CP1252;
+ public static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy");
+ public static final int MARGIN_WIDTH = 40;
+ public static final int MARGIN_HEIGHT = 40;
+
+ protected GregorianCalendar dateAffichage = null;
+ protected GregorianCalendar dateEnvoi = null;
+ protected GregorianCalendar dateReception = null;
+ protected GregorianCalendar dateSignature = null;
+ protected GregorianCalendar dateSignaturePublicites = null;
+ protected String nomSignataire = null;
+ protected String qualiteSignataire = null;
+ protected String nomSignatairePublicites = null;
+ protected String qualiteSignatairePublicites = null;
+ protected String idAR = null;
+ protected String lightFontName = null;
+ protected String boldFontName = null;
+ protected String italicFontName = null;
+ protected byte[] signature = null;
+ protected byte[] signaturePublicites = null;
+
+ protected PdfPCell createCell(float height) {
+ PdfPCell cell = new PdfPCell();
+ cell.setFixedHeight(height);
+ cell.setVerticalAlignment(Element.ALIGN_TOP);
+ cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+ cell.setPaddingLeft(10);
+ cell.setPaddingRight(10);
+ return cell;
+ }
+
+ protected void showText(PdfContentByte cb, String string, float x, float y, Font font) {
+ ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase(string, font), x, y, 0);
+ }
+
+ protected void showDate(PdfContentByte cb, Calendar cal, float x, float y, Font font) {
+ ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase(DATE_FORMAT.format(cal.getTime()), font), x, y, 0);
+ }
+
+ /**
+ * @return the dateAffichage
+ */
+ public GregorianCalendar getDateAffichage() {
+ return dateAffichage;
+ }
+ /**
+ * @param dateAffichage the dateAffichage to set
+ */
+ public void setDateAffichage(GregorianCalendar dateAffichage) {
+ this.dateAffichage = dateAffichage;
+ }
+ /**
+ * @return the dateEnvoi
+ */
+ public GregorianCalendar getDateEnvoi() {
+ return dateEnvoi;
+ }
+ /**
+ * @param dateEnvoi the dateEnvoi to set
+ */
+ public void setDateEnvoi(GregorianCalendar dateEnvoi) {
+ this.dateEnvoi = dateEnvoi;
+ }
+ /**
+ * @return the dateReception
+ */
+ public GregorianCalendar getDateReception() {
+ return dateReception;
+ }
+ /**
+ * @param dateReception the dateReception to set
+ */
+ public void setDateReception(GregorianCalendar dateReception) {
+ this.dateReception = dateReception;
+ }
+ /**
+ * @return the dateSignature
+ */
+ public GregorianCalendar getDateSignature() {
+ return dateSignature;
+ }
+ /**
+ * @param dateSignature the dateSignature to set
+ */
+ public void setDateSignature(GregorianCalendar dateSignature) {
+ this.dateSignature = dateSignature;
+ }
+ /**
+ * @return the dateSignaturePublicites
+ */
+ public GregorianCalendar getDateSignaturePublicites() {
+ return dateSignaturePublicites;
+ }
+ /**
+ * @param dateSignaturePublicites the dateSignaturePublicites to set
+ */
+ public void setDateSignaturePublicites(GregorianCalendar dateSignaturePublicites) {
+ this.dateSignaturePublicites = dateSignaturePublicites;
+ }
+ /**
+ * @return the nomSignataire
+ */
+ public String getNomSignataire() {
+ return nomSignataire;
+ }
+ /**
+ * @param nomSignataire the nomSignataire to set
+ */
+ public void setNomSignataire(String nomSignataire) {
+ this.nomSignataire = nomSignataire;
+ }
+ /**
+ * @return the qualiteSignataire
+ */
+ public String getQualiteSignataire() {
+ return qualiteSignataire;
+ }
+ /**
+ * @param qualiteSignataire the qualiteSignataire to set
+ */
+ public void setQualiteSignataire(String qualiteSignataire) {
+ this.qualiteSignataire = qualiteSignataire;
+ }
+ /**
+ * @return the nomSignatairePublicites
+ */
+ public String getNomSignatairePublicites() {
+ return nomSignatairePublicites;
+ }
+ /**
+ * @param nomSignatairePublicites the nomSignatairePublicites to set
+ */
+ public void setNomSignatairePublicites(String nomSignatairePublicites) {
+ this.nomSignatairePublicites = nomSignatairePublicites;
+ }
+ /**
+ * @return the qualiteSignatairePublicites
+ */
+ public String getQualiteSignatairePublicites() {
+ return qualiteSignatairePublicites;
+ }
+ /**
+ * @param qualiteSignatairePublicites the qualiteSignatairePublicites to set
+ */
+ public void setQualiteSignatairePublicites(String qualiteSignatairePublicites) {
+ this.qualiteSignatairePublicites = qualiteSignatairePublicites;
+ }
+ /**
+ * @return the idAR
+ */
+ public String getIdAR() {
+ return idAR;
+ }
+ /**
+ * @param idAR the idAR to set
+ */
+ public void setIdAR(String idAR) {
+ this.idAR = idAR;
+ }
+
+ /**
+ * @return the lightFontName
+ */
+ public String getLightFontName() {
+ return lightFontName;
+ }
+
+ /**
+ * @param lightFontName the lightFontName to set
+ */
+ public void setLightFontName(String lightFontName) {
+ this.lightFontName = lightFontName;
+ }
+
+ /**
+ * @return the boldFontName
+ */
+ public String getBoldFontName() {
+ return boldFontName;
+ }
+
+ /**
+ * @param boldFontName the boldFontName to set
+ */
+ public void setBoldFontName(String boldFontName) {
+ this.boldFontName = boldFontName;
+ }
+
+ /**
+ * @return the italicFontName
+ */
+ public String getItalicFontName() {
+ return italicFontName;
+ }
+
+ /**
+ * @param italicFontName the italicFontName to set
+ */
+ public void setItalicFontName(String italicFontName) {
+ this.italicFontName = italicFontName;
+ }
+
+ /**
+ * @return the signature
+ */
+ public byte[] getSignature() {
+ return signature;
+ }
+
+ /**
+ * @param signature the signature to set
+ */
+ public void setSignature(byte[] signature) {
+ this.signature = signature;
+ }
+
+ /**
+ * @return the signaturePublicites
+ */
+ public byte[] getSignaturePublicites() {
+ return signaturePublicites;
+ }
+
+ /**
+ * @param signaturePublicites the signaturePublicites to set
+ */
+ public void setSignaturePublicites(byte[] signaturePublicites) {
+ this.signaturePublicites = signaturePublicites;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.pdf;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+
+import com.itextpdf.text.BadElementException;
+import com.itextpdf.text.DocumentException;
+import com.itextpdf.text.Element;
+import com.itextpdf.text.Font;
+import com.itextpdf.text.FontFactory;
+import com.itextpdf.text.Image;
+import com.itextpdf.text.PageSize;
+import com.itextpdf.text.Paragraph;
+import com.itextpdf.text.Phrase;
+import com.itextpdf.text.Rectangle;
+import com.itextpdf.text.pdf.BaseFont;
+import com.itextpdf.text.pdf.ColumnText;
+import com.itextpdf.text.pdf.PdfContentByte;
+import com.itextpdf.text.pdf.PdfPCell;
+import com.itextpdf.text.pdf.PdfPTable;
+
+public class TableauRecapitulatifUrbanisme extends TableauRecapitulatifImpl {
+
+ private static final long serialVersionUID = 3774141956000994046L;
+
+ public static final int NUMCOLUMNS = 1;
+
+ public static final String MENTION_SIGNATURE = "Ce document a été signé électroniquement\nsuivant la réglementation en vigueur";
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.pdf.TableauRecapitulatif#write(com.itextpdf.text.pdf.PdfContentByte)
+ */
+ @Override
+ public void write(PdfContentByte canvas) throws DocumentException,
+ MalformedURLException, IOException {
+
+ Font font = FontFactory.getFont(lightFontName, ENCODING, BaseFont.EMBEDDED);
+ font.setSize(7);
+
+ Font titleFont = FontFactory.getFont(boldFontName, ENCODING, BaseFont.EMBEDDED);
+ titleFont.setStyle(Font.FontStyle.UNDERLINE.getValue());
+ titleFont.setSize(8);
+
+ Font italicFont = FontFactory.getFont(italicFontName, ENCODING, BaseFont.EMBEDDED);
+ italicFont.setStyle(Font.FontStyle.ITALIC.getValue());
+ italicFont.setSize(8);
+
+ if (dateReception == null) {
+ if (signature != null) {
+ Image sign = Image.getInstance(signature);
+ float w = sign.getWidth();
+ float h = sign.getHeight();
+ sign.setAbsolutePosition(420f - w / 2, 110 + h / 2);
+ canvas.addImage(sign);
+ }
+
+ PdfPTable table = getPdfTable(italicFont);
+ ColumnText column = new ColumnText(canvas);
+ column.addElement(table);
+ column.setSimpleColumn(300, 90, 300 + table.getTotalWidth(), 90 + table.getTotalHeight());
+ column.go();
+
+ table = getPdfTable2(font, titleFont);
+ column = new ColumnText(canvas);
+ column.addElement(table);
+ column.setSimpleColumn(17, MARGIN_HEIGHT + 120, table.getTotalWidth(), table.getTotalHeight() + MARGIN_HEIGHT);
+ column.go();
+ } else {
+ showDate(canvas, dateEnvoi, 80, 131, font);
+ showDate(canvas, dateReception, 72, 121, font);
+ }
+ }
+
+ private PdfPTable getPdfTable(Font font) throws BadElementException, MalformedURLException, IOException {
+ float totalWidth = 300;
+ float relativeWidths[] = {300};
+ PdfPTable table = new PdfPTable(relativeWidths);
+ table.setTotalWidth(totalWidth);
+
+ PdfPCell cell = createCell(50);
+ cell.addElement(new Paragraph(MENTION_SIGNATURE, font));
+ cell.setBorder(Rectangle.NO_BORDER);
+ table.addCell(cell);
+
+ return table;
+ }
+
+ private PdfPTable getPdfTable2(Font font, Font titleFont) throws BadElementException, MalformedURLException, IOException {
+ float totalWidth = 180;
+ float relativeWidths[] = {180};
+ PdfPTable table = new PdfPTable(relativeWidths);
+ table.setTotalWidth(totalWidth);
+
+ PdfPCell cell = createCell(49);
+ cell.addElement(new Phrase("Préfecture", titleFont));
+ cell.addElement(new Phrase(15, "Envoyé le :", font));
+ cell.addElement(new Phrase("Reçu le :", font));
+ table.addCell(cell);
+
+ return table;
+ }
+
+}
--- /dev/null
+package fr.mbdx.service;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.ExecutionListener;
+import org.springframework.stereotype.Component;
+
+/**
+ * Classe pour avoir les dates d'échéance !
+ *
+ */
+@Component("dueDateResolver")
+public class DueDateResolver implements ExecutionListener {
+
+ private static DateFormat dateFormat = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy", Locale.ENGLISH);
+
+ // ${myBean.addNewOrder('orderName')}
+ private void setDate(DelegateExecution delegateTask, String dateN) {
+ String d = (String) delegateTask.getVariable("Date" + dateN);
+ Date date = new Date();
+ if (d != null) {
+ try {
+ date = dateFormat.parse(d);
+ } catch (ParseException e) {
+ }
+ delegateTask.setVariable("dueDate" + dateN, date);
+ }
+
+ }
+
+ public void notify(DelegateExecution execution) throws Exception {
+ setDate(execution, "Verification");
+ setDate(execution, "ChoixSecteur");
+ setDate(execution, "Analyse");
+ setDate(execution, "Arrete");
+ setDate(execution, "Signature");
+
+ }
+
+}
--- /dev/null
+package fr.mbdx.service;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import fr.mbdx.alfresco.AlfrescoService;
+
+/**
+ * Instruction d'un dossier complet
+ *
+ */
+@Component("instructionDossier")
+public class InstructionDossier {
+
+ @Autowired
+ private AlfrescoService alfrescoService;
+
+}
--- /dev/null
+package fr.mbdx.service;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import fr.mbdx.alfresco.AlfrescoService;
+import fr.mbdx.util.Tools;
+
+/**
+ * Service de notification d'un délais supplémentaire.
+ *
+ */
+@Component("notification")
+public class NotificationDelais extends PermisDeConstruireService{
+
+ @Autowired
+ private AlfrescoService alfrescoService;
+
+ @Override
+ protected String getName() {
+ return "(-Notification délais-)";
+ }
+
+ @Override
+ protected void internalExecution(DelegateExecution execution) {
+ log.info("execution de l'action "+getName()+" pour le permis ["+numeroPC+"]");
+
+ try {
+ alfrescoService.createMessage(numeroPC, getMessage(), "instructionPC-delaisSupp");
+ } catch (Exception e) {
+ log.error("Erreur depot message "+Tools.getMessage(e));
+ }
+ }
+
+ protected String getMessage() {
+ String message = "";
+ message +=getName();
+ message +="\n Le secteur ("+secteur+") du permis "+numeroPC+" nécessite un délais d'instruction supplémentaire.";
+ message +="\n Notification envoyée à "+nomPC==null ? "###":nomPC;
+ return message;
+ }
+}
--- /dev/null
+package fr.mbdx.service;
+
+/**
+ * Service de notification d'une erreur
+ *
+ */
+public class NotificationErreur extends PermisDeConstruireService{
+
+ @Override
+ protected String getName() {
+ return "(-Dossier en erreur-)";
+ }
+
+}
--- /dev/null
+package fr.mbdx.service;
+
+import java.io.IOException;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.impl.util.json.JSONException;
+import org.activiti.engine.impl.util.json.JSONObject;
+import org.apache.chemistry.opencmis.client.api.ItemIterable;
+import org.apache.chemistry.opencmis.client.api.QueryResult;
+import org.apache.chemistry.opencmis.commons.impl.Base64;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.ChallengeScheme;
+import org.restlet.data.Protocol;
+import org.restlet.representation.Representation;
+import org.restlet.resource.ClientResource;
+import org.restlet.resource.ResourceException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import fr.mbdx.parapheur.Bureau;
+import fr.mbdx.parapheur.Dossier;
+import fr.mbdx.util.Tools;
+
+/**
+ * Service d'appel du parapheur.
+ *
+ */
+// @Component("parapheur")
+public class ParapheurService extends PermisDeConstruireService {
+
+ @Autowired
+ private ServiceCMIS serviceCMIS = null;
+
+ private String rootUri;
+ private String userDefaut;
+ private String passwordDefaut;
+ private String cmisUri = null;
+ private String restUri = null;
+
+ private String alfrescoUrl;
+ private String alfrescoUser;
+ private String alfrescoPassword;
+
+ private int intervalleInterrogation;
+
+ private final AtomicInteger envoisEnCours = new AtomicInteger(0);
+
+ @Override
+ protected String getName() {
+ return "(-Parapheur-)";
+ }
+
+ @Override
+ protected void internalExecution(DelegateExecution execution) {
+ log.info("execution de l'action " + getName() + " pour le permis [" + numeroPC + "]");
+ }
+
+ protected String getMessage() {
+ String message = "";
+ message += getName();
+ message += "\n Envoi de l'arrêté " + numeroPC + " au parapheur.";
+ return message;
+ }
+
+ /**
+ * Méthode qui renvoit l'URL vers la page du parapheur permettant au signataire de signer
+ *
+ * @param dossierId
+ * @return
+ * @throws IOException
+ * @throws JSONException
+ */
+ public String getSignaturePageURL(String dossierId) throws IOException, JSONException {
+ Dossier dossierRest = getDossierFromName(dossierId);
+ return getSignaturePageURL(dossierRest);
+ }
+
+ /**
+ * Méthode qui renvoit l'URL vers la page du parapheur permettant au signataire de signer
+
+ * @param dossierRest
+ * @return
+ * @throws IOException
+ * @throws JSONException
+ */
+ public String getSignaturePageURL(Dossier dossierRest) throws IOException, JSONException {
+
+ String urlDossier = "";
+ if (dossierRest != null) {
+ log.debug("Nom du dossier : " + dossierRest.getName());
+ urlDossier = rootUri + "/iparapheur/apercu?nodeId=" + dossierRest.getNodeRef();
+ log.debug("URL du dossier : " + urlDossier);
+ }
+ return urlDossier;
+ }
+
+ /**
+ * Permet de récupérer un dossier parapheur en fonction de son nom en passant directement par CMIS et l'API REST d'Alfresco
+ *
+ * @param name
+ * @return
+ *
+ * @see http://chemistry.apache.org/java/examples/example-process-query-results.html
+ */
+ public Dossier getDossierFromName(String name) {
+ Dossier dossier = null;
+
+ if (serviceCMIS != null) {
+ serviceCMIS.createSession();
+ ItemIterable<QueryResult> results = serviceCMIS.query("SELECT cmis:name, cmis:objectId, cmis:path FROM cmis:folder WHERE cmis:name='"
+ + name + "'");
+ log.debug("Nombre de Réponses de la requête CMIS : " + results.getTotalNumItems());
+ if (results.getTotalNumItems() > 0) {
+ QueryResult res = results.iterator().next();
+ dossier = new Dossier(res);
+
+ String path = dossier.getPath();
+ log.debug("path : " + dossier.getPath());
+ // path a la forme suivante : /Parapheurs/Le Maire/Dossiers à traiter/97608ad4-a08e-44b1-9871-3fc94015edfb
+ String parapheur = path.substring(path.indexOf("/Parapheurs/") + 12, path.indexOf("/Dossiers"));
+ log.debug("Path parapheur : " + parapheur);
+
+ Client clientRestlet = new Client(new Context(), Protocol.HTTP);
+ ClientResource clientResource = null;
+ Representation response = null;
+ try {
+ // Utilisation du webscript parapheur : http://xxx/alfresco/s/parapheur/api/getBureau
+ clientResource = new ClientResource(restUri + "/s/parapheur/api/admin/getBureau?name=" + parapheur);
+ log.debug("URL REST : " + restUri + "/s/parapheur/api/admin/getBureau?name=" + parapheur);
+ clientResource.setNext(clientRestlet);
+ clientResource.setChallengeResponse(ChallengeScheme.HTTP_BASIC, userDefaut, passwordDefaut);
+ response = clientResource.get();
+ JSONObject json = new JSONObject(response.getText());
+ log.debug("Récupération du bureau en JSON");
+ if (json != null) {
+ log.debug("Récupération du bureau");
+ Bureau bureau = new Bureau(json);
+ dossier.setBureau(bureau);
+ }
+ } catch (ResourceException e) {
+ log.error(" Status: " + e.getStatus() + ". Message : " + e.getMessage());
+ } catch (JSONException e) {
+ log.error(Tools.getMessage(e));
+ } catch (IOException e) {
+ log.error(Tools.getMessage(e));
+ } finally {
+ if (response != null) {
+ response.release();
+ }
+ if (clientResource != null) {
+ clientResource.release();
+ }
+ }
+ } else {
+ log.error("La service CMIS n'a pu être initialisé !");
+ }
+ }
+ return dossier;
+ }
+
+ /**
+ * Retourne le contenu binaire de l'image de signature d'un utilisateur donné
+ *
+ * @param signataireUsername
+ * @return
+ */
+ public byte[] getImageSignature(String signataireUsername) {
+
+ log.debug("Récupération de la griffe de l'utilisateur " + signataireUsername);
+ byte[] contentBytes = null;
+
+ Representation response = null;
+ try {
+ String parapheurUrl = rootUri.replaceAll("https", "http");
+
+ // Appel du Webscript Alfresco qui permet de récupérer l'image du signataire
+ ClientResource clientResource = new ClientResource(alfrescoUrl + "/s/fr/mbdx/noyau/signature/recupSignImage?signataire="
+ + signataireUsername + "¶pheurURL=" + parapheurUrl + "&user=" + alfrescoUser + "&password=" + alfrescoPassword);
+
+ log.debug("URL REST : " + restUri + "/s/fr/mbdx/noyau/signature/recupSignImage?signataire=" + signataireUsername + "¶pheurURL="
+ + parapheurUrl + "&user=" + alfrescoUser + "&password=" + alfrescoPassword);
+
+ clientResource.setChallengeResponse(ChallengeScheme.HTTP_BASIC, alfrescoUser, alfrescoPassword);
+ response = clientResource.get();
+ // Récupération de l'objet JSON
+ JSONObject json = new JSONObject(response.getText());
+ log.debug("Récupération du bureau en JSON");
+ if (json != null) {
+ log.debug("Récupération de l'image");
+ // Récupération de l'image au format Base64
+ String imageStr = (String) json.get("imageByteArray");
+ // Conversion en tableau de bytes
+ if (imageStr != null && !imageStr.isEmpty()) {
+ contentBytes = Base64.decode(imageStr);
+ }
+ }
+ } catch (ResourceException e) {
+ log.error(" Status: " + e.getStatus() + ". Message : " + e.getMessage());
+ } catch (JSONException e) {
+ log.error(Tools.getMessage(e));
+ } catch (IOException e) {
+ log.error(Tools.getMessage(e));
+ } finally {
+ if (response != null) {
+ response.release();
+ }
+ }
+ // serviceCMIS.createSession();
+ //
+ // // On cherche tous les documents correspondant à des images de signature
+ // ItemIterable<QueryResult> results = serviceCMIS
+ // .query("SELECT cmis:name, cmis:objectId FROM cmis:document WHERE cmis:name='Scan Signature'");
+ // log.debug("Nombre de documents avec le nom 'Scan Signature' : " + results.getTotalNumItems());
+ //
+ // // Si le nombre de résultats est > 0
+ // if (results.getTotalNumItems() > 0) {
+ //
+ // ContentStream content;
+ // InputStream is;
+ // QueryResult res = results.iterator().next();
+ // String nodeRef = res.getPropertyValueByQueryName("cmis:objectId");
+ // AlfrescoDocument doc = serviceCMIS.getDocument(nodeRef);
+ // if (doc != null) {
+ // content = doc.getContentStream();
+ // is = content.getStream();
+ // try {
+ // contentBytes = IOUtils.toByteArray(is);
+ // } catch (IOException e) {
+ // log.error("Problème de lecture de l'image de signature : " + e.getMessage());
+ // }
+ // }
+ // }
+ return contentBytes;
+ }
+
+ public void init() {
+ // Initialisation du service CMIS iParapheur
+ if (cmisUri == null) {
+ cmisUri = rootUri + "/alfresco/service/cmis";
+ // TODO cmisUri.replace("https://", "http://") => trouver un moyen + propre de contourner notre pb de connexion HTTPS
+ cmisUri = cmisUri.replaceFirst("https://", "http://");
+ serviceCMIS = new ServiceCMIS(cmisUri, userDefaut, passwordDefaut);
+ }
+
+ // Initialisation du service REST iParapheur
+ if (restUri == null) {
+ restUri = rootUri + "/alfresco";
+ // TODO restUri.replace("https://", "http://") => trouver un moyen + propre de contourner notre pb de connexion HTTPS
+ restUri = restUri.replaceFirst("https://", "http://");
+ }
+ }
+
+ public String getInterrogationTimerDuration() {
+ return "PT" + intervalleInterrogation + "S";
+ }
+
+ public int getEnvoisencours() {
+ return envoisEnCours.get();
+ }
+
+ public void incrementEnvoisencours() {
+ envoisEnCours.incrementAndGet();
+ }
+
+ public void decrementEnvoisencours() {
+ envoisEnCours.decrementAndGet();
+ }
+
+ public void setRootUri(String rootUri) {
+ this.rootUri = rootUri;
+ }
+
+ public void setUserDefaut(String userDefaut) {
+ this.userDefaut = userDefaut;
+ }
+
+ public void setPasswordDefaut(String passwordDefaut) {
+ this.passwordDefaut = passwordDefaut;
+ }
+
+ public void setServiceCMIS(ServiceCMIS serviceCMIS) {
+ this.serviceCMIS = serviceCMIS;
+ }
+
+ public void setCmisUri(String cmisUri) {
+ this.cmisUri = cmisUri;
+ }
+
+ public void setRestUri(String restUri) {
+ this.restUri = restUri;
+ }
+
+ public void setAlfrescoUrl(String alfrescoUrl) {
+ this.alfrescoUrl = alfrescoUrl;
+ }
+
+ public void setAlfrescoUser(String alfrescoUser) {
+ this.alfrescoUser = alfrescoUser;
+ }
+
+ public void setAlfrescoPassword(String alfrescoPassword) {
+ this.alfrescoPassword = alfrescoPassword;
+ }
+
+ public int getIntervalleInterrogation() {
+ return intervalleInterrogation;
+ }
+
+ public void setIntervalleInterrogation(int intervalleInterrogation) {
+ this.intervalleInterrogation = intervalleInterrogation;
+ }
+}
--- /dev/null
+package fr.mbdx.service;
+
+import org.activiti.engine.delegate.DelegateExecution;
+
+
+/**
+ * Service pour la notification d'un délais supplémentaire.
+ *
+ */
+public abstract class PermisDeConstruireService extends ServiceSpecifique {
+
+ protected String numeroPC;
+ protected String secteur;
+ protected String nomPC;
+
+ @Override
+ protected void internalExecution(DelegateExecution execution) {
+ log.info("execution de l'action "+getName()+" pour le permis ["+numeroPC+"]");
+ }
+
+
+ @Override
+ protected void extractParams(DelegateExecution execution) {
+ numeroPC = (String) execution.getVariableLocal("numeroPC");
+ secteur = (String) execution.getVariableLocal("secteur");
+ nomPC = (String) execution.getVariableLocal("nomPC");
+
+ }
+
+ @Override
+ protected void setVariables(DelegateExecution execution) {
+ execution.setVariable("result", "OK");
+
+ }
+
+ /**
+ * Nom de l'action
+ * @return
+ */
+ protected abstract String getName();
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.service;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigInteger;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.chemistry.opencmis.client.api.CmisObject;
+import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.client.api.Folder;
+import org.apache.chemistry.opencmis.client.api.ItemIterable;
+import org.apache.chemistry.opencmis.client.api.OperationContext;
+import org.apache.chemistry.opencmis.client.api.Property;
+import org.apache.chemistry.opencmis.client.api.QueryResult;
+import org.apache.chemistry.opencmis.client.api.Repository;
+import org.apache.chemistry.opencmis.client.api.Session;
+import org.apache.chemistry.opencmis.client.api.SessionFactory;
+import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl;
+import org.apache.chemistry.opencmis.client.util.OperationContextUtils;
+import org.apache.chemistry.opencmis.commons.PropertyIds;
+import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.chemistry.opencmis.commons.enums.BindingType;
+import org.apache.chemistry.opencmis.commons.enums.VersioningState;
+import org.apache.chemistry.opencmis.commons.impl.dataobjects.ContentStreamImpl;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.pdf.TableauRecapitulatif;
+import fr.mbdx.util.Acte;
+import fr.mbdx.util.Tools;
+
+/**
+ * Service permettant d'accéder à l'API CMIS d'un entrepôt Alfresco
+ *
+ * N.B. Cette version suppose qu'il n'y a qu'un seul entrepôt à l'URL donné (voir la doc OpenCMIS pour les cas où il y en a plusieurs)
+ *
+ * @see https://code.google.com/a/apache-extras.org/p/alfresco-opencmis-extension/
+ */
+public class ServiceCMIS {
+
+ public static String NAME_DATE_VOTE = "mbdx:dateVote";
+ public static String NAME_DATE_PUBLICATION = "mbdx:datePublication";
+ public static String NAME_DATE_ENVOI = "mbdx:datePublication";
+ public static String NAME_DATE_RECEPTION = "mbdx:dateReception";
+ public static String NAME_ID_RETOUR = "mbdx:idRetour";
+ public static String NAME_NOM_SIGNATAIRE = "mbdx:nomSignataire";
+ public static String NAME_FONCTION_SIGNATAIRE = "mbdx:fonctionSignataire";
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ public ServiceCMIS() {
+ }
+
+ /**
+ * @param url
+ * @param user
+ * @param password
+ */
+ public ServiceCMIS(String url, String user, String password) {
+ this.url = url;
+ this.user = user;
+ this.password = password;
+ }
+
+ public static String OBJECT_FACTORY_CLASS = "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl";
+ public static String SPACES_STORE_PREFIX = "workspace://SpacesStore/";
+
+ private final SessionFactory factory = SessionFactoryImpl.newInstance();
+ private Session session = null;
+
+ private String url = null;
+ private String user = null;
+ private String password = null;
+
+ // Temporisation entre deux envois activiti -> iParapheur (en seconde)
+ private int intervalleEnvoiParapheur = 20;
+
+ public void createSession() {
+ Map<String, String> parameter = new HashMap<String, String>();
+
+ // user credentials
+ parameter.put(SessionParameter.USER, user);
+ parameter.put(SessionParameter.PASSWORD, password);
+
+ // connection settings
+ parameter.put(SessionParameter.ATOMPUB_URL, url);
+ parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
+
+ // Set the alfresco object factory
+ parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, OBJECT_FACTORY_CLASS);
+
+ try {
+ List<Repository> repositories = factory.getRepositories(parameter);
+ log.debug("Création de la session CMIS");
+ // create session
+ session = repositories.get(0).createSession();
+ log.debug("Création de la session CMIS -> Fin()");
+ } catch (Exception e) {
+ log.error("Erreur lors de la création de la session CMIS : " + e.getMessage());
+ }
+
+ }
+
+ public ItemIterable<QueryResult> query(String statement) {
+ return session.query(statement, false);
+ }
+
+ public AlfrescoDocument getDocument(String id) {
+ AlfrescoDocument doc = (AlfrescoDocument) session.getObject(getObjectKey(id));
+ return doc;
+ }
+
+ public Folder getFolder(String id) {
+ // FIXME Sleep 60 s à enlever si plus nécessaire
+ // Ajout d'un Sleep pour éviter une CmisObjectNotFoundException causée probablement par une transaction qui traîne côté Alfresco au moment de
+ // l'import des délibérations...
+ try {
+ Thread.sleep(60000);
+ } catch (InterruptedException e) {
+ log.error(e);
+ }
+ Folder folder = (Folder) session.getObject(getObjectKey(id));
+ return folder;
+ }
+
+ public ContentStream createContentStream(String filename, long length, String mimetype, InputStream stream) {
+ return session.getObjectFactory().createContentStream(filename, length, mimetype, stream);
+ }
+
+ public AlfrescoDocument createDocument(Folder parent, String filename, byte[] content, String mimetype) {
+ Map<String, Object> properties = new HashMap<String, Object>();
+ properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document");
+ properties.put(PropertyIds.NAME, filename);
+
+ // content
+ InputStream stream = new ByteArrayInputStream(content);
+ ContentStream contentStream = new ContentStreamImpl(filename, BigInteger.valueOf(content.length), mimetype, stream);
+
+ // create a major version
+ return (AlfrescoDocument) parent.createDocument(properties, contentStream, VersioningState.MAJOR);
+ }
+
+ public AlfrescoDocument createDocument(Folder parent, String filename, byte[] content, String mimetype, Map<String, Object> properties) {
+ // content
+ InputStream stream = new ByteArrayInputStream(content);
+ ContentStream contentStream = new ContentStreamImpl(filename, BigInteger.valueOf(content.length), mimetype, stream);
+
+ // create a major version
+ return (AlfrescoDocument) parent.createDocument(properties, contentStream, VersioningState.MAJOR);
+ }
+
+ public void updateProperty(CmisObject object, String name, String value) {
+ Map<String, Object> properties = new HashMap<String, Object>();
+ properties.put(name, value);
+ object.updateProperties(properties);
+ }
+
+ public void updateProperties(CmisObject object, Map<String, Object> properties) {
+ object.updateProperties(properties);
+ }
+
+ public void addAspect(AlfrescoDocument document, String aspect) {
+ document.addAspect(aspect);
+ }
+
+ public String getObjectKey(String id) {
+ if (id.startsWith(SPACES_STORE_PREFIX)) {
+ return id;
+ }
+ return SPACES_STORE_PREFIX + id;
+ }
+
+ public List<CmisObject> getChildren(Folder folder, boolean files, boolean folders) {
+ log.debug("ServiceCMIS.getChildren() IN");
+ List<CmisObject> result = new ArrayList<CmisObject>();
+ ItemIterable<CmisObject> children = folder.getChildren();
+ log.debug("Le dossier " + folder.getName() + " contient " + children.getTotalNumItems() + " documents");
+ Iterator<CmisObject> items = children.iterator();
+ int i = 0;
+ while (items.hasNext()) {
+ CmisObject item = items.next();
+ if (files && item instanceof Document) {
+ ++i;
+ log.debug("" + i + ") " + item.getName());
+ result.add(item);
+ } else if (folders && item instanceof Folder) {
+ result.add(item);
+ }
+ }
+ log.debug("ServiceCMIS.getChildren() OUT");
+ return result;
+ }
+
+ public List<Document> getFilesRecursively(Folder folder) {
+ List<Document> result = new ArrayList<Document>();
+ ItemIterable<CmisObject> children = folder.getChildren();
+ Iterator<CmisObject> items = children.iterator();
+ while (items.hasNext()) {
+ CmisObject item = items.next();
+ if (item instanceof Document) {
+ result.add((Document) item);
+ } else if (item instanceof Folder) {
+ result.addAll(getFilesRecursively((Folder) item));
+ }
+ }
+ return result;
+ }
+
+ public List<String> getChildrenId(String folderId, boolean files, boolean folders) {
+ List<String> result = new ArrayList<String>();
+ Folder folder = getFolder(folderId);
+ List<CmisObject> list = getChildren(folder, files, folders);
+ for (CmisObject doc : list) {
+ result.add(doc.getId());
+ }
+ return result;
+ }
+
+ public List<Acte> getActes(String folderId) {
+ log.debug("getActes() IN");
+ log.info("Récupération des actes du dossier " + folderId);
+ List<Acte> result = new ArrayList<Acte>();
+ Folder folder = getFolder(folderId);
+
+ OperationContext context = OperationContextUtils.createOperationContext();
+ context.setIncludeAcls(false);
+ context.setIncludeAllowableActions(false);
+ context.setIncludePolicies(false);
+ context.setMaxItemsPerPage(10000);
+ ItemIterable<CmisObject> children = folder.getChildren(context);
+
+ SimpleDateFormat sdf = new SimpleDateFormat("HHmmss");
+ String id = sdf.format(new Date()) + "-";
+ int i = 0;
+ String.valueOf(i);
+ for (CmisObject doc : children) {
+ // L'identifiant de l'acte correspondant à l'heure courante au moment du lancement du traitement du lot
+ // (au format HHmmss) concaténée au numéro chrono du document dans le lot
+ ++i;
+ result.add(new Acte((AlfrescoDocument) doc, id + String.valueOf(i), (i - 1) * intervalleEnvoiParapheur));
+ log.debug("" + (i + 1) + ") " + doc.getName());
+ }
+ log.debug("getActes() OUT");
+ return result;
+ }
+
+ /**
+ * Remplit un tableau récapitulatif du workflow signature
+ *
+ * @param tab
+ * @param doc
+ */
+ public static void remplirTableauSignature(TableauRecapitulatif tab, AlfrescoDocument doc) {
+ Property<GregorianCalendar> propDateVote = doc.getProperty(NAME_DATE_VOTE);
+ Property<GregorianCalendar> propDatePublication = doc.getProperty(NAME_DATE_PUBLICATION);
+
+ if (propDateVote != null) {
+ GregorianCalendar dateVote = propDateVote.getValue();
+ tab.setDateSignature(dateVote);
+ }
+ if (propDatePublication != null) {
+ GregorianCalendar datePublication = propDatePublication.getValue();
+ tab.setDateAffichage(datePublication);
+ }
+ }
+
+ /**
+ * Remplit un tableau récapitulatif du workflow iXbus suite à l'envoi TdT
+ *
+ * @param tab
+ * @param doc
+ */
+ public static void remplirTableauEnvoiTdT(TableauRecapitulatif tab, AlfrescoDocument doc) {
+ remplirTableauSignature(tab, doc);
+
+ Property<String> propNomSignataire = doc.getProperty(NAME_NOM_SIGNATAIRE);
+ if (propNomSignataire != null) {
+ tab.setNomSignataire(propNomSignataire.getValueAsString());
+ }
+
+ Property<String> propQualiteSignataire = doc.getProperty(NAME_FONCTION_SIGNATAIRE);
+ if (propQualiteSignataire != null) {
+ tab.setQualiteSignataire(propQualiteSignataire.getValueAsString());
+ }
+ }
+
+ /**
+ * Remplit un tableau récapitulatif du workflow délibérations suite à la signature des publicités
+ *
+ * @param tab
+ * @param doc
+ */
+ public static void remplirTableauPublicites(TableauRecapitulatif tab, AlfrescoDocument doc) {
+ remplirTableauEnvoiTdT(tab, doc);
+
+ Property<GregorianCalendar> propDateEnvoi = doc.getProperty(NAME_DATE_ENVOI);
+ Property<GregorianCalendar> propDateReception = doc.getProperty(NAME_DATE_RECEPTION);
+
+ if (propDateEnvoi != null) {
+ GregorianCalendar dateEnvoi = propDateEnvoi.getValue();
+ tab.setDateEnvoi(dateEnvoi);
+ }
+
+ if (propDateReception != null) {
+ GregorianCalendar dateReception = propDateReception.getValue();
+ tab.setDateReception(dateReception);
+ }
+
+ Property<String> propIdAR = doc.getProperty(NAME_ID_RETOUR);
+ if (propIdAR != null) {
+ tab.setIdAR(propIdAR.getValueAsString());
+ }
+ }
+
+ public byte[] getContent(Document doc) {
+ byte[] content = null;
+ ContentStream contentStream = doc.getContentStream();
+ InputStream inputStream = contentStream.getStream();
+ try {
+ content = Tools.extract(inputStream);
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ }
+ return content;
+ }
+
+ /**
+ * @return the url
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * @param url
+ * the url to set
+ */
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ /**
+ * @return the user
+ */
+ public String getUser() {
+ return user;
+ }
+
+ /**
+ * @param user
+ * the user to set
+ */
+ public void setUser(String user) {
+ this.user = user;
+ }
+
+ /**
+ * @return the password
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * @param password
+ * the password to set
+ */
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public int getIntervalleEnvoiParapheur() {
+ return intervalleEnvoiParapheur;
+ }
+
+ public void setIntervalleEnvoiParapheur(int intervalleEnvoiParapheur) {
+ this.intervalleEnvoiParapheur = intervalleEnvoiParapheur;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.service;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.zip.ZipOutputStream;
+
+import javax.xml.bind.JAXBException;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.impl.util.json.JSONException;
+import org.activiti.engine.impl.util.json.JSONObject;
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.chemistry.opencmis.client.api.CmisObject;
+import org.apache.chemistry.opencmis.client.api.Folder;
+import org.apache.chemistry.opencmis.client.api.Property;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.chemistry.opencmis.commons.impl.Base64;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.ixbus.client.Attachment;
+import fr.mbdx.ixbus.client.ClientException;
+import fr.mbdx.ixbus.client.impl.AttachmentCfxImpl;
+import fr.mbdx.ixbus.client.impl.Utils;
+
+/**
+ * Intégration AirsDelib
+ */
+public class ServiceDelib {
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private ServiceRestAlfresco serviceRestAlfresco;
+ private ServiceCMIS serviceCMIS;
+ private Utils utils;
+ private String activitiHost;
+ private String activitiPort;
+ private String activitiProtocol;
+
+ // Envoi de l'original au TDT ou non
+ private boolean sendOriginalToTDT;
+
+ /**
+ * Crée une pièce jointe iXbus à partir du contenu d'un répertoire de
+ * délibérations
+ *
+ * @param id
+ * @return
+ * @throws ClientException
+ * @throws IOException
+ * @throws JAXBException
+ */
+ public Attachment createPjFromFolderId(String id) throws ClientException,
+ IOException, JAXBException {
+ Attachment attach = new AttachmentCfxImpl();
+ byte[] bytes = null;
+ ByteArrayOutputStream baos = null;
+ ZipOutputStream zos = null;
+ List<String> annexes = new ArrayList<String>();
+ serviceCMIS.createSession();
+
+ try {
+ baos = new ByteArrayOutputStream();
+ zos = new ZipOutputStream(baos);
+
+ Folder folder = serviceCMIS.getFolder(id);
+ String foldername = folder.getName();
+ List<CmisObject> list = serviceCMIS
+ .getChildren(folder, true, false);
+ for (CmisObject obj : list) {
+ AlfrescoDocument doc = (AlfrescoDocument) obj;
+ Property<?> envoiTdTProp = doc.getProperty("mdbx:envoiTdT");
+ if (envoiTdTProp != null) {
+ boolean envoiTdT = (Boolean) envoiTdTProp.getValue();
+ if (envoiTdT) {
+ if (sendOriginalToTDT) {
+ String refArchiveRm = (String) doc.getProperty(
+ "mbdx:refArchiveRmString").getValue();
+ doc = serviceCMIS.getDocument(refArchiveRm);
+ }
+ ContentStream contentStream = doc.getContentStream();
+ InputStream is = contentStream.getStream();
+ String filename = contentStream.getFileName();
+ String uniqueFileName = utils
+ .getUniqueFileName(filename);
+ log.debug("Création pièce jointe " + uniqueFileName);
+ utils.putEntryIntoZipOutputStream(zos, is,
+ uniqueFileName);
+ annexes.add(uniqueFileName);
+ }
+ }
+ }
+
+ if (annexes.size() > 0) {
+ String mainDocument = annexes.get(0);
+ annexes.remove(0);
+ String attachmentDescription = utils
+ .createAttachmentDescription(mainDocument, annexes);
+ zos.setComment(attachmentDescription);
+ }
+
+ zos.finish();
+
+ bytes = baos.toByteArray();
+ attach.setContent(bytes);
+ attach.setSize(bytes.length);
+ attach.setName("DELIB_" + foldername + ".pj");
+ } finally {
+ if (baos != null) {
+ baos.close();
+ }
+ if (zos != null) {
+ zos.close();
+ }
+ }
+
+ return attach;
+ }
+
+ /**
+ * Met à jour les métadonnées sur l'ensemble des documents d'un dossier de
+ * délibérations suite à la réception de l'A/R TDT
+ *
+ * @param id
+ * Identifiant Alfresco du dossier
+ * @param prop
+ */
+ public void updateTdTProperties(String id, Map<String, Object> prop) {
+ Folder folder = serviceCMIS.getFolder(id);
+ List<CmisObject> list = serviceCMIS.getChildren(folder, true, false);
+ for (CmisObject obj : list) {
+ AlfrescoDocument doc = (AlfrescoDocument) obj;
+ Property<?> envoiTdTProp = doc.getProperty("mdbx:envoiTdT");
+ if (envoiTdTProp != null) {
+ boolean envoiTdT = (Boolean) envoiTdTProp.getValue();
+ if (envoiTdT) {
+ doc.addAspect("P:mbdx:accuseReceptionTdT", prop);
+ }
+ }
+ }
+ }
+
+ /**
+ * Initialise dans le fil d'exécution certaines variables spécifiques aux
+ * délibérations -> actID, actNature, matiere et subject
+ *
+ * @param execution
+ */
+ public void setMandatoryVariables(DelegateExecution execution,
+ AlfrescoDocument doc) {
+ execution.setVariable("actID", doc.getId());
+ execution.setVariable("actNature", "1");
+ execution.setVariable("matiere", getMatiere(doc));
+ execution
+ .setVariable("subject", doc.getProperty("cm:title").getValue());
+ }
+
+ /**
+ * Retourne le code matière correspondant à la nomenclature document
+ * attendue par la préfecture / TdT
+ *
+ * @param doc
+ * @return
+ */
+ public String getMatiere(AlfrescoDocument doc) {
+ String matiere = null;
+ String req = "/wcs/api/metadata";
+
+ Map<String, String> param = new HashMap<String, String>();
+ param.put("nodeRef", doc.getId());
+
+ JSONObject json = serviceRestAlfresco.get(req, param);
+ try {
+ // Récupération de la valeur (noderef) de la métadonnée "matière" du
+ // document délib courant
+ JSONObject properties = json.getJSONObject("properties");
+ String refMatiere = properties
+ .getString("{http://wwww.bordeaux.fr/model/mbdx}matiere");
+
+ // Récupération du libellé de la matière à partir du noderef
+ // précédent
+ param.put("nodeRef", refMatiere);
+ json = serviceRestAlfresco.get(req, param);
+ properties = json.getJSONObject("properties");
+ matiere = properties
+ .getString("{http://www.alfresco.org/model/content/1.0}name");
+
+ // Extraction du code matière à partir du libellé complet. Exemple :
+ // libelle = 1.1 xxx -> codeMatière = 1.1
+ int endIndex = matiere.indexOf(" ");
+ if (endIndex > 0) {
+ matiere = matiere.substring(0, endIndex);
+ if (matiere.endsWith(".")) {
+ matiere = matiere.substring(0, endIndex - 1);
+ }
+ }
+ } catch (JSONException e) {
+ log.info("Interrogation de la matière du document " + doc.getName()
+ + " -> Echec !!!!");
+ log.error(e.getMessage(), e);
+ throw e;
+ }
+
+ return matiere;
+ }
+
+ /**
+ * Retourne un URL pointant directement vers la tâche affectée à
+ * l'utilisateur en cours au sein d'Activiti Explorer Il a la forme suivante
+ * : http://localhost:8180/activiti-explorer/ui/#tasks/115034?category=inbox
+ *
+ * @param execution
+ * @param taskId
+ * @return
+ */
+ public String getUserTaskUrl(DelegateExecution execution) {
+ String port = activitiPort.equals("80") ? "" : ":" + activitiPort;
+ String url = activitiProtocol + "://" + activitiHost + port
+ + "/activiti-explorer/ui/#tasks/"
+ + execution.getProcessInstanceId() + "?category=involved";
+ return url;
+ }
+
+ public String encodeBytes(byte[] source) {
+ return Base64.encodeBytes(source);
+ }
+
+ public byte[] decodeBytes(String source) throws IOException {
+ return Base64.decode(source);
+ }
+
+ /**
+ * @param serviceCMIS
+ * the serviceCMIS to set
+ */
+ public void setServiceCMIS(ServiceCMIS serviceCMIS) {
+ this.serviceCMIS = serviceCMIS;
+ }
+
+ /**
+ * @return the sendOriginalToTDT
+ */
+ public boolean isSendOriginalToTDT() {
+ return sendOriginalToTDT;
+ }
+
+ /**
+ * @param sendOriginalToTDT
+ * the sendOriginalToTDT to set
+ */
+ public void setSendOriginalToTDT(boolean sendOriginalToTDT) {
+ this.sendOriginalToTDT = sendOriginalToTDT;
+ }
+
+ /**
+ * @param utils
+ * the utils to set
+ */
+ public void setUtils(Utils utils) {
+ this.utils = utils;
+ }
+
+ /**
+ * @param serviceRestAlfresco
+ * the serviceRestAlfresco to set
+ */
+ public void setServiceRestAlfresco(ServiceRestAlfresco serviceRestAlfresco) {
+ this.serviceRestAlfresco = serviceRestAlfresco;
+ }
+
+ /**
+ * @param activitiHost
+ * the activitiHost to set
+ */
+ public void setActivitiHost(String activitiHost) {
+ this.activitiHost = activitiHost;
+ }
+
+ /**
+ * @param activitiPort
+ * the activitiPort to set
+ */
+ public void setActivitiPort(String activitiPort) {
+ this.activitiPort = activitiPort;
+ }
+
+ /**
+ * @param activitiProtocol
+ * the activitiProtocol to set
+ */
+ public void setActivitiProtocol(String activitiProtocol) {
+ this.activitiProtocol = activitiProtocol;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.service;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.activiti.engine.impl.util.json.JSONException;
+import org.activiti.engine.impl.util.json.JSONObject;
+import org.apache.log4j.Logger;
+
+import com.itextpdf.text.DocumentException;
+import com.itextpdf.text.pdf.PdfAConformanceLevel;
+import com.itextpdf.text.pdf.PdfAStamper;
+import com.itextpdf.text.pdf.PdfContentByte;
+import com.itextpdf.text.pdf.PdfReader;
+import com.itextpdf.text.pdf.PdfStamper;
+
+import fr.mbdx.pdf.TableauRecapitulatif;
+import fr.mbdx.pdf.TableauRecapitulatifDeliberation;
+import fr.mbdx.pdf.TableauRecapitulatifUrbanisme;
+
+/**
+ * Classe regroupant les services de transformation & modification de documents au format PDF
+ */
+public class ServicePDF {
+
+ private final Logger log = Logger.getLogger(getClass());
+
+ private ServiceRestAlfresco serviceRestAlfresco;
+
+ /**
+ * Permet de transformer un document au format PDF en passant par un webscript Alfresco
+ *
+ * @param nodeRef
+ * référence du noeud Alfresco à transformer
+ * @param name
+ * nom du fichier PDF à générer dans le même dossier que le fichier d'origine
+ * @return référence Alfresco du document PDF obtenu
+ */
+ public String transformToPdf(String nodeRef, String name) {
+ String result = null;
+ String req = "/wcs/fr/mbdx/noyau/transform/pdf";
+
+ Map<String, String> param = new HashMap<String, String>();
+ if (!nodeRef.startsWith("workspace://SpacesStore/")) {
+ nodeRef = "workspace://SpacesStore/" + nodeRef;
+ }
+ param.put("nodeRef", nodeRef);
+ param.put("pdfName", name);
+
+ JSONObject res = serviceRestAlfresco.get(req, param);
+ try {
+ JSONObject data = res.getJSONObject("data");
+ result = data.getString("pdfRef");
+ } catch (JSONException e) {
+ log.error(e.getMessage(), e);
+ }
+
+ return result;
+ }
+
+ /**
+ * Crée un nouveau tableau récapitulatif
+ * @param typeGed
+ * @return
+ */
+ public TableauRecapitulatif createTableau(String typeGed) {
+ TableauRecapitulatif tab = null;
+ if (typeGed.equals("delib") || typeGed.equals("publicites")) {
+ tab = new TableauRecapitulatifDeliberation();
+ } else {
+ tab = new TableauRecapitulatifUrbanisme();
+ }
+ tab.setBoldFontName("/fr/mbdx/pdf/fonts/OPENSANS-BOLD.TTF");
+ tab.setLightFontName("/fr/mbdx/pdf/fonts/OPENSANS-REGULAR.TTF");
+ tab.setItalicFontName("/fr/mbdx/pdf/fonts/OPENSANS-ITALIC.TTF");
+ return tab;
+ }
+
+ /**
+ * Ajoute un tableau en bas de la première page d'un document PDF
+ *
+ * @param pdfIn
+ * Contenu binaire du document PDF source
+ * @param tab
+ * Tableau à ajouter
+ * @param removeFirstPage
+ * Supprimer la 1e page (bordereau parapheur)
+ * @param putTableOnFirstPage
+ * Placer le tableau sur la 1e page plutôt que la dernière
+ * @return Contenu binaire du document PDF obtenu
+ * @throws DocumentException
+ * @throws IOException
+ */
+ public byte[] ecrireTableauRecapitulatif(byte[] pdfIn, TableauRecapitulatif tab, boolean removeFirstPage, boolean putTableOnFirstPage) throws DocumentException, IOException {
+ byte[] pdfOut = null;
+
+ PdfReader reader = new PdfReader(pdfIn);
+
+ // 2e reader au cas où ce ne serait pas du PDFA
+
+ PdfReader reader2 = null;
+
+ int pages = reader.getNumberOfPages();
+
+ String ranges = null;
+ if (pages > 1 && removeFirstPage) {
+ // On élimine la 1e page correspondant au bordereau parapheur
+ ranges = pages > 2 ? "2-" + String.valueOf(pages) : "2";
+ reader.selectPages(ranges);
+ pages--;
+ }
+
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ PdfStamper stamper = null;
+ try {
+ // on fait un premier essai en PDFA
+ stamper = new PdfAStamper(reader, os, '\0', false, PdfAConformanceLevel.PDF_A_1B);
+
+ } catch (Exception e) {
+ // on se rabat sur du PDF classique si ce n'est pas le cas
+ reader2 = new PdfReader(pdfIn);
+ if (ranges != null) {
+ reader2.selectPages(ranges);
+ }
+ stamper = new PdfStamper(reader2, os, '\0', false);
+ }
+ //On récupère le contenu de la 1e page afin d'y écrire le contenu de notre tableau
+ int pageNum = putTableOnFirstPage ? 1 : pages;
+ PdfContentByte cb = stamper.getOverContent(pageNum);
+ tab.write(cb);
+ stamper.close();
+ reader.close();
+ if (reader2 != null) {
+ reader2.close();
+ }
+ os.close();
+ pdfOut = os.toByteArray();
+
+ return pdfOut;
+ }
+
+ /**
+ * @param serviceRestAlfresco
+ * the serviceRestAlfresco to set
+ */
+ public void setServiceRestAlfresco(ServiceRestAlfresco serviceRestAlfresco) {
+ this.serviceRestAlfresco = serviceRestAlfresco;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.service;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.charset.Charset;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.activiti.engine.impl.util.json.JSONException;
+import org.activiti.engine.impl.util.json.JSONObject;
+import org.apache.log4j.Logger;
+import org.restlet.Client;
+import org.restlet.Context;
+import org.restlet.data.ChallengeScheme;
+import org.restlet.data.MediaType;
+import org.restlet.data.Protocol;
+import org.restlet.representation.Representation;
+import org.restlet.representation.StringRepresentation;
+import org.restlet.resource.ClientResource;
+
+public class ServiceRestAlfresco {
+
+ public ServiceRestAlfresco() {
+ }
+
+ /**
+ * @param rootUri
+ * @param userDefaut
+ * @param passwordDefaut
+ */
+ public ServiceRestAlfresco(String rootUri, String userDefaut, String passwordDefaut) {
+ this.rootUri = rootUri;
+ this.userDefaut = userDefaut;
+ this.passwordDefaut = passwordDefaut;
+ }
+
+ private final Logger log = Logger.getLogger(getClass());
+
+ /**
+ * Root du serveur Rest.
+ *
+ */
+ private String rootUri = null;
+
+ /**
+ * utilisateur par défaut pour utiliser les services Rest
+ */
+ private String userDefaut = null;
+ private String passwordDefaut = null;
+
+ private String ticket = null;
+
+ public JSONObject get(String resource, Map<String, String> parametres) {
+ JSONObject res = null;
+ try {
+ if (!parametres.containsKey("ticket")) {
+ // if (ticket == null || !isTicketValid(ticket)) {
+ ticket = getTicket(userDefaut, passwordDefaut);
+ // }
+ parametres.put("ticket", ticket);
+ }
+ String url = getUrl(resource, parametres);
+ res = readJsonFromUrl(url);
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ } catch (JSONException e) {
+ log.error(e.getMessage(), e);
+ }
+ return res;
+ }
+
+ /**
+ * @param uri
+ * du service rest souhaité
+ * @return
+ */
+ protected ClientResource getAuthenticatedClient(String uri, String user, String password) {
+ ClientResource client = new ClientResource(rootUri + uri);
+ client.setChallengeResponse(ChallengeScheme.HTTP_BASIC, user, password);
+ client.setRetryAttempts(0);
+ client.setRetryOnError(false);
+ return client;
+ }
+
+ /**
+ * @param uri
+ * @return
+ */
+ protected ClientResource getAuthenticatedClient(String uri) {
+ return getAuthenticatedClient(uri, userDefaut, passwordDefaut);
+ }
+
+ public JSONObject post(String resource, Map<String, String> parametres) {
+ JSONObject res = null;
+
+ Client client = new Client(new Context(), Protocol.HTTP);
+ ClientResource clientResource = new ClientResource(rootUri + resource);
+ clientResource.setNext(client);
+ clientResource.setChallengeResponse(ChallengeScheme.HTTP_BASIC, userDefaut, passwordDefaut);
+ // ClientResource client = getAuthenticatedClient(resource);
+ try {
+ JSONObject obj = new JSONObject();
+ for (Map.Entry<String, String> entry : parametres.entrySet()) {
+ obj.put(entry.getKey(), entry.getValue());
+ }
+ Representation entity = new StringRepresentation(obj.toString());
+ MediaType mediaType = MediaType.APPLICATION_JSON;
+ entity.setMediaType(mediaType);
+ log.trace(entity);
+ Representation response = clientResource.post(entity);
+ String jsonText = response.getText();
+ res = new JSONObject(jsonText);
+ log.debug("Envoi d'une requête post au webscript " + resource + " : " + jsonText);
+
+ } catch (Exception e) {
+ log.warn("Erreur au cours de l'envoi d'une requête post au webscript " + resource, e);
+ }
+ return res;
+ }
+
+ public String getString(String resource, Map<String, String> parametres) {
+ String res = null;
+ try {
+ if (!parametres.containsKey("ticket")) {
+ if (ticket == null || !isTicketValid(ticket)) {
+ ticket = getTicket(userDefaut, passwordDefaut);
+ }
+ parametres.put("ticket", ticket);
+ }
+ String url = getUrl(resource, parametres);
+ res = readFromUrl(url);
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ } catch (JSONException e) {
+ log.error(e.getMessage(), e);
+ }
+ return res;
+ }
+
+ /**
+ * Recuperation d'un ticket pour l'utilisateur user / password
+ *
+ * @param user
+ * @pararm password
+ * @return
+ */
+ protected String getTicket(String login, String password) {
+ String url = getLoginUrl(login, password);
+ try {
+ String res = readFromUrl(url);
+ String ticket = res.substring(res.indexOf("<ticket>") + 8, res.indexOf("</ticket>"));
+ return ticket;
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ }
+ return null;
+ }
+
+ /**
+ * Vérifie la validité d'un ticket Alfresco
+ *
+ * @param ticket
+ * @return
+ * @throws MalformedURLException
+ * @throws IOException
+ */
+ protected boolean isTicketValid(String ticket) throws MalformedURLException, IOException {
+ String url = rootUri + "/wcs/api/login/ticket/" + ticket + "?ticket=" + ticket;
+ HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
+ int code = conn.getResponseCode();
+ return code == HttpURLConnection.HTTP_OK;
+ }
+
+ protected String getLoginUrl(String login, String password) {
+ return rootUri + "/wcs/api/login?u=" + login + "&pw=" + password;
+ }
+
+ public String mergePaths(String oldPath, String newPath) {
+ try {
+ URI oldUri = new URI(oldPath);
+ URI resolved = oldUri.resolve(newPath);
+ return resolved.toString();
+ } catch (URISyntaxException e) {
+ return oldPath;
+ }
+ }
+
+ protected String getUrl(String resource, Map<String, String> parametres) {
+ String url = concatenateResource(resource);
+ String params = "";
+ if (parametres != null) {
+ for (Entry<String, String> e : parametres.entrySet()) {
+ if (e.getValue() != null) {
+ params = params.concat("&").concat(e.getKey()).concat("=").concat(urlEncode(e.getValue()));
+ }
+ }
+ params = "?" + params.substring(1);
+ }
+ url += params;
+ return url;
+ }
+
+ protected String concatenateResource(String resource) {
+ String url = null;
+ if (rootUri.endsWith("/") && resource.startsWith("/")) {
+ url = rootUri + resource.substring(1);
+ } else if (!rootUri.endsWith("/") && !resource.startsWith("/")) {
+ url = rootUri + "/" + resource;
+ } else {
+ url = rootUri + resource;
+ }
+ return url;
+ }
+
+ /**
+ * Encodage de la valeur
+ *
+ * @param value
+ * @return
+ */
+ protected static String urlEncode(String value) {
+ try {
+ return URLEncoder.encode(value, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ return value;
+ }
+ }
+
+ private static String readAll(Reader rd) throws IOException {
+ StringBuilder sb = new StringBuilder();
+ int cp;
+ while ((cp = rd.read()) != -1) {
+ sb.append((char) cp);
+ }
+ return sb.toString();
+ }
+
+ public static String readFromUrl(String url) throws IOException {
+ InputStream is = new URL(url).openStream();
+ BufferedReader rd = null;
+ try {
+ rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
+ String text = readAll(rd);
+ return text;
+ } finally {
+ if (rd != null) {
+ rd.close();
+ }
+ is.close();
+ }
+ }
+
+ public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
+ String jsonText = readFromUrl(url);
+ JSONObject json = new JSONObject(jsonText);
+ return json;
+ }
+
+ /**
+ * Méthode permettant de récupérer l'URL d'un document (visualisation détaillée)
+ *
+ * @param nodeRef
+ * @return
+ */
+ public String getShareDocumentURL(String nodeRef) {
+ String documentUrl = "";
+ String shareUrl = rootUri.replaceAll("alfresco", "share");
+ documentUrl = shareUrl + "/page/document-details?nodeRef=" + nodeRef;
+ return documentUrl;
+ }
+
+ /**
+ * @param rootUri
+ * the rootUri to set
+ */
+ public void setRootUri(String rootUri) {
+ this.rootUri = rootUri;
+ }
+
+ /**
+ * @param userDefaut
+ * the userDefaut to set
+ */
+ public void setUserDefaut(String userDefaut) {
+ this.userDefaut = userDefaut;
+ }
+
+ /**
+ * @param passwordDefaut
+ * the passwordDefaut to set
+ */
+ public void setPasswordDefaut(String passwordDefaut) {
+ this.passwordDefaut = passwordDefaut;
+ }
+
+}
--- /dev/null
+package fr.mbdx.service;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.apache.log4j.Logger;
+
+/**
+ * Une action pour faire un appel spécifique
+ *
+ */
+public abstract class ServiceSpecifique implements JavaDelegate {
+
+ protected Logger log = Logger.getLogger(getClass());
+
+
+ /**
+ * Méthode pour effectuer un service dans un workflow.
+ *
+ */
+ public void execute(DelegateExecution execution) throws Exception {
+ log.trace("execution()->Début...");
+ /*log.trace("execution()->Initialisation...");
+ initObject(); */
+ log.trace("execution()->...Extraction paramètre...");
+ extractParams(execution);
+ log.trace("execution()->...Exécution...");
+ internalExecution(execution);
+ log.trace("execution()->...Positionnment des variables ...");
+ setVariables(execution);
+ log.trace("execution()->...Fin.");
+ }
+
+
+ /**
+ * Méthode pour extraiere les paramètres du contexte d'éxécution.
+ *
+ * @param execution
+ */
+ protected abstract void extractParams(DelegateExecution execution);
+
+ /**
+ * Méthode à utiliser écrire pour l'implémentation du service.
+ * @param execution
+ */
+ protected abstract void internalExecution(DelegateExecution execution);
+
+ /**
+ * Méthode pour positionner des variables dans le contexte en fin de traitement.
+ * @param execution
+ */
+ protected abstract void setVariables(DelegateExecution execution);
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.service;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.zip.ZipOutputStream;
+
+import javax.xml.bind.JAXBException;
+
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.task.Task;
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.client.api.Property;
+import org.apache.chemistry.opencmis.commons.data.ContentStream;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.ixbus.client.Attachment;
+import fr.mbdx.ixbus.client.ClientException;
+import fr.mbdx.ixbus.client.impl.AttachmentCfxImpl;
+import fr.mbdx.ixbus.client.impl.Utils;
+
+public class ServiceUrbanisme {
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private ProcessEngine processEngine;
+ private Utils utils;
+
+ private String activitiHost;
+ private String activitiPort;
+ private String activitiProtocol;
+
+ /**
+ * Retourne un URL pointant directement vers la tâche affectée à l'utilisateur en cours au sein d'Activiti Explorer
+ * Il a la forme suivante : http://localhost:8180/activiti-explorer/ui/#tasks/115034?category=inbox
+ * @param execution
+ * @param taskDefinitionKey
+ * @param assignee
+ * @return
+ */
+ public String getUserTaskUrl(DelegateExecution execution, String taskDefinitionKey, String assignee) {
+ Task result = processEngine.getTaskService().createTaskQuery()
+ .taskAssignee(assignee)
+ .executionId(execution.getId())
+ .taskDefinitionKey(taskDefinitionKey)
+ .singleResult();
+
+ String port = activitiPort.equals("80") ? "" : ":" + activitiPort;
+ String task = result != null ? "/" + result.getId() : "";
+ String url = activitiProtocol + "://" + activitiHost + port + "/activiti-explorer/#tasks" + task + "?category=inbox";
+
+ return url;
+ }
+
+ /**
+ * Crée une pièce jointe iXbus à partir du contenu d'un dossier d'urbanisme
+ *
+ * @param list
+ * @param mainDocument
+ * @return
+ * @throws ClientException
+ * @throws IOException
+ * @throws JAXBException
+ */
+ public Attachment createPjFromList(List<Document> list, Document mainDocument) throws ClientException, IOException, JAXBException {
+ Attachment attach = null;
+ ByteArrayOutputStream baos = null;
+ ZipOutputStream zos = null;
+ List<String> annexes = new ArrayList<String>();
+ int count = 0;
+
+ try {
+ baos = new ByteArrayOutputStream();
+ zos = new ZipOutputStream(baos);
+
+ String mainDocumentUniqueFileName = null;
+ for (Document obj : list) {
+ AlfrescoDocument doc = (AlfrescoDocument) obj;
+ Property<?> envoiTdTProp = doc.getProperty("mbdx:envoiTdT");
+ if (envoiTdTProp != null) {
+ boolean envoiTdT = (Boolean) envoiTdTProp.getValue();
+ if (envoiTdT) {
+ count++;
+ ContentStream contentStream = doc.getContentStream();
+ InputStream is = contentStream.getStream();
+ String filename = contentStream.getFileName();
+ String uniqueFileName = utils.getUniqueFileName(filename);
+ log.info("Création pièce jointe " + uniqueFileName);
+ utils.putEntryIntoZipOutputStream(zos, is, uniqueFileName);
+
+ //On joint le document à la liste d'annexes (sauf le document principal)
+ if (doc.getId().equals(mainDocument.getId())) {
+ mainDocumentUniqueFileName = uniqueFileName;
+ } else {
+ annexes.add(uniqueFileName);
+ }
+ }
+ }
+ }
+
+ if (mainDocumentUniqueFileName != null) {
+ String attachmentDescription = utils.createAttachmentDescription(mainDocumentUniqueFileName, annexes);
+ zos.setComment(attachmentDescription);
+ zos.finish();
+ attach = new AttachmentCfxImpl();
+ byte[] bytes = baos.toByteArray();
+ attach.setContent(bytes);
+ attach.setSize(bytes.length);
+ }
+
+ } finally {
+ if (count > 0) {
+ if (baos != null) {
+ baos.close();
+ }
+ if (zos != null) {
+ zos.close();
+ }
+ } else {
+ log.warn("Aucun document marqué \"Bon pour le TdT\" n'a été trouvé dans ce dossier !");
+ }
+ }
+
+ return attach;
+ }
+
+ public String getCartadsUrl(String nodeRef) {
+ log.warn("La fonction getCartadsUrl doit encore être implémentée !");
+ return "http://teleportail.bull.fr";
+ }
+
+ /**
+ * Déclenche un événément Cart@ds sur un document Alfresco
+ * TODO à implémenter quand on aura les specs du webservice Cart@ds
+ * @param nodeRef référence Alfresco du document à traiter
+ */
+ public void triggerCartadsEvent(String nodeRef) {
+ log.warn("La fonction triggerCartadsEvent doit encore être implémentée !");
+ }
+
+ /**
+ * @param activitiHost the activitiHost to set
+ */
+ public void setActivitiHost(String activitiHost) {
+ this.activitiHost = activitiHost;
+ }
+ /**
+ * @param activitiPort the activitiPort to set
+ */
+ public void setActivitiPort(String activitiPort) {
+ this.activitiPort = activitiPort;
+ }
+ /**
+ * @param activitiProtocol the activitiProtocol to set
+ */
+ public void setActivitiProtocol(String activitiProtocol) {
+ this.activitiProtocol = activitiProtocol;
+ }
+
+ /**
+ * @param utils the utils to set
+ */
+ public void setUtils(Utils utils) {
+ this.utils = utils;
+ }
+
+ /**
+ * @param processEngine the processEngine to set
+ */
+ public void setProcessEngine(ProcessEngine processEngine) {
+ this.processEngine = processEngine;
+ }
+
+}
--- /dev/null
+package fr.mbdx.service;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import fr.mbdx.alfresco.AlfrescoService;
+import fr.mbdx.util.Tools;
+
+/**
+ * Service d'appel du TDT.
+ *
+ */
+@Component("tdt")
+public class TDTService extends PermisDeConstruireService{
+
+ @Autowired
+ private AlfrescoService alfrescoService;
+
+ @Override
+ protected String getName() {
+ return "(-TDT-)";
+ }
+
+
+ @Override
+ protected void internalExecution(DelegateExecution execution) {
+ log.debug("execution de l'action "+getName()+" pour le permis ["+numeroPC+"]");
+
+ try {
+ alfrescoService.createMessage(numeroPC, getMessage(), "instructionPC-tdt");
+ } catch (Exception e) {
+ log.error("Erreur depot message "+Tools.getMessage(e));
+ }
+ }
+
+ protected String getMessage() {
+ String message = "";
+ message +=getName();
+ message +="\n Envoi de l'arrêté permis "+numeroPC+" au TDT.";
+ return message;
+ }
+}
--- /dev/null
+package fr.mbdx.service;
+
+
+import java.io.IOException;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.restlet.data.ChallengeScheme;
+import org.restlet.representation.Representation;
+import org.restlet.resource.ClientResource;
+import org.springframework.stereotype.Component;
+
+
+@Component("dossierComplet")
+public class TraitementDossierComplet extends ServiceSpecifique{
+
+ String urlWebscript = "fr/mbdx/noyau/dashlet/traitementDocumentComplet";
+ private String nodeRef;
+
+ @Override
+ protected void extractParams(DelegateExecution execution) {
+ nodeRef = (String)execution.getVariableLocal("nodeRef");
+ if(nodeRef == null){
+ nodeRef = "";
+ }
+
+ }
+
+ @Override
+ protected void internalExecution(DelegateExecution execution) {
+ String user = "admin";
+ String password = "admin";
+// HashMap<String, String> testObj = new HashMap<String, String>();
+// testObj.put("name", "bogus");
+// testObj.put("field_type", "text_en");
+// testObj.put("indexed", "true");
+// testObj.put("stored", "true");
+// testObj.put("search_by_default", "true");
+// testObj.put("multi_valued", "true");
+//
+// JSONObject jsonObj = new JSONObject(testObj);
+// System.out.println(jsonObj.toString());
+// try {
+// URL url;
+// URLConnection urlConn;
+// DataOutputStream printout;
+//
+//
+// //Make the actual connection
+// url = new URL ("http://localhost:8081/alfresco/s/" + urlWebscript);
+// urlConn = url.openConnection();
+// urlConn.setDoInput (true);
+// urlConn.setDoOutput (true);
+// urlConn.setUseCaches (false);
+// urlConn.setRequestProperty("Content-Type", "application/json");
+//
+// //Send the JSON data
+// printout = new DataOutputStream (urlConn.getOutputStream ());
+// String content = jsonObj.toString();
+// printout.writeBytes (content);
+// printout.flush ();
+// printout.close ();
+//
+//
+// }
+// catch (MalformedURLException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+// catch (IOException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+// finally{
+//
+// }
+// int timeout = 2000;
+//
+// try{
+// //URL urlUse = new URL("http://localhost:8081/alfresco/s/" + urlWebscript);
+// URL urlUse = new URL("http://localhost:8081/alfresco/s/fr/mbdx/noyau/dashlet/traitementDocumentComplet?nodeRef=workspace://SpacesStore/1c4eb24d-eec2-44bf-8b62-e3cf572e8062");
+// HttpURLConnection conn = null;
+// conn = (HttpURLConnection) urlUse.openConnection();
+// conn.setRequestMethod("GET");
+// conn.setRequestProperty("Content-length", "0");
+// conn.setUseCaches(false);
+// conn.setAllowUserInteraction(false);
+//
+// conn.setConnectTimeout(timeout);
+// conn.setReadTimeout(timeout);
+// conn.connect();
+//
+// if(conn.getResponseCode()==201 || conn.getResponseCode()==200)
+// {
+// boolean success = true;
+// }
+// } catch (MalformedURLException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// } catch (IOException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }finally{}
+//
+// }
+// URL url;
+// try {
+// url = new URL("http://localhost:8081/alfresco/s/fr/mbdx/noyau/dashlet/traitementDocumentComplet?nodeRef=workspace://SpacesStore/1c4eb24d-eec2-44bf-8b62-e3cf572e8062");
+// URLConnection urlConnection = url.openConnection();
+// // open the stream and put it into BufferedReader
+// BufferedReader br = new BufferedReader(
+// new InputStreamReader(urlConnection.getInputStream()));
+// } catch (MalformedURLException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// } catch (IOException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+ ClientResource client = new ClientResource("http://localhost:8081/alfresco/s/fr/mbdx/noyau/dashlet/traitementDocumentComplet?nodeRef=" + nodeRef);
+ client.setChallengeResponse(ChallengeScheme.HTTP_BASIC, user, password);
+ Representation response = client.get();
+
+ try {
+ String texte = response.getText();
+ log.debug("test");
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+
+ }
+
+
+ @Override
+ protected void setVariables(DelegateExecution execution) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
+}
--- /dev/null
+package fr.mbdx.service;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.springframework.stereotype.Component;
+
+@Component("dossierIncomplet")
+public class TraitementDossierIncomplet extends ServiceSpecifique{
+
+ @Override
+ protected void extractParams(DelegateExecution execution) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void internalExecution(DelegateExecution execution) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void setVariables(DelegateExecution execution) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.activiti.engine.impl.util.json.JSONArray;
+import org.activiti.engine.impl.util.json.JSONException;
+import org.activiti.engine.impl.util.json.JSONObject;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.util.PersonInfo;
+
+public class VidocIdentityService {
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private ServiceRestAlfresco serviceRestAlfresco;
+
+ /**
+ * Retourne la liste des utilisateurs membres d'un groupe donné obtenue au moyen d'un webscript Alfresco
+ *
+ * @param groupId
+ * Nom du groupe recherché parmi les propriétés configurées dans Alfresco
+ * @return
+ * @throws Exception
+ */
+ public String getUserList(String groupName, String typeFlux) throws JSONException {
+ log.debug("Interrogation de la liste des membres du groupe " + groupName);
+ List<String> users = new ArrayList<String>();
+ String usersStr = "";
+ String req = "/wcs/fr/mbdx/noyau/utils/groupeMembers";
+
+ Map<String, String> param = new HashMap<String, String>();
+ param.put("typeFlux", typeFlux);
+ param.put("groupe", groupName);
+
+ JSONObject json = serviceRestAlfresco.get(req, param);
+ try {
+ JSONArray arr = json.getJSONArray("listeMembres");
+ for (int i = 0; i < arr.length(); ++i) {
+ JSONObject user = arr.getJSONObject(i);
+ users.add(user.getString("username"));
+ }
+ } catch (JSONException e) {
+ log.debug("Interrogation de la liste des membres du groupe " + groupName + " -> Echec !!!!");
+ log.error(e.getMessage(), e);
+ throw e;
+ }
+
+ log.debug("Interrogation de la liste des membres du groupe " + groupName + " -> Fin()");
+
+ usersStr = StringUtils.join(users, ",");
+
+ return usersStr;
+ }
+
+ /**
+ * Retourne la liste des infos détaillées sur les utilisateurs membres d'un groupe donné obtenue au moyen d'un webscript Alfresco
+ *
+ * @param groupId
+ * Nom du groupe recherché parmi les propriétés configurées dans Alfresco
+ * @return
+ * @throws Exception
+ */
+ public List<PersonInfo> getPersonInfoList(String groupName, String typeFlux) throws JSONException {
+ log.debug("Interrogation de la liste des membres du groupe " + groupName);
+ List<PersonInfo> lstInfo = new ArrayList<PersonInfo>();
+
+ String req = "/wcs/fr/mbdx/noyau/utils/groupeMembers";
+
+ Map<String, String> param = new HashMap<String, String>();
+ param.put("groupe", groupName);
+ param.put("typeFlux", typeFlux);
+ param.put("detailed", "true");
+
+ JSONObject json = serviceRestAlfresco.get(req, param);
+ try {
+ JSONArray arr = json.getJSONArray("listePersonInfo");
+ for (int i = 0; i < arr.length(); ++i) {
+ JSONObject user = arr.getJSONObject(i);
+ lstInfo.add(new PersonInfo(user.getString("nodeRef"), user.getString("userName"), user.getString("firstName"), user
+ .getString("lastName")));
+ }
+ } catch (JSONException e) {
+ log.error("Interrogation de la liste des membres du groupe " + groupName + " -> Echec !!!!");
+ log.error(e.getMessage(), e);
+ throw e;
+ }
+
+ log.debug("Interrogation de la liste des membres du groupe " + groupName + " -> Fin()");
+
+ return lstInfo;
+ }
+
+ /**
+ * Retourne l'email d'une personne donnée obtenu au moyen d'un webscript Alfresco
+ *
+ * @param userName
+ * @return
+ * @throws Exception
+ */
+ public String getPersonEmail(String userName) {
+ log.debug("Interrogation de l'email de " + userName);
+ String email = null;
+
+ String req = "/wcs/api/people/" + userName;
+
+ Map<String, String> param = new HashMap<String, String>();
+
+ JSONObject json = serviceRestAlfresco.get(req, param);
+ try {
+ email = json.getString("email");
+ } catch (JSONException e) {
+ log.error("Interrogation de l'email de " + userName + " -> Echec !!!!");
+ log.error(e.getMessage(), e);
+ throw e;
+ }
+
+ log.debug("Interrogation de l'email de " + userName + " -> Fin()");
+
+ return email;
+
+ }
+
+ /**
+ * @param serviceRestAlfresco
+ * the serviceRestAlfresco to set
+ */
+ public void setServiceRestAlfresco(ServiceRestAlfresco serviceRestAlfresco) {
+ this.serviceRestAlfresco = serviceRestAlfresco;
+ }
+}
--- /dev/null
+package fr.mbdx.task;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.apache.log4j.Logger;
+
+/**
+ * Une action pour faire un appel spécifique
+ *
+ */
+public abstract class TaskSpecifique implements JavaDelegate {
+
+ protected Logger log = Logger.getLogger(getClass());
+
+
+ /**
+ * Méthode pour effectuer un service dans un workflow.
+ *
+ */
+ public synchronized void execute(DelegateExecution execution) throws Exception {
+ log.trace("execution()->Début...");
+ /*log.trace("execution()->Initialisation...");
+ initObject(); */
+ log.trace("execution()->...Extraction paramètre...");
+ extractParams(execution);
+ log.trace("execution()->...Exécution...");
+ internalExecution(execution);
+ log.trace("execution()->...Positionnment des variables ...");
+ setVariables(execution);
+ log.trace("execution()->...Fin.");
+ }
+
+
+ /**
+ * Méthode pour extraiere les paramètres du contexte d'éxécution.
+ *
+ * @param execution
+ */
+ protected abstract void extractParams(DelegateExecution execution);
+
+ /**
+ * Méthode à utiliser écrire pour l'implémentation du service.
+ * @param execution
+ */
+ protected abstract void internalExecution(DelegateExecution execution);
+
+ /**
+ * Méthode pour positionner des variables dans le contexte en fin de traitement.
+ * @param execution
+ */
+ protected abstract void setVariables(DelegateExecution execution);
+}
--- /dev/null
+package fr.mbdx.task;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.springframework.stereotype.Component;
+
+/**
+ * Tache de demande de signature au parapheur.
+ *
+ */
+@Component("waitTask")
+public class TaskWait extends TaskSpecifique {
+
+
+ @Override
+ protected void internalExecution(DelegateExecution execution) {
+ log.info("......");
+ }
+
+ @Override
+ protected void extractParams(DelegateExecution execution) {
+
+
+ }
+
+ @Override
+ protected void setVariables(DelegateExecution execution) {
+ // TODO positionnement des informations de retour dans le contexte d'execution
+
+ }
+
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.task;
\ No newline at end of file
--- /dev/null
+package fr.mbdx.tdt.annulation;
+
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.ixbus.client.Client;
+import fr.mbdx.ixbus.client.ClientException;
+
+public class TaskAnnulationEnvoiTdt implements JavaDelegate {
+ private final Logger log = Logger.getLogger(TaskAnnulationEnvoiTdt.class);
+
+ private Client clientTdt;
+
+ @Override
+ public void execute(DelegateExecution execution) {
+ log.debug("Annulation de l'envoi au TDT via le client iXbus ...");
+ final String xmlFileName = (String) execution.getVariable("xmlUniqueFilename");
+
+ String codeRetourAnnulation = "KO";
+ if (xmlFileName != null) {
+ try {
+ clientTdt.annulerEnvoi(xmlFileName);
+ codeRetourAnnulation = "OK";
+ log.debug("L'annulation de l'envoi au TDT a été effectuée avec succès");
+ } catch (ClientException e) {
+ log.error("L'annulation de l'envoi au TDT a échoué : " + e.getCode() + " -> " + e.getMessage());
+ }
+ } else {
+ log.error("Echec de l'annulation de l'envoi au TDT. Cause : l'enveloppe XML n'a pas été trouvée dans l'instance du processus Activiti.");
+ }
+ execution.setVariable("codeRetourAnnulation", codeRetourAnnulation);
+ }
+
+ public void setClientTdt(Client clientTdt) {
+ this.clientTdt = clientTdt;
+ }
+}
--- /dev/null
+package fr.mbdx.tdt.annulation;
+
+import java.util.List;
+import java.util.Map;
+
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.ProcessEngines;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.activiti.engine.runtime.Execution;
+import org.activiti.engine.runtime.ProcessInstance;
+import org.activiti.engine.runtime.ProcessInstanceQuery;
+import org.apache.log4j.Logger;
+
+public class TaskSearchTdtActivitiInstance implements JavaDelegate {
+ private final Logger log = Logger.getLogger(TaskSearchTdtActivitiInstance.class);
+
+ @Override
+ public void execute(DelegateExecution execution) {
+ // Extract Params
+ final String nodeRef = (String) execution.getVariable("nodeRef");
+ log.debug("Demande d'annulation de l'envoi au TdT du document " + nodeRef);
+ log.debug("Recherche du dossier d'envoi dans Activiti ...");
+
+ String instanceId = null;
+ String xmlUniqueFileName = null;
+
+ final ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+ final RuntimeService runtimeService = processEngine.getRuntimeService();
+ final ProcessInstanceQuery processQuery = runtimeService.createProcessInstanceQuery().variableValueEqualsIgnoreCase("docId", nodeRef);
+ final List<ProcessInstance> procLst = processQuery.list();
+
+ if (procLst != null && !procLst.isEmpty() && procLst.size() == 1) {
+
+ instanceId = procLst.get(0).getId();
+
+ // Recherche de la variable "uniqueFileName" dans la liste des exécutions du process instances
+ final List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(instanceId).list();
+ boolean varIsFound = false;
+ int cptExec = 0;
+ if (executions != null) {
+ while (cptExec < executions.size() && !varIsFound) {
+ Map<String, Object> globalVars = runtimeService.getVariables(executions.get(cptExec).getId());
+ if (globalVars != null && globalVars.get("uniqueFileName") != null && !((String) globalVars.get("uniqueFileName")).isEmpty()) {
+ xmlUniqueFileName = (String) globalVars.get("uniqueFileName");
+ varIsFound = true;
+ }
+ cptExec++;
+ }
+ }
+
+ log.debug("Le document possède actuellement une instance de processus d'envoi au TDT ayant pour identifiant Activiti : " + instanceId);
+ }
+
+ execution.setVariable("instanceTdtId", instanceId);
+ execution.setVariable("xmlUniqueFilename", xmlUniqueFileName);
+ }
+}
--- /dev/null
+package fr.mbdx.tdt.annulation;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.activiti.engine.ActivitiObjectNotFoundException;
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.ProcessEngines;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.delegate.DelegateExecution;
+import org.activiti.engine.delegate.JavaDelegate;
+import org.alfresco.cmis.client.AlfrescoDocument;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.service.ServiceCMIS;
+
+public class TaskSupprInstanceActiviti implements JavaDelegate {
+ private final Logger log = Logger.getLogger(TaskSupprInstanceActiviti.class);
+
+ private ServiceCMIS serviceCMIS;
+
+ @Override
+ public void execute(DelegateExecution execution) {
+ final String nodeRef = (String) execution.getVariable("nodeRef");
+ final String instanceId = (String) execution.getVariable("instanceTdtId");
+ final String codeRetourAnnulation = (String) execution.getVariable("codeRetourAnnulation");
+
+ if (codeRetourAnnulation.equalsIgnoreCase("ko")) {
+ log.warn("Impossible de supprimer l'instance du processus Activiti : Cause -> l'annulation de l'envoi au TDT via webservices a échoué.");
+ } else {
+ if (instanceId != null) {
+ final ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+ final RuntimeService runtimeService = processEngine.getRuntimeService();
+ try {
+ runtimeService.deleteProcessInstance(instanceId, "Instance supprimée car Annulation de l'envoi souhaitée par l'utilisateur");
+
+ // Changement de la métadonnée statut sur le doc original pour la passer à "Envoi annulé"
+ final Map<String, Object> prop = new HashMap<String, Object>();
+ prop.put("mbdx:statutTDT", "Envoi annulé");
+ final AlfrescoDocument docNode = serviceCMIS.getDocument(nodeRef);
+ serviceCMIS.updateProperties(docNode, prop);
+
+ } catch (ActivitiObjectNotFoundException e) {
+ log.error(e.getMessage());
+ }
+ log.debug("Suppression de l'instance du processus Activiti suite à l'annulation de l'envoi au TDT -> OK().");
+ }
+ }
+ }
+
+ public void setServiceCMIS(ServiceCMIS serviceCMIS) {
+ this.serviceCMIS = serviceCMIS;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.util;
+
+import java.io.Serializable;
+
+import org.alfresco.cmis.client.AlfrescoDocument;
+
+public class Acte implements Serializable {
+
+ private static final long serialVersionUID = -6696937649082702302L;
+
+ private String id = null;
+ private String nodeRef = null;
+ private String url = null;
+ private String name = null;
+ private String title = null;
+ private String nature = null;
+ private String matiere = null;
+ private String dureeTimerActiviti = null;
+
+ public Acte() {
+
+ }
+
+ public Acte(AlfrescoDocument doc, String id, Integer tempoTraitementActiviti) {
+ this.nodeRef = doc.getId();
+ this.id = id;
+ this.title = doc.getProperty("cm:title").getValueAsString();
+ this.dureeTimerActiviti = "PT" + tempoTraitementActiviti + "S";
+ }
+
+ /**
+ * @return the nodeRef
+ */
+ public String getNodeRef() {
+ return nodeRef;
+ }
+
+ /**
+ * @param nodeRef
+ * the nodeRef to set
+ */
+ public void setNodeRef(String nodeRef) {
+ this.nodeRef = nodeRef;
+ }
+
+ /**
+ * @return the url
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * @param url
+ * the url to set
+ */
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name
+ * the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the title
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * @param title
+ * the title to set
+ */
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ /**
+ * @return the nature
+ */
+ public String getNature() {
+ return nature;
+ }
+
+ /**
+ * @param nature
+ * the nature to set
+ */
+ public void setNature(String nature) {
+ this.nature = nature;
+ }
+
+ /**
+ * @return the matiere
+ */
+ public String getMatiere() {
+ return matiere;
+ }
+
+ /**
+ * @param matiere
+ * the matiere to set
+ */
+ public void setMatiere(String matiere) {
+ this.matiere = matiere;
+ }
+
+ /**
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * @param id
+ * the id to set
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDureeTimerActiviti() {
+ return dureeTimerActiviti;
+ }
+
+ public void setDureeTimerActiviti(String dureeTimerActiviti) {
+ this.dureeTimerActiviti = dureeTimerActiviti;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.util;
+
+public class PersonInfo
+{
+ private final String nodeRef;
+ private final String userName;
+ private final String firstName;
+ private final String lastName;
+
+ public PersonInfo(String nodeRef, String userName, String firstName, String lastName)
+ {
+ this.nodeRef = nodeRef;
+ this.userName = userName;
+ this.firstName = firstName;
+ this.lastName = lastName;
+ }
+
+ public String getNodeRef()
+ {
+ return nodeRef;
+ }
+
+ public String getUserName()
+ {
+ return userName;
+ }
+
+ public String getFirstName()
+ {
+ return firstName;
+ }
+
+ public String getLastName()
+ {
+ return lastName;
+ }
+}
--- /dev/null
+package fr.mbdx.util;\r\rimport static java.lang.Math.abs;\r\rimport java.io.ByteArrayOutputStream;\rimport java.io.IOException;\rimport java.io.InputStream;\rimport java.io.Serializable;\rimport java.net.HttpURLConnection;\rimport java.net.MalformedURLException;\rimport java.net.URL;\rimport java.text.DateFormat;\rimport java.text.ParseException;\rimport java.text.SimpleDateFormat;\rimport java.util.Calendar;\rimport java.util.Date;\rimport java.util.Random;\r\rimport org.apache.log4j.Logger;\r\r\r\r/**\r * Classe pour faciliter certaines operations sur les objets String.\r * \r * <ul>\r * <li>Generation d'un message d'erreur simplifie {@link #getMessage(Throwable)}</li>\r * <li> Test pour savoir si une variables String est initialise {@link #isSet(String)}</li>\r * <li> Generation d'un nombre aleatoire {@link #randomInt(int)}</li> \r * </ul>\r * \r * @version 1.0 \r */\rpublic abstract class Tools\r{\r static Logger log = Logger.getLogger(Tools.class);\r\r private static DateFormat df = new SimpleDateFormat("dd/MM/yyyy");\r \r /**\r * Constante pour definir le signe des nombres alleatoire\r *\r */\r public static enum Signe {POSITIF,NEGATIF,ALL};\r private static Random rnd = new Random(19780817);\r private static enum alpha {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z};\r private static int sizeAlpha = alpha.values().length;\r \r /**\r * Renvoie le message d'erreur de la classe.\r * Le message est de la forme suivante :\r * [e.ClassName] e.Message \r * Si l'erreur contient une cause le message suivant est ajoute :\r * --cause([e.cause.ClassName] e.cause.Message)\r * \r * @param e une erreur\r * @return message d'erreur formate.\r */\r public static String getMessage(Throwable e)\r {\r String res;\r if (e != null)\r {\r res = "[" + e.getClass() + "] " + e.getMessage();\r Throwable cause = null;\r if ((cause = e.getCause()) != null)\r {\r res += "--cause(" + "[" + cause.getClass() + "] " + cause.getMessage() + ")";\r }\r }\r else\r {\r res = "Aucun message";\r }\r return res;\r }\r\r /**\r * Teste si la valeur est positionne.\r * \r * @param value valeur e tester\r * @return vrai si la valeur est differente de nulle et de ""\r */\r public static boolean isSet(String value)\r { \r return value != null && value.length()>0;\r }\r\r \r\r \r /**\r * Renvoie un entier "aleatoire" du signe demande.\r * \r * @param positif\r * @return\r */\r public static int randomInt(Signe s)\r {\r int res = rnd.nextInt();\r if (s == Signe.POSITIF)\r return abs(res);\r else if (s== Signe.NEGATIF) \r return 0-abs(res);\r else\r return res;\r }\r\r /**\r * Renvoie un tableau de lettre de la taille.\r * Les lettres sont generes de maniere aleatoire\r * @param i\r * @return\r */\r public static char[] randomAlpha(int size)\r {\r char[] res = new char[size];\r for(int i=0; i<size; i++)\r {\r res[i] = alpha.values()[rnd.nextInt(sizeAlpha)].toString().charAt(0);\r }\r return res;\r }\r\r\r /**\r * Renvoie la date du jour dans une suite de nombre.\r * @return\r */\r public static String getLongDate()\r {\r Calendar time = Calendar.getInstance();\r StringBuffer sb = new StringBuffer();\r sb.append(time.get(Calendar.YEAR));\r sb.append(time.get(Calendar.MONTH));\r sb.append(time.get(Calendar.DAY_OF_YEAR));\r sb.append(time.get(Calendar.HOUR_OF_DAY));\r sb.append(time.get(Calendar.MINUTE));\r sb.append(time.get(Calendar.SECOND));\r sb.append(time.get(Calendar.MILLISECOND));\r return sb.toString();\r }\r\r /**\r * Renvoie un entier au hazard (waaazaaaard) entre 0 et max \r * @param i\r * @return\r */\r public static int randomInt(int max)\r {\r rnd.nextInt(max);\r return rnd.nextInt(max);\r }\r \r /**\r * Cette methode permet de tester que l'URL du WSDL\r * passer dans le fichier de configuration est valide\r * @param url\r * @throws IOException \r * @throws MalformedURLException \r * @throws ParapheurException \r */\r public static void testUrl(String url) throws MalformedURLException, IOException \r { \r HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();\r conn.connect();\r conn.disconnect();\r }\r\r /**\r * Renvoie la valeur si elle n'est pas nulle renvoie valDef sinon\r * \r * @param valeur\r * @param valDef\r * @return\r */\r public static String valDefIfNull(String valeur, String valDef)\r {\r return valeur == null ? valDef : valeur;\r }\r \r /**\r * Concatene un tableeau dans une chaine de carctere avec le . comme separateur\r * @param tab\r * @return\r */\r public static String concatArrays(int[] tab, String sep)\r {\r String res = new String();\r if (tab != null)\r {\r for(Object o: tab)\r {\r res += o +sep;\r }\r if (res.length() > sep.length() && res.indexOf(sep)>0)\r res = res.substring(0, res.length() - sep.length());\r }\r return res;\r }\r public static String concatArrays(int[] tab)\r {\r return concatArrays(tab, ".");\r }\r\r /**\r * \r * @param dateDebut\r * @return\r */\r public static Date getDate(String source) {\r try {\r if (isSet(source))\r return df.parse(source);\r return null;\r } catch (ParseException e) {\r log.error(getMessage(e));\r return new Date();\r }\r }\r\r /**\r * \r * @param dateDebut\r * @return\r */\r public static String getDate(Date source) {\r if (source != null)\r return df.format(source);\r return "";\r }\r \r /**\r * Renvoie un nombre au format double à partir d'une chaine de caractère.\r * Si la chaine est nulle ou vide, renvoie null.\r * @param src\r * @return\r */\r public static Double getDouble(String src) {\r if (isSet(src)) {\r src = src.replace(",", ".");\r return Double.parseDouble(src);\r }\r return null;\r }\r\r /**\r * Création d'un boolean à partir d'un String\r * @param conventionSncf\r * @return\r */\r public static Boolean getBoolean(String src) {\r if (isSet(src)) { \r return Boolean.parseBoolean(src);\r }\r return null;\r }\r\r /**\r * Renvoie la valeur d'un double \r * @param valeur\r * @return\r */\r public static String getDouble(Double valeur) {\r if (valeur != null)\r return String.valueOf(valeur);\r return null;\r }\r\r /**\r * Renvoie une valeur au format "String"\r * @param valeur\r * @return\r */\r public static String getString(Serializable valeur) {\r if (valeur instanceof String ) {\r return (String)valeur;\r }\r if (valeur instanceof Date) {\r return getDate((Date)valeur);\r }\r if (valeur instanceof Double) {\r return getDouble((Double)valeur);\r }\r if (valeur instanceof Integer) {\r return String.valueOf((Integer)valeur);\r }\r return valeur.toString();\r }\r\r /**\r * Lit un InputStream dans un tableau binaire\r * @param inputStream\r * @return\r * @throws IOException\r */\r public static byte[] extract(InputStream inputStream) throws IOException { \r ByteArrayOutputStream baos = new ByteArrayOutputStream(); \r byte[] buffer = new byte[1024];\r int read = 0;\r while ((read = inputStream.read(buffer, 0, buffer.length)) != -1) {\r baos.write(buffer, 0, read);\r } \r baos.flush(); \r return baos.toByteArray();\r }\r}\r
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="instructionDossier" name="Instruction du dossier prototype" isExecutable="true">
+ <startEvent id="startInstruction" name="Start" activiti:initiator="employeeName">
+ <extensionElements>
+ <activiti:formProperty id="nodeId" name="Id de référence Alfresco" type="string"></activiti:formProperty>
+ <activiti:formProperty id="nodeName" name="Nom du document" type="string"></activiti:formProperty>
+ <activiti:formProperty id="emetteur" name="Emetteur" type="string"></activiti:formProperty>
+ <activiti:formProperty id="typeGed" name="Type document" type="string"></activiti:formProperty>
+ <activiti:formProperty id="nodeRef" name="Reference Alfresco"></activiti:formProperty>
+ <activiti:formProperty id="parentNode" name="Répertoire document" type="string"></activiti:formProperty>
+ <activiti:formProperty id="idTDT" name="Identifiant TDT" type="string"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <userTask id="verificationTask" name="Vérification avant instruction" activiti:assignee="${userInstruction}" activiti:candidateGroups="GRP_INSTRUCTION_PC" activiti:priority="10">
+ <documentation>Etape de pré-instruction. L'agent vérifie que le dossier est complet avant son instruction</documentation>
+ <extensionElements>
+ <activiti:formProperty id="verificationInput" name="Dossier valide pour l'instruction" type="enum" variable="verification" required="true">
+ <activiti:value id="true" name="Complet"></activiti:value>
+ <activiti:value id="false" name="Incomplet"></activiti:value>
+ </activiti:formProperty>
+ </extensionElements>
+ </userTask>
+ <sequenceFlow id="flow1" sourceRef="startInstruction" targetRef="usertask1"></sequenceFlow>
+ <sequenceFlow id="flowIncomplet" name="Incomplet" sourceRef="verificationTask" targetRef="usertask2">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${verification == 'false'}]]></conditionExpression>
+ </sequenceFlow>
+ <endEvent id="endInstruction" name="Fin d'instruction"></endEvent>
+ <userTask id="usertask1" name="Initialisation Dossier" activiti:assignee="${userInstruction}" activiti:candidateUsers="${employeeName}" activiti:candidateGroups="GRP_INSTRUCTION"></userTask>
+ <sequenceFlow id="flow19" sourceRef="usertask1" targetRef="verificationTask"></sequenceFlow>
+ <userTask id="taskDemandeTDT" name="Choix envoi TDT" activiti:assignee="${userInstruction}">
+ <extensionElements>
+ <activiti:formProperty id="choixEnvoiTdt" name="Envoi du dossier au TDT" type="enum" variable="choixEnvoiTdt" required="true">
+ <activiti:value id="true" name="Oui"></activiti:value>
+ <activiti:value id="false" name="Non"></activiti:value>
+ </activiti:formProperty>
+ </extensionElements>
+ </userTask>
+ <userTask id="usertask2" name="Cloture Dossier" activiti:assignee="${userInstruction}">
+ <documentation>La cloture du dossier peut correspondre à la déclaration d'un record dans le module RM</documentation>
+ </userTask>
+ <sequenceFlow id="flow22" sourceRef="usertask2" targetRef="endInstruction"></sequenceFlow>
+ <sequenceFlow id="sansTDT" name="Non" sourceRef="taskDemandeTDT" targetRef="usertask2">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${choixEnvoiTdt == 'false'}]]></conditionExpression>
+ </sequenceFlow>
+ <callActivity id="callTDT" name="Envoi au TDT" calledElement="prociXbus">
+ <extensionElements>
+ <activiti:in source="nodeRef" target="url"></activiti:in>
+ <activiti:in source="parentNode" target="refDossier"></activiti:in>
+ <activiti:in source="idTDT" target="actID"></activiti:in>
+ <activiti:in source="nodeName" target="subject"></activiti:in>
+ </extensionElements>
+ </callActivity>
+ <sequenceFlow id="avecTDT" name="oui" sourceRef="taskDemandeTDT" targetRef="callTDT">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${choixEnvoiTdt == 'true'}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow25" sourceRef="callTDT" targetRef="usertask2"></sequenceFlow>
+ <sequenceFlow id="flowComplet" name="Complet" sourceRef="verificationTask" targetRef="callSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${verification == 'true'}]]></conditionExpression>
+ </sequenceFlow>
+ <callActivity id="callSignature" name="Signature" calledElement="procSignature">
+ <extensionElements>
+ <activiti:in source="nodeId" target="nodeRef"></activiti:in>
+ <activiti:in source="nodeName" target="nodeName"></activiti:in>
+ <activiti:in source="emetteur" target="emetteur"></activiti:in>
+ <activiti:in source="typeGed" target="typeGed"></activiti:in>
+ </extensionElements>
+ </callActivity>
+ <sequenceFlow id="flow26" sourceRef="callSignature" targetRef="taskDemandeTDT"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_instructionDossier">
+ <bpmndi:BPMNPlane bpmnElement="instructionDossier" id="BPMNPlane_instructionDossier">
+ <bpmndi:BPMNShape bpmnElement="startInstruction" id="BPMNShape_startInstruction">
+ <omgdc:Bounds height="35.0" width="35.0" x="7.0" y="22.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="verificationTask" id="BPMNShape_verificationTask">
+ <omgdc:Bounds height="71.0" width="131.0" x="392.0" y="105.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endInstruction" id="BPMNShape_endInstruction">
+ <omgdc:Bounds height="35.0" width="35.0" x="590.0" y="274.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
+ <omgdc:Bounds height="73.0" width="175.0" x="91.0" y="3.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="callSignature" id="BPMNShape_callSignature">
+ <omgdc:Bounds height="55.0" width="166.0" x="91.0" y="113.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="taskDemandeTDT" id="BPMNShape_taskDemandeTDT">
+ <omgdc:Bounds height="55.0" width="166.0" x="91.0" y="264.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
+ <omgdc:Bounds height="55.0" width="133.0" x="391.0" y="264.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="callTDT" id="BPMNShape_callTDT">
+ <omgdc:Bounds height="55.0" width="162.0" x="93.0" y="420.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+ <omgdi:waypoint x="42.0" y="39.0"></omgdi:waypoint>
+ <omgdi:waypoint x="91.0" y="39.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowIncomplet" id="BPMNEdge_flowIncomplet">
+ <omgdi:waypoint x="457.0" y="176.0"></omgdi:waypoint>
+ <omgdi:waypoint x="457.0" y="264.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="45.0" x="3.0" y="-43.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
+ <omgdi:waypoint x="266.0" y="39.0"></omgdi:waypoint>
+ <omgdi:waypoint x="457.0" y="39.0"></omgdi:waypoint>
+ <omgdi:waypoint x="457.0" y="105.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
+ <omgdi:waypoint x="524.0" y="291.0"></omgdi:waypoint>
+ <omgdi:waypoint x="590.0" y="291.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sansTDT" id="BPMNEdge_sansTDT">
+ <omgdi:waypoint x="257.0" y="291.0"></omgdi:waypoint>
+ <omgdi:waypoint x="391.0" y="291.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="19.0" x="-3.0" y="-16.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="avecTDT" id="BPMNEdge_avecTDT">
+ <omgdi:waypoint x="174.0" y="319.0"></omgdi:waypoint>
+ <omgdi:waypoint x="174.0" y="420.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="14.0" x="9.0" y="-12.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25">
+ <omgdi:waypoint x="255.0" y="447.0"></omgdi:waypoint>
+ <omgdi:waypoint x="457.0" y="447.0"></omgdi:waypoint>
+ <omgdi:waypoint x="457.0" y="319.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowComplet" id="BPMNEdge_flowComplet">
+ <omgdi:waypoint x="392.0" y="140.0"></omgdi:waypoint>
+ <omgdi:waypoint x="257.0" y="140.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="38.0" x="-20.0" y="-20.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow26" id="BPMNEdge_flow26">
+ <omgdi:waypoint x="174.0" y="168.0"></omgdi:waypoint>
+ <omgdi:waypoint x="174.0" y="264.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="procAnnulationEnvoiTDT" name="Workflow annulation Envoi TDT" isExecutable="true">
+ <startEvent id="startAnnulationEnvoiTdt" name="Début workflow annulation Envoi TDT">
+ <extensionElements>
+ <activiti:formProperty id="nodeRef" name="Référence Alfresco du document dont on veut annuler l'envoi au TDT" type="string" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <sequenceFlow id="flow1" sourceRef="startAnnulationEnvoiTdt" targetRef="rechercheInstanceActiviti"></sequenceFlow>
+ <exclusiveGateway id="exclusivegateway1" name="Test existence processus envoi TdT"></exclusiveGateway>
+ <sequenceFlow id="flow2" sourceRef="rechercheInstanceActiviti" targetRef="exclusivegateway1"></sequenceFlow>
+ <sequenceFlow id="flow3" name="Instance trouvée" sourceRef="exclusivegateway1" targetRef="annulationEnvoiIXbus">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${instanceTdtId != null}]]></conditionExpression>
+ </sequenceFlow>
+ <endEvent id="endevent1" name="Fin workflow annulation Envoi TDT"></endEvent>
+ <sequenceFlow id="flow5" sourceRef="exclusivegateway1" targetRef="endevent1"></sequenceFlow>
+ <sequenceFlow id="flow8" sourceRef="suppressionInstanceTdtActiviti" targetRef="endevent1"></sequenceFlow>
+ <sequenceFlow id="flow9" sourceRef="annulationEnvoiIXbus" targetRef="exclusivegateway2"></sequenceFlow>
+ <serviceTask id="rechercheInstanceActiviti" name="Recherche instance du processus d'envoi au TdT" activiti:delegateExpression="${searchActivitiTdTProcess}"></serviceTask>
+ <serviceTask id="annulationEnvoiIXbus" name="Annulation de l'envoi auprès du TDT" activiti:delegateExpression="${annulEnvoiTdt}"></serviceTask>
+ <serviceTask id="suppressionInstanceTdtActiviti" name="Suppression de l'instance du processus Activiti" activiti:delegateExpression="${suppressInstanceTdtActiviti}"></serviceTask>
+ <exclusiveGateway id="exclusivegateway2" name="Exclusive Gateway"></exclusiveGateway>
+ <sequenceFlow id="flow10" sourceRef="exclusivegateway2" targetRef="suppressionInstanceTdtActiviti"></sequenceFlow>
+ <sequenceFlow id="flow11" name="Erreur Annulation TDT" sourceRef="exclusivegateway2" targetRef="endevent1">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${codeRetourAnnulation == "KO"}]]></conditionExpression>
+ </sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_procAnnulationEnvoiTDT">
+ <bpmndi:BPMNPlane bpmnElement="procAnnulationEnvoiTDT" id="BPMNPlane_procAnnulationEnvoiTDT">
+ <bpmndi:BPMNShape bpmnElement="startAnnulationEnvoiTdt" id="BPMNShape_startAnnulationEnvoiTdt">
+ <omgdc:Bounds height="35.0" width="35.0" x="30.0" y="60.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
+ <omgdc:Bounds height="40.0" width="40.0" x="284.0" y="57.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
+ <omgdc:Bounds height="40.0" width="40.0" x="465.0" y="144.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="287.0" y="147.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="rechercheInstanceActiviti" id="BPMNShape_rechercheInstanceActiviti">
+ <omgdc:Bounds height="55.0" width="131.0" x="110.0" y="50.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="annulationEnvoiIXbus" id="BPMNShape_annulationEnvoiIXbus">
+ <omgdc:Bounds height="55.0" width="131.0" x="420.0" y="50.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="suppressionInstanceTdtActiviti" id="BPMNShape_suppressionInstanceTdtActiviti">
+ <omgdc:Bounds height="55.0" width="131.0" x="420.0" y="220.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+ <omgdi:waypoint x="65.0" y="77.0"></omgdi:waypoint>
+ <omgdi:waypoint x="110.0" y="77.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
+ <omgdi:waypoint x="241.0" y="77.0"></omgdi:waypoint>
+ <omgdi:waypoint x="284.0" y="77.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
+ <omgdi:waypoint x="324.0" y="77.0"></omgdi:waypoint>
+ <omgdi:waypoint x="420.0" y="77.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="81.0" x="-42.0" y="-17.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
+ <omgdi:waypoint x="304.0" y="97.0"></omgdi:waypoint>
+ <omgdi:waypoint x="304.0" y="142.0"></omgdi:waypoint>
+ <omgdi:waypoint x="322.0" y="164.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
+ <omgdi:waypoint x="420.0" y="247.0"></omgdi:waypoint>
+ <omgdi:waypoint x="304.0" y="248.0"></omgdi:waypoint>
+ <omgdi:waypoint x="304.0" y="182.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
+ <omgdi:waypoint x="485.0" y="105.0"></omgdi:waypoint>
+ <omgdi:waypoint x="485.0" y="144.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
+ <omgdi:waypoint x="485.0" y="184.0"></omgdi:waypoint>
+ <omgdi:waypoint x="485.0" y="220.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
+ <omgdi:waypoint x="465.0" y="164.0"></omgdi:waypoint>
+ <omgdi:waypoint x="322.0" y="164.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="106.0" x="-43.0" y="7.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="procAnnulationSignature" name="Workflow annulation signature" isExecutable="true">
+ <startEvent id="startAnnulationSignature" name="Début workflow annulation signature">
+ <extensionElements>
+ <activiti:formProperty id="nodeRef" name="Référence Alfresco du document dont on veut annuler la signature" type="string" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <scriptTask id="scriptExecutionQuery" name="Recherche instance processus signature" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptExecutionQuery IN");
+var dossierId = nodeRef;
+logger.info("Demande d'annulation de signature pour le dossier " + dossierId);
+var runtimeService = processEngine.getRuntimeService();
+var signatureExecution = runtimeService.createExecutionQuery().processInstanceBusinessKey(dossierId).processDefinitionKey("procSignature").singleResult();
+if (signatureExecution != null) {
+ execution.setVariable("dossierId", dossierId);
+ execution.setVariable("processInstanceId", signatureExecution.getProcessInstanceId());
+ execution.setVariable("executionId", signatureExecution.getId());
+ var codeRetour = runtimeService.getVariable(signatureExecution.getId(), "codeRetour");
+ execution.setVariable("codeRetour", codeRetour);
+ logger.debug("Le code retour de création dossier parapheur est " + codeRetour);
+ logger.debug("Une instance de processus de signature a été trouvée avec l'identifiant " + signatureExecution.getProcessInstanceId());
+} else {
+ execution.setVariable("processInstanceId", null);
+ execution.setVariable("codeRetour", null);
+ logger.info("Aucune instance de processus de signature n'a été trouvée pour le dossier " + dossierId);
+}
+logger.debug("scriptExecutionQuery OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow1" sourceRef="startAnnulationSignature" targetRef="scriptExecutionQuery"></sequenceFlow>
+ <exclusiveGateway id="exclusivegateway1" name="Test existence processus signature"></exclusiveGateway>
+ <sequenceFlow id="flow2" sourceRef="scriptExecutionQuery" targetRef="exclusivegateway1"></sequenceFlow>
+ <scriptTask id="scriptDeleteProcess" name="Suppression instance processus signature" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptDeleteProcess IN");
+logger.debug("Demande de suppression instance de processus " + processInstanceId);
+var runtimeService = processEngine.getRuntimeService();
+runtimeService.deleteProcessInstance(processInstanceId, "Demande d'annulation de signature pour le dossier " + dossierId);
+logger.debug("L'instance de processus " + processInstanceId + " a été supprimée");
+logger.debug("scriptDeleteProcess OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow3" name="Instance trouvée" sourceRef="exclusivegateway1" targetRef="scriptDeleteProcess">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${processInstanceId != null}]]></conditionExpression>
+ </sequenceFlow>
+ <exclusiveGateway id="exclusivegateway2" name="Test création dossier parapheur"></exclusiveGateway>
+ <sequenceFlow id="flow4" sourceRef="scriptDeleteProcess" targetRef="exclusivegateway2"></sequenceFlow>
+ <scriptTask id="scriptExercerDroitRemords" name="Exercice droit remords dossier parapheur" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptExercerDroitRemords IN");
+logger.debug("Exercice droit de remords sur le dossier " + dossierId + " au parapheur.");
+if (clientParapheur.exercerDroitRemordDossier(dossierId)) {
+ logger.info("Le dossier " + dossierId + " a été correctement retiré de la bannette de son destinataire.");
+} else {
+ logger.error("Une erreur a eu lieu : " + clientParapheur.getMessageRetour());
+}
+logger.debug("scriptExercerDroitRemords OUT");</script>
+ </scriptTask>
+ <endEvent id="endevent1" name="Fin workflow annulation signature"></endEvent>
+ <sequenceFlow id="flow5" sourceRef="exclusivegateway1" targetRef="endevent1"></sequenceFlow>
+ <sequenceFlow id="flow6" name="Dossier non créé" sourceRef="exclusivegateway2" targetRef="endevent1">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${codeRetour == null || codeRetour.equals("KO")}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow7" name="Dossier parapheur créé" sourceRef="exclusivegateway2" targetRef="scriptExercerDroitRemords"></sequenceFlow>
+ <sequenceFlow id="flow8" sourceRef="scriptExercerDroitRemords" targetRef="endevent1"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_procAnnulationSignature">
+ <bpmndi:BPMNPlane bpmnElement="procAnnulationSignature" id="BPMNPlane_procAnnulationSignature">
+ <bpmndi:BPMNShape bpmnElement="startAnnulationSignature" id="BPMNShape_startAnnulationSignature">
+ <omgdc:Bounds height="35.0" width="35.0" x="30.0" y="60.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptExecutionQuery" id="BPMNShape_scriptExecutionQuery">
+ <omgdc:Bounds height="55.0" width="131.0" x="110.0" y="50.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
+ <omgdc:Bounds height="40.0" width="40.0" x="284.0" y="57.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptDeleteProcess" id="BPMNShape_scriptDeleteProcess">
+ <omgdc:Bounds height="55.0" width="131.0" x="420.0" y="50.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
+ <omgdc:Bounds height="40.0" width="40.0" x="465.0" y="144.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptExercerDroitRemords" id="BPMNShape_scriptExercerDroitRemords">
+ <omgdc:Bounds height="55.0" width="131.0" x="420.0" y="220.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="287.0" y="147.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+ <omgdi:waypoint x="65.0" y="77.0"></omgdi:waypoint>
+ <omgdi:waypoint x="110.0" y="77.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
+ <omgdi:waypoint x="241.0" y="77.0"></omgdi:waypoint>
+ <omgdi:waypoint x="284.0" y="77.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
+ <omgdi:waypoint x="324.0" y="77.0"></omgdi:waypoint>
+ <omgdi:waypoint x="420.0" y="77.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="81.0" x="282.0" y="60.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
+ <omgdi:waypoint x="485.0" y="105.0"></omgdi:waypoint>
+ <omgdi:waypoint x="485.0" y="144.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
+ <omgdi:waypoint x="304.0" y="97.0"></omgdi:waypoint>
+ <omgdi:waypoint x="304.0" y="142.0"></omgdi:waypoint>
+ <omgdi:waypoint x="322.0" y="164.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
+ <omgdi:waypoint x="465.0" y="164.0"></omgdi:waypoint>
+ <omgdi:waypoint x="322.0" y="164.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="83.0" x="452.0" y="144.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
+ <omgdi:waypoint x="485.0" y="184.0"></omgdi:waypoint>
+ <omgdi:waypoint x="485.0" y="220.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="42.0" width="100.0" x="494.0" y="163.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
+ <omgdi:waypoint x="420.0" y="247.0"></omgdi:waypoint>
+ <omgdi:waypoint x="304.0" y="248.0"></omgdi:waypoint>
+ <omgdi:waypoint x="304.0" y="182.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<h1>Permis de construire</h1>
+<p>
+ Est-ce que le permis de construire ${numeroPc} est complet pour son instruction ?
+</p>
+<p>
+ <select name="debutInstruction">
+ <option value="true">Oui</option>
+ <option value="false">Non</option>
+ </select>
+ <input type="hidden" name="debutInstruction_type" value="Boolean" />
+</p>
+<p>
+ <label>
+ Remarque:<br/>
+ <textarea name="instructionRemarque" value=""></textarea>
+ </label>
+</p>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <signal id="importEndSignal" name="importEnd"></signal>
+ <process id="procDelib" name="Flux Délibérations" isExecutable="true">
+ <startEvent id="startDelib" name="Démarrage workflow délibérations">
+ <extensionElements>
+ <activiti:formProperty id="nodeRef" name="Référence Alfresco du fichier XML à importer" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="folderRef" name="Référence Alfresco du dossier d'import" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="numeroSeance" name="Numéro de séance" type="string" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <userTask id="userVerifAvantSignature" name="Vérification avant signature" activiti:candidateUsers="${vidocIdentityService.getUserList('DELIB_GESTION', 'delib')}">
+ <extensionElements>
+ <activiti:formProperty id="openAlfrescoButton" name="Dossier Délibérations" type="link" variable="folderUrl"></activiti:formProperty>
+ <activiti:formProperty id="bonPourSignature" name="Lot bon pour envoi en signature" type="boolean" required="true"></activiti:formProperty>
+ </extensionElements>
+ </userTask>
+ <endEvent id="endevent1" name="End"></endEvent>
+ <scriptTask id="scriptImport" name="Import lot en GED" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptImport IN");
+var result = "KO";
+var req = "/wcs/fr/mbdx/noyau/delib/import";
+var param = new java.util.HashMap();
+param.put("nodeRef", nodeRef);
+param.put("processInstanceId", execution.getProcessInstanceId());
+var json = serviceRestAlfresco.get(req, param);
+if (json != null) {
+ result = json.getString("result");
+}
+if (result != null && result.equalsIgnoreCase("OK")) {
+ logger.info("L'import du lot de délibérations a été lancé.");
+} else {
+ logger.error("Une erreur a eu lieu au cours du lancement de l'import d'un lot de délibérations.");
+}
+logger.debug("scriptImport OUT");
+</script>
+ </scriptTask>
+ <intermediateCatchEvent id="importEndCatchEvent" name="Attente fin import">
+ <signalEventDefinition signalRef="importEndSignal"></signalEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow5" sourceRef="scriptImport" targetRef="importEndCatchEvent"></sequenceFlow>
+ <scriptTask id="scriptEnvoiSignature" name="Envoi lot en signature" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptEnvoiSignature IN");
+serviceCMIS.createSession();
+execution.setVariable("listeActes", serviceCMIS.getActes(refDossier));
+execution.setVariable("emetteur", emetteur);
+execution.setVariable("typeGed", "delib");
+logger.debug("scriptEnvoiSignature OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flow7" sourceRef="userVerifAvantSignature" targetRef="scriptEnvoiSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${bonPourSignature == 'true' }]]></conditionExpression>
+ </sequenceFlow>
+ <scriptTask id="scriptMailAvantSignature" name="Mail demande vérification lot" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptMailAvantSignature IN");
+var req = "/service/fr/mbdx/noyau/mail/mail-node?typeFlux=delib&taskId=scriptMailAvantSignature";
+var param = new java.util.HashMap();
+param.put("dateSeance", dateSeance);
+param.put("linkActiviti", serviceDelib.getUserTaskUrl(execution)); //Lien Activiti vers la tâche de vérification
+var result = serviceRestAlfresco.post(req, param);
+if (result != null) {
+ logger.debug("Le message électronique a bien été envoyé.");
+} else {
+ logger.error("Une erreur a eu lieu au cours de l'envoi du message électronique.");
+}
+logger.debug("scriptMailAvantSignature OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flow15" sourceRef="importEndCatchEvent" targetRef="scriptMailAvantSignature"></sequenceFlow>
+ <sequenceFlow id="flow16" sourceRef="scriptMailAvantSignature" targetRef="userVerifAvantSignature"></sequenceFlow>
+ <subProcess id="subprocessDelib" name="Traitement d'une délibération">
+ <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="listeActes" activiti:elementVariable="acte"></multiInstanceLoopCharacteristics>
+ <callActivity id="callSignature" name="Workflow signature" calledElement="procSignature">
+ <extensionElements>
+ <activiti:in sourceExpression="${acte.nodeRef}" target="nodeRef"></activiti:in>
+ <activiti:in source="emetteur" target="emetteur"></activiti:in>
+ <activiti:in source="typeGed" target="typeGed"></activiti:in>
+ <activiti:in source="mimetype" target="contentType"></activiti:in>
+ </extensionElements>
+ </callActivity>
+ <scriptTask id="scriptMailAvantTdT" name="Mail demande vérification" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptMailAvantTdT IN");
+var req = "/service/fr/mbdx/noyau/mail/mail-node?typeFlux=delib&taskId=scriptMailAvantTdT";
+var param = new java.util.HashMap();
+param.put("dateSeance", dateSeance);
+param.put("prenomSignataire","Administrator");
+param.put("nomSignataire","Administrator");
+param.put("dateSignature",dateSeance);
+param.put("linkActiviti", serviceDelib.getUserTaskUrl(execution));
+var result = serviceRestAlfresco.post(req, param);
+if (result != null) {
+ logger.debug("Le message électronique a bien été envoyé.");
+} else {
+ logger.error("Une erreur a eu lieu au cours de l'envoi du message électronique.");
+}
+logger.debug("scriptMailAvantTdT OUT");
+</script>
+ </scriptTask>
+ <userTask id="userVerifAvantTDT" name="Vérification avant envoi TDT" activiti:candidateUsers="${vidocIdentityService.getUserList('DELIB_VERIF', 'delib')}">
+ <extensionElements>
+ <activiti:formProperty id="openAlfrescoButton" name="Vérifier la délibération" type="link" expression="${acte.url}"></activiti:formProperty>
+ <activiti:formProperty id="bonPourTdT" name="Document bon pour envoi en TDT" type="boolean" required="true"></activiti:formProperty>
+ <activiti:formProperty id="docSubject" name="Sujet document" type="string" expression="${acte.title}" required="true"></activiti:formProperty>
+ </extensionElements>
+ </userTask>
+ <callActivity id="callTDT" name="Workflow TDT" calledElement="prociXbus">
+ <extensionElements>
+ <activiti:in sourceExpression="${acte.nodeRef}" target="url"></activiti:in>
+ <activiti:in source="refDossier" target="refDossier"></activiti:in>
+ <activiti:in sourceExpression="${acte.id}" target="actID"></activiti:in>
+ <activiti:in source="typeGed" target="typeGed"></activiti:in>
+ <activiti:in sourceExpression="${acte.nature}" target="actNature"></activiti:in>
+ <activiti:in sourceExpression="${acte.matiere}" target="matiere"></activiti:in>
+ <activiti:in sourceExpression="${acte.title}" target="subject"></activiti:in>
+ <activiti:in source="mimetype" target="mimetype"></activiti:in>
+ </extensionElements>
+ </callActivity>
+ <scriptTask id="scriptEnvoiSignaturePublicites" name="Envoi signature publicités" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptEnvoiSignaturePublicites IN");
+execution.setVariable("typeGed", "publicites");
+logger.debug("scriptEnvoiSignaturePublicites OUT");
+</script>
+ </scriptTask>
+ <callActivity id="callSignaturePublicite" name="Signature publicité" calledElement="procSignature">
+ <extensionElements>
+ <activiti:in sourceExpression="${acte.nodeRef}" target="nodeRef"></activiti:in>
+ <activiti:in source="emetteur" target="emetteur"></activiti:in>
+ <activiti:in source="typeGed" target="typeGed"></activiti:in>
+ </extensionElements>
+ </callActivity>
+ <startEvent id="startDelibSubworkflow" name="Start">
+ <extensionElements>
+ <activiti:formProperty id="refDossier" name="Référence du dossier Alfresco" type="string" variable="refDossier" required="true"></activiti:formProperty>
+ <activiti:formProperty id="emetteur" name="Emetteur du document" type="string" variable="emetteur" required="true"></activiti:formProperty>
+ <activiti:formProperty id="typeGed" name="Type GED du document à traiter" type="string" variable="typeGed" default="delib" required="true"></activiti:formProperty>
+ <activiti:formProperty id="numeroSeance" name="Numéro de séance" type="string" variable="numeroSeance" required="true"></activiti:formProperty>
+ <activiti:formProperty id="folderUrl" name="URL dossier délibérations" type="string" variable="folderUrl" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <endEvent id="endevent2" name="End"></endEvent>
+ <sequenceFlow id="flow19" sourceRef="scriptMailAvantTdT" targetRef="userVerifAvantTDT"></sequenceFlow>
+ <sequenceFlow id="flow20" sourceRef="userVerifAvantTDT" targetRef="scriptPrepaEnvoiTdT">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${bonPourTdT == 'true' }]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow21" sourceRef="callTDT" targetRef="scriptEnvoiSignaturePublicites"></sequenceFlow>
+ <sequenceFlow id="flow22" sourceRef="scriptEnvoiSignaturePublicites" targetRef="callSignaturePublicite"></sequenceFlow>
+ <sequenceFlow id="flow23" sourceRef="callSignaturePublicite" targetRef="scriptClotureDelib"></sequenceFlow>
+ <sequenceFlow id="flow27" name="Annulation envoi TdT" sourceRef="userVerifAvantTDT" targetRef="endevent2"></sequenceFlow>
+ <scriptTask id="scriptInitDelib" name="Initialisation délibération" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptInitDelib IN");
+execution.setVariable("mimetype", null);
+execution.setVariable("duration", acte.getDureeTimerActiviti());
+acte.setUrl(serviceRestAlfresco.getShareDocumentURL(acte.getNodeRef()));
+logger.debug("scriptInitDelib OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow29" sourceRef="startDelibSubworkflow" targetRef="scriptInitDelib"></sequenceFlow>
+ <sequenceFlow id="flow30" sourceRef="timerintermediatecatchevent1" targetRef="callSignature"></sequenceFlow>
+ <scriptTask id="scriptPrepaEnvoiTdT" name="Préparation envoi au TdT" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptPrepaEnvoiTdT IN");
+serviceCMIS.createSession();
+var doc = serviceCMIS.getDocument(acte.getNodeRef());
+acte.setMatiere(serviceDelib.getMatiere(doc));
+acte.setNature("1");
+logger.debug("scriptPrepaEnvoiTdT OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow33" sourceRef="scriptPrepaEnvoiTdT" targetRef="callTDT"></sequenceFlow>
+ <scriptTask id="scriptClotureDelib" name="Clôture traitement délibération" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptClotureDelib IN");
+serviceCMIS.createSession();
+var doc = serviceCMIS.getDocument(acte.getNodeRef());
+var prop = new java.util.HashMap();
+prop.put("mbdx:executoire", "Exécutoire");
+serviceCMIS.updateProperties(doc, prop);
+logger.debug("scriptClotureDelib OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow34" sourceRef="scriptClotureDelib" targetRef="endevent2"></sequenceFlow>
+ <sequenceFlow id="flow35" sourceRef="callSignature" targetRef="timerintermediatecatchevent2"></sequenceFlow>
+ <intermediateCatchEvent id="timerintermediatecatchevent1" name="TimerCatchEvent">
+ <timerEventDefinition>
+ <timeDuration>${duration}</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow36" sourceRef="scriptInitDelib" targetRef="timerintermediatecatchevent1"></sequenceFlow>
+ <intermediateCatchEvent id="timerintermediatecatchevent2" name="TimerCatchEvent">
+ <timerEventDefinition>
+ <timeDuration>PT10S</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow37" sourceRef="timerintermediatecatchevent2" targetRef="scriptMailAvantTdT"></sequenceFlow>
+ </subProcess>
+ <sequenceFlow id="flow24" sourceRef="scriptEnvoiSignature" targetRef="subprocessDelib"></sequenceFlow>
+ <sequenceFlow id="flow25" name="Annulation traitement lot" sourceRef="userVerifAvantSignature" targetRef="endevent1"></sequenceFlow>
+ <sequenceFlow id="flow26" sourceRef="subprocessDelib" targetRef="endevent1"></sequenceFlow>
+ <sequenceFlow id="flow28" sourceRef="startDelib" targetRef="scriptImport"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_procDelib">
+ <bpmndi:BPMNPlane bpmnElement="procDelib" id="BPMNPlane_procDelib">
+ <bpmndi:BPMNShape bpmnElement="startDelib" id="BPMNShape_startDelib">
+ <omgdc:Bounds height="35.0" width="35.0" x="140.0" y="74.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="userVerifAvantSignature" id="BPMNShape_userVerifAvantSignature">
+ <omgdc:Bounds height="55.0" width="105.0" x="600.0" y="64.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="980.0" y="130.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptImport" id="BPMNShape_scriptImport">
+ <omgdc:Bounds height="55.0" width="105.0" x="220.0" y="64.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="importEndCatchEvent" id="BPMNShape_importEndCatchEvent">
+ <omgdc:Bounds height="35.0" width="35.0" x="370.0" y="74.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptEnvoiSignature" id="BPMNShape_scriptEnvoiSignature">
+ <omgdc:Bounds height="55.0" width="105.0" x="740.0" y="64.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptMailAvantSignature" id="BPMNShape_scriptMailAvantSignature">
+ <omgdc:Bounds height="55.0" width="105.0" x="460.0" y="64.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="subprocessDelib" id="BPMNShape_subprocessDelib">
+ <omgdc:Bounds height="241.0" width="841.0" x="80.0" y="174.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="callSignature" id="BPMNShape_callSignature">
+ <omgdc:Bounds height="55.0" width="105.0" x="430.0" y="213.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptMailAvantTdT" id="BPMNShape_scriptMailAvantTdT">
+ <omgdc:Bounds height="55.0" width="105.0" x="640.0" y="213.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="userVerifAvantTDT" id="BPMNShape_userVerifAvantTDT">
+ <omgdc:Bounds height="55.0" width="105.0" x="780.0" y="213.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="callTDT" id="BPMNShape_callTDT">
+ <omgdc:Bounds height="55.0" width="105.0" x="560.0" y="320.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptEnvoiSignaturePublicites" id="BPMNShape_scriptEnvoiSignaturePublicites">
+ <omgdc:Bounds height="55.0" width="105.0" x="430.0" y="320.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="callSignaturePublicite" id="BPMNShape_callSignaturePublicite">
+ <omgdc:Bounds height="55.0" width="105.0" x="300.0" y="320.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="startDelibSubworkflow" id="BPMNShape_startDelibSubworkflow">
+ <omgdc:Bounds height="35.0" width="35.0" x="142.0" y="223.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endevent2" id="BPMNShape_endevent2">
+ <omgdc:Bounds height="35.0" width="35.0" x="108.0" y="330.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptInitDelib" id="BPMNShape_scriptInitDelib">
+ <omgdc:Bounds height="55.0" width="105.0" x="220.0" y="213.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptPrepaEnvoiTdT" id="BPMNShape_scriptPrepaEnvoiTdT">
+ <omgdc:Bounds height="55.0" width="105.0" x="780.0" y="320.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptClotureDelib" id="BPMNShape_scriptClotureDelib">
+ <omgdc:Bounds height="55.0" width="105.0" x="170.0" y="320.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerintermediatecatchevent1" id="BPMNShape_timerintermediatecatchevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="360.0" y="223.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerintermediatecatchevent2" id="BPMNShape_timerintermediatecatchevent2">
+ <omgdc:Bounds height="35.0" width="35.0" x="570.0" y="223.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
+ <omgdi:waypoint x="325.0" y="91.0"></omgdi:waypoint>
+ <omgdi:waypoint x="370.0" y="91.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
+ <omgdi:waypoint x="705.0" y="91.0"></omgdi:waypoint>
+ <omgdi:waypoint x="740.0" y="91.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
+ <omgdi:waypoint x="405.0" y="91.0"></omgdi:waypoint>
+ <omgdi:waypoint x="460.0" y="91.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
+ <omgdi:waypoint x="565.0" y="91.0"></omgdi:waypoint>
+ <omgdi:waypoint x="600.0" y="91.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
+ <omgdi:waypoint x="745.0" y="240.0"></omgdi:waypoint>
+ <omgdi:waypoint x="780.0" y="240.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
+ <omgdi:waypoint x="832.0" y="268.0"></omgdi:waypoint>
+ <omgdi:waypoint x="832.0" y="320.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
+ <omgdi:waypoint x="560.0" y="347.0"></omgdi:waypoint>
+ <omgdi:waypoint x="535.0" y="347.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
+ <omgdi:waypoint x="430.0" y="347.0"></omgdi:waypoint>
+ <omgdi:waypoint x="405.0" y="347.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
+ <omgdi:waypoint x="300.0" y="347.0"></omgdi:waypoint>
+ <omgdi:waypoint x="275.0" y="347.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow27" id="BPMNEdge_flow27">
+ <omgdi:waypoint x="832.0" y="268.0"></omgdi:waypoint>
+ <omgdi:waypoint x="809.0" y="294.0"></omgdi:waypoint>
+ <omgdi:waypoint x="682.0" y="294.0"></omgdi:waypoint>
+ <omgdi:waypoint x="613.0" y="294.0"></omgdi:waypoint>
+ <omgdi:waypoint x="367.0" y="294.0"></omgdi:waypoint>
+ <omgdi:waypoint x="125.0" y="294.0"></omgdi:waypoint>
+ <omgdi:waypoint x="125.0" y="330.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="101.0" x="743.0" y="470.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow29" id="BPMNEdge_flow29">
+ <omgdi:waypoint x="177.0" y="240.0"></omgdi:waypoint>
+ <omgdi:waypoint x="220.0" y="240.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow30" id="BPMNEdge_flow30">
+ <omgdi:waypoint x="395.0" y="240.0"></omgdi:waypoint>
+ <omgdi:waypoint x="430.0" y="240.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow33" id="BPMNEdge_flow33">
+ <omgdi:waypoint x="780.0" y="347.0"></omgdi:waypoint>
+ <omgdi:waypoint x="665.0" y="347.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow34" id="BPMNEdge_flow34">
+ <omgdi:waypoint x="170.0" y="347.0"></omgdi:waypoint>
+ <omgdi:waypoint x="143.0" y="347.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow35" id="BPMNEdge_flow35">
+ <omgdi:waypoint x="535.0" y="240.0"></omgdi:waypoint>
+ <omgdi:waypoint x="570.0" y="240.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow36" id="BPMNEdge_flow36">
+ <omgdi:waypoint x="325.0" y="240.0"></omgdi:waypoint>
+ <omgdi:waypoint x="360.0" y="240.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow37" id="BPMNEdge_flow37">
+ <omgdi:waypoint x="605.0" y="240.0"></omgdi:waypoint>
+ <omgdi:waypoint x="640.0" y="240.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
+ <omgdi:waypoint x="792.0" y="119.0"></omgdi:waypoint>
+ <omgdi:waypoint x="792.0" y="147.0"></omgdi:waypoint>
+ <omgdi:waypoint x="29.0" y="147.0"></omgdi:waypoint>
+ <omgdi:waypoint x="29.0" y="202.0"></omgdi:waypoint>
+ <omgdi:waypoint x="29.0" y="282.0"></omgdi:waypoint>
+ <omgdi:waypoint x="80.0" y="294.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25">
+ <omgdi:waypoint x="652.0" y="64.0"></omgdi:waypoint>
+ <omgdi:waypoint x="653.0" y="35.0"></omgdi:waypoint>
+ <omgdi:waypoint x="788.0" y="35.0"></omgdi:waypoint>
+ <omgdi:waypoint x="997.0" y="35.0"></omgdi:waypoint>
+ <omgdi:waypoint x="997.0" y="130.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="115.0" x="681.0" y="41.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow26" id="BPMNEdge_flow26">
+ <omgdi:waypoint x="921.0" y="294.0"></omgdi:waypoint>
+ <omgdi:waypoint x="997.0" y="292.0"></omgdi:waypoint>
+ <omgdi:waypoint x="997.0" y="165.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow28" id="BPMNEdge_flow28">
+ <omgdi:waypoint x="175.0" y="91.0"></omgdi:waypoint>
+ <omgdi:waypoint x="220.0" y="91.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="procEnvoiLotTDT" name="Transmission d'actes par Lot à iXbus" isExecutable="true">
+ <startEvent id="startiXbus" name="Démarrage workflow iXbus">
+ <extensionElements>
+ <activiti:formProperty id="refDossier" name="Référence dossier archivage Alfresco pour l'AR" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="actID" name="ID de l'envoi pour le document XML d'accompagnement" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="subject" name="Sujet de l'envoi pour le document XML d'accompagnement" type="string" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <scriptTask id="scriptEnvoyer" name="Envoi vers iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("Envoi fichiers");
+var lst = java.util.ArrayList();
+var xmlAttachment = utils.createXmlAttachment(actID, subject);
+xmlAttachment.setName(utils.replaceFileExtension(pjAttachment.getName(), ".xml"));
+lst.add(xmlAttachment);
+lst.add(pjAttachment);
+logger.info("-> fichier n° 1 : " + xmlAttachment.getName());
+logger.info("-> fichier n° 2 : " + pjAttachment.getName());
+//TODO enregistrement suivant à enlever
+utils.saveAttachment(xmlAttachment);
+//TODO enregistrement suivant à enlever
+utils.saveAttachment(pjAttachment);
+ixbus.envoyer(lst);
+execution.setVariable("xmlAttachment", xmlAttachment);
+var dateEnvoi = new java.util.GregorianCalendar();
+execution.setVariable("dateEnvoi", dateEnvoi);
+logger.info("Envoi fichiers OK");
+ </script>
+ </scriptTask>
+ <endEvent id="endeventiXbus" name="Fin workflow iXbus"></endEvent>
+ <scriptTask id="scriptRecevoirAck" name="Reception AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("Reception AR fichier " + xmlAttachment.getName());
+ixbus.setUp();
+var ack = ixbus.recevoirAck(xmlAttachment.getName());
+execution.setVariable("ack", ack);
+if (ack.isRecu()) {
+ logger.info("Reception AR OK");
+} else {
+ logger.info("AR ou anomalie non disponible");
+}</script>
+ </scriptTask>
+ <sequenceFlow id="flowEnd" name="AR disponible" sourceRef="scriptRecevoirAck" targetRef="scriptArchiveAR">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${ack.isRecu()}]]></conditionExpression>
+ </sequenceFlow>
+ <scriptTask id="scriptTest" name="Test connexion iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("Test connexion");
+ixbus.setUp();
+ixbus.test();
+logger.info("Connexion OK");</script>
+ </scriptTask>
+ <sequenceFlow id="flow10" sourceRef="scriptTest" targetRef="scriptEnvoyer"></sequenceFlow>
+ <scriptTask id="scriptGetCmisFolder" name="Chargement contenu dossier CMIS" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptGetCmisFolder IN");
+serviceCMIS.createSession();
+var pjAttachment = serviceDelib.createPjFromFolderId(refDossier);
+execution.setVariable("pjAttachment", pjAttachment);
+logger.info("scriptGetCmisFolder OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow12" sourceRef="scriptGetCmisFolder" targetRef="scriptTest"></sequenceFlow>
+ <intermediateCatchEvent id="timerRecevoirAck" name="Timer d'interrogation iXbus">
+ <timerEventDefinition>
+ <timeDuration>PT30S</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow19" sourceRef="scriptEnvoyer" targetRef="timerRecevoirAck"></sequenceFlow>
+ <sequenceFlow id="flowRecevoirAck" sourceRef="timerRecevoirAck" targetRef="scriptRecevoirAck"></sequenceFlow>
+ <sequenceFlow id="flowTimerRecevoirAck" name="AR non disponible" sourceRef="scriptRecevoirAck" targetRef="timerRecevoirAck">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!ack.isRecu()}]]></conditionExpression>
+ </sequenceFlow>
+ <scriptTask id="scriptArchiveAR" name="Archivage AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptArchiveAR IN");
+//TODO enregistrement suivant à enlever
+utils.saveAttachment(ack.getAttachment());
+var idRetour = utils.getIDActe(ack.getAttachment());
+serviceCMIS.createSession();
+var folder = serviceCMIS.getFolder(refDossier);
+var doc = serviceCMIS.getDocument(docId);
+var statut = ack.getStatut().value();
+if (statut == "ACK") {
+ var name = "AR TdT " + xmlAttachment.getName();
+ var statutTDT = "AccuseReceptionRecu";
+} else {
+ var name = "Anomalie TdT " + xmlAttachment.getName();
+ var statutTDT = "Anomalie";
+}
+var dateReception = new java.util.GregorianCalendar();
+var ackContent = utils.removeZeroBytes(ack.getAttachment().getContent());
+var prop = new java.util.HashMap();
+prop.put("cmis:objectTypeId", "cmis:document,P:mbdx:accuseReceptionTdT,P:mbdx:statutAspect,P:mbdx:ducGed");
+prop.put("cmis:name", name);
+var docAR = serviceCMIS.createDocument(folder, name, ackContent, "text/xml", prop);
+prop.clear();
+prop.put("mbdx:statutDocument", "A archiver");
+prop.put("mbdx:typeDocument", "Annexe");
+prop.put("mbdx:communicabilite", "Oui");
+prop.put("mbdx:idDocTransmis", actID);
+prop.put("mbdx:statutTDT", statutTDT);
+prop.put("mbdx:dateEnvoi", dateEnvoi);
+prop.put("mbdx:dateReception", dateReception);
+prop.put("mbdx:idRetour", idRetour);
+serviceCMIS.updateProperties(docAR, prop);
+logger.info("AR TdT enregistré");
+prop.clear();
+prop.put("mbdx:idDocTransmis", actID);
+prop.put("mbdx:statutTDT", statutTDT);
+prop.put("mbdx:dateEnvoi", dateEnvoi);
+prop.put("mbdx:dateReception", dateReception);
+prop.put("mbdx:idRetour", idRetour);
+prop.put("mbdx:executoire", "Retour Préfecture");
+serviceDelib.updateTdTProperties(refDossier, prop);
+logger.info("scriptArchiveAR OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow20" sourceRef="scriptArchiveAR" targetRef="endeventiXbus"></sequenceFlow>
+ <sequenceFlow id="flow21" sourceRef="startiXbus" targetRef="scriptGetCmisFolder"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_procEnvoiLotTDT">
+ <bpmndi:BPMNPlane bpmnElement="procEnvoiLotTDT" id="BPMNPlane_procEnvoiLotTDT">
+ <bpmndi:BPMNShape bpmnElement="startiXbus" id="BPMNShape_startiXbus">
+ <omgdc:Bounds height="35.0" width="35.0" x="50.0" y="111.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endeventiXbus" id="BPMNShape_endeventiXbus">
+ <omgdc:Bounds height="35.0" width="35.0" x="324.0" y="270.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptRecevoirAck" id="BPMNShape_scriptRecevoirAck">
+ <omgdc:Bounds height="55.0" width="121.0" x="670.0" y="180.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptEnvoyer" id="BPMNShape_scriptEnvoyer">
+ <omgdc:Bounds height="55.0" width="122.0" x="440.0" y="101.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptTest" id="BPMNShape_scriptTest">
+ <omgdc:Bounds height="55.0" width="124.0" x="280.0" y="101.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerRecevoirAck" id="BPMNShape_timerRecevoirAck">
+ <omgdc:Bounds height="35.0" width="35.0" x="603.0" y="112.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptArchiveAR" id="BPMNShape_scriptArchiveAR">
+ <omgdc:Bounds height="55.0" width="121.0" x="440.0" y="260.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptGetCmisFolder" id="BPMNShape_scriptGetCmisFolder">
+ <omgdc:Bounds height="55.0" width="121.0" x="120.0" y="101.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
+ <omgdi:waypoint x="404.0" y="128.0"></omgdi:waypoint>
+ <omgdi:waypoint x="440.0" y="128.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
+ <omgdi:waypoint x="241.0" y="128.0"></omgdi:waypoint>
+ <omgdi:waypoint x="280.0" y="128.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
+ <omgdi:waypoint x="562.0" y="128.0"></omgdi:waypoint>
+ <omgdi:waypoint x="602.0" y="129.0"></omgdi:waypoint>
+ <omgdi:waypoint x="603.0" y="129.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowRecevoirAck" id="BPMNEdge_flowRecevoirAck">
+ <omgdi:waypoint x="638.0" y="129.0"></omgdi:waypoint>
+ <omgdi:waypoint x="730.0" y="129.0"></omgdi:waypoint>
+ <omgdi:waypoint x="730.0" y="180.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowTimerRecevoirAck" id="BPMNEdge_flowTimerRecevoirAck">
+ <omgdi:waypoint x="670.0" y="207.0"></omgdi:waypoint>
+ <omgdi:waypoint x="620.0" y="207.0"></omgdi:waypoint>
+ <omgdi:waypoint x="620.0" y="147.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="87.0" x="-96.0" y="-28.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowEnd" id="BPMNEdge_flowEnd">
+ <omgdi:waypoint x="730.0" y="235.0"></omgdi:waypoint>
+ <omgdi:waypoint x="730.0" y="287.0"></omgdi:waypoint>
+ <omgdi:waypoint x="561.0" y="287.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="66.0" x="-62.0" y="-17.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
+ <omgdi:waypoint x="440.0" y="287.0"></omgdi:waypoint>
+ <omgdi:waypoint x="359.0" y="287.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
+ <omgdi:waypoint x="85.0" y="128.0"></omgdi:waypoint>
+ <omgdi:waypoint x="120.0" y="128.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="prociXbus" name="Transmission d'actes à iXbus" isExecutable="true">
+ <startEvent id="startiXbus" name="Démarrage workflow iXbus">
+ <extensionElements>
+ <activiti:formProperty id="url" name="Url document à envoyer" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="refDossier" name="Référence dossier archivage Alfresco" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="typeGed" name="Type Alfresco" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="actID" name="ID de l'envoi pour le document XML d'accompagnement" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="actNature" name="Nature de l'acte" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="matiere" name="Nomenclature envoi TDT" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="subject" name="Sujet de l'envoi pour le document XML d'accompagnement" type="string" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <scriptTask id="scriptEnvoyer" name="Envoi vers iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptEnvoyer IN");
+var lst = java.util.ArrayList();
+var xmlAtt = utils.createXmlAttachment(actID, actNature, matiere, subject);
+xmlAtt.setName(utils.replaceFileExtension(uniqueFileName, ".xml"));
+pjAttachment.setName(utils.replaceFileExtension(uniqueFileName, ".pj"));
+lst.add(xmlAtt);
+lst.add(pjAttachment);
+logger.debug("-> fichier n° 1 : " + xmlAtt.getName());
+logger.debug("-> fichier n° 2 : " + pjAttachment.getName());
+//TODO enregistrement suivant à enlever
+utils.saveAttachment(xmlAtt);
+//TODO enregistrement suivant à enlever
+utils.saveAttachment(pjAttachment);
+ixbus.envoyer(lst);
+execution.setVariable("xmlAttachment", xmlAtt);
+execution.setVariable("dateEnvoi", new java.util.GregorianCalendar());
+logger.debug("scriptEnvoyer OUT");
+ </script>
+ </scriptTask>
+ <endEvent id="endeventiXbus" name="Fin workflow iXbus"></endEvent>
+ <scriptTask id="scriptRecevoirAck" name="Reception AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptRecevoirAck IN");
+logger.debug("Reception AR fichier " + xmlAttachment.getName());
+ixbus.setUp();
+execution.setVariable("ack", ixbus.recevoirAck(xmlAttachment.getName()));
+if (ack.isRecu()) {
+ logger.debug("Reception AR OK");
+} else {
+ logger.debug("AR ou anomalie non disponible");
+}
+logger.debug("scriptRecevoirAck OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flowEnd" name="AR disponible" sourceRef="scriptRecevoirAck" targetRef="scriptVisuelReception">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${ack.isRecu()}]]></conditionExpression>
+ </sequenceFlow>
+ <scriptTask id="scriptTest" name="Test connexion iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptTest IN");
+ixbus.setUp();
+ixbus.test();
+logger.debug("scriptTest OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow10" sourceRef="scriptTest" targetRef="scriptEnvoyer"></sequenceFlow>
+ <scriptTask id="scriptGetCmisDocument" name="Chargement document CMIS" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptGetCmisDocument IN");
+logger.debug("Chargement document CMIS " + url);
+serviceCMIS.createSession();
+var doc = serviceCMIS.getDocument(url);
+//Si le document a l'aspect "archiveRm", il est possible d'envoyer l'original en module RM au TdT ou bien le visuel PDF
+if(doc.hasAspect("P:mbdx:archiveRm") && typeGed == "delib" && serviceDelib.isSendOriginalToTDT()) {
+ var refArchiveRmString = doc.getProperty("mbdx:refArchiveRmString").getValue();
+ doc = serviceCMIS.getDocument(refArchiveRmString);
+}
+var contentStream = doc.getContentStream();
+execution.setVariable("mimetype", contentStream.getMimeType());
+execution.setVariable("filename", contentStream.getFileName());
+var tempFileName = utils.getUniqueFileName(filename);
+var xmlFilename = utils.replaceFileExtension(tempFileName, ".xml")
+execution.setVariable("uniqueFileName", xmlFilename);
+logger.debug("Création pièce jointe " + tempFileName);
+
+//Flux Permis : on envoie tout le dossier d'urbanisme
+if (typeGed.equals("arrete")) {
+ var folder = serviceCMIS.getFolder(refDossier);
+ var list = serviceCMIS.getFilesRecursively(folder);
+ execution.setVariable("pjAttachment", serviceUrbanisme.createPjFromList(list, doc));
+ execution.setVariable("content", serviceCMIS.getContent(doc));
+
+ var folderProp = new java.util.HashMap();
+ folderProp.put("mbdx:dateEnvoiLegalite", new java.util.GregorianCalendar());
+ folderProp.put("mbdx:dateRetourLegalite", null);
+ folderProp.put("mbdx:idRetourLegalite", null);
+ folderProp.put("mbdx:statutControleLegalite", "En cours");
+ serviceCMIS.updateProperties(folder, folderProp);
+
+//Flux générique : on n'envoie que le document principal
+} else {
+ var inputStream = contentStream.getStream();
+ execution.setVariable("pjAttachment", utils.createPjFromStream(inputStream, tempFileName));
+}
+execution.setVariable("docId", url);
+logger.debug("Pièce jointe OK");
+
+//Si le document n'a pas l'aspect "mbdx:accuseReceptionTdT", on l'ajoute...
+if(!doc.hasAspect("P:mbdx:accuseReceptionTdT")) {
+
+ // ... on positionne les métadonnées statut, date d'envoi et id du doc transmis.
+ var prop = new java.util.HashMap();
+ prop.put("mbdx:statutTDT", "En cours");
+ prop.put("mbdx:dateEnvoi", new java.util.GregorianCalendar());
+ prop.put("mbdx:idDocTransmis", actID);
+ doc.addAspect("P:mbdx:accuseReceptionTdT", prop);
+
+ logger.debug("Document CMIS en cours d'envoi au TdT");
+}
+logger.info("scriptGetCmisDocument OUT");
+</script>
+ </scriptTask>
+ <exclusiveGateway id="exclusivegateway2" name="Branchement type de flux d'entrée"></exclusiveGateway>
+ <scriptTask id="scriptLoadHttpUrl" name="Téléchargement fichier HTTP" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptLoadHttpUrl IN");
+logger.debug("Chargement fichier à partir de l'url " + url);
+var conn = utils.openConnection(url);
+execution.setVariable("mimetype", conn.getContentType());
+var inputStream = conn.getInputStream();
+execution.setVariable("filename", utils.getFileName(conn));
+execution.setVariable("uniqueFileName", utils.getUniqueFileName(filename));
+logger.debug("Création pièce jointe " + uniqueFileName);
+execution.setVariable("pjAttachment", utils.createPjFromStream(inputStream, uniqueFileName));
+logger.debug("scriptLoadHttpUrl OUT");</script>
+ </scriptTask>
+ <scriptTask id="scriptLoadFile" name="Chargement fichier réseau" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptLoadFile IN");
+logger.debug("Chargement fichier à l'emplacement " + url);
+var file = new java.io.File(url);
+execution.setVariable("mimetype", utils.getContentType(file));
+execution.setVariable("filename", file.getName());
+execution.setVariable("uniqueFileName", utils.getUniqueFileName(filename));
+logger.info("Création pièce jointe " + uniqueFileName);
+execution.setVariable("pjAttachment", utils.createPjFromFile(file, uniqueFileName));
+logger.debug("scriptLoadFile OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow13" sourceRef="exclusivegateway2" targetRef="scriptGetCmisDocument">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${url.startsWith("workspace://SpacesStore/")}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow14" sourceRef="exclusivegateway2" targetRef="scriptLoadHttpUrl">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${url.startsWith("http://")}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow15" sourceRef="exclusivegateway2" targetRef="scriptLoadFile"></sequenceFlow>
+ <intermediateCatchEvent id="timerRecevoirAck" name="Timer d'interrogation iXbus">
+ <timerEventDefinition>
+ <timeDuration>PT30S</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow19" sourceRef="scriptEnvoyer" targetRef="scriptVisuelEnvoi"></sequenceFlow>
+ <sequenceFlow id="flowRecevoirAck" sourceRef="timerRecevoirAck" targetRef="scriptRecevoirAck"></sequenceFlow>
+ <sequenceFlow id="flowTimerRecevoirAck" name="AR non disponible" sourceRef="scriptRecevoirAck" targetRef="timerRecevoirAck">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!ack.isRecu()}]]></conditionExpression>
+ </sequenceFlow>
+ <scriptTask id="scriptArchiveAR" name="Archivage AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptArchiveAR IN");
+logger.debug("Archivage AR iXbus dans le dossier Alfresco " + refDossier);
+//TODO enregistrement suivant à enlever (uniquement destiné au débogage)
+utils.saveAttachment(ack.getAttachment());
+serviceCMIS.createSession();
+if (typeof docId === "undefined") {
+ var folder = serviceCMIS.getFolder(refDossier);
+ var content = utils.unzipAttachment(pjAttachment);
+ var doc = serviceCMIS.createDocument(folder, filename, content, mimetype);
+ var docId = doc.getId();
+} else {
+ var doc = serviceCMIS.getDocument(docId);
+ //L'A/R est enregistré dans le même dossier que le document principal
+ var folder = doc.getParents().get(0);
+}
+var name = utils.replaceFileExtension(filename, ".xml");
+var statut = ack.getStatut().value();
+if (statut == "ACK") {
+ name = "AR TdT " + name;
+ var statutTDT = "Accusé de réception reçu";
+} else {
+ name = "Anomalie TdT " + name;
+ var statutTDT = "Anomalie";
+}
+var ackContent = utils.removeZeroBytes(ack.getAttachment().getContent());
+var prop = new java.util.HashMap();
+prop.put("cmis:objectTypeId", "D:mbdx:documentMDB,P:mbdx:accuseReceptionTdT,P:mbdx:statutAspect,P:mbdx:ducGed");
+prop.put("cmis:name", name);
+var docAR = serviceCMIS.createDocument(folder, name, ackContent, "text/xml", prop);
+logger.debug("AR TdT enregistré");
+
+//Appel du webscript se chargeant d'enregistrer les métadonnées de retour TdT
+var req = "/wcs/fr/mbdx/noyau/tdt/retourTdt";
+var param = new java.util.HashMap();
+param.put("refDocPrincipal", doc.getId());
+param.put("refDossier", refDossier);
+param.put("refAccuseReception", docAR.getId());
+param.put("idRetourLegalite", idRetour);
+var result = serviceRestAlfresco.get(req, param);
+if (result != null) {
+ logger.debug("Les métadonnées de retour TdT ont bien été mises à jour.");
+} else {
+ logger.error("Une erreur a eu lieu au cours de l'enregistrement des métadonnées de retour TdT.");
+}
+
+logger.debug("scriptArchiveAR OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow20" sourceRef="scriptArchiveAR" targetRef="endeventiXbus"></sequenceFlow>
+ <sequenceFlow id="flow21" sourceRef="startiXbus" targetRef="timerintermediatecatchevent1"></sequenceFlow>
+ <scriptTask id="scriptVisuelEnvoi" name="Mise à jour visuel PDF suite à l'envoi" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptVisuelEnvoi IN");
+if (typeGed.equals("delib") && typeof docId !== "undefined") {
+ logger.info("typeGed = 'delib' et docId !== 'undefined'");
+ execution.setVariable("tableauRecapitulatif", servicePDF.createTableau(typeGed));
+ serviceCMIS.createSession();
+ var doc = serviceCMIS.getDocument(docId);
+ serviceCMIS.remplirTableauEnvoiTdT(tableauRecapitulatif, doc);
+ tableauRecapitulatif.setDateEnvoi(dateEnvoi);
+ var signature = parapheurService.getImageSignature(tableauRecapitulatif.getNomSignataire());
+ tableauRecapitulatif.setSignature(signature);
+ logger.debug("On génère le nouveau document PDF");
+ var pjContent = utils.unzipAttachment(pjAttachment);
+ execution.setVariable("content", servicePDF.ecrireTableauRecapitulatif(pjContent, tableauRecapitulatif, false, true));
+ logger.debug("Enregistrement du nouveau visuel PDF");
+ var stream = new java.io.ByteArrayInputStream(content);
+ var contentStream = serviceCMIS.createContentStream(filename, content.length, mimetype, stream);
+ doc.setContentStream(contentStream, true);
+}
+logger.debug("scriptVisuelEnvoi OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flow22" sourceRef="scriptVisuelEnvoi" targetRef="timerRecevoirAck"></sequenceFlow>
+ <scriptTask id="scriptVisuelReception" name="Mise à jour visuel PDF suite à l'AR" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.debug("scriptVisuelReception IN");
+logger.debug("Pour le moment on ne gère que le cas des délibérations et des arrêtés d'urbanisme");
+execution.setVariable("dateReception", new java.util.GregorianCalendar());
+logger.debug("Code retour ACK : " + ack.getStatut().value());
+if (ack.getStatut().value() == "ACK") {
+ execution.setVariable("idRetour", utils.getIDActe(ack.getAttachment()));
+ logger.debug("Type GED : " + typeGed);
+ if (typeGed.equals("delib") || typeGed.equals("arrete")) {
+ logger.debug("On génère le nouveau document PDF");
+ if (typeGed.equals("delib")) {
+ tableauRecapitulatif.setDateReception(dateReception);
+ tableauRecapitulatif.setIdAR(idRetour);
+ var newContent = servicePDF.ecrireTableauRecapitulatif(content, tableauRecapitulatif, false, true);
+ } else {
+ execution.setVariable("tableauRecapitulatif", servicePDF.createTableau(typeGed));
+ tableauRecapitulatif.setDateEnvoi(dateEnvoi);
+ tableauRecapitulatif.setDateReception(dateReception);
+ var newContent = servicePDF.ecrireTableauRecapitulatif(content, tableauRecapitulatif, false, false);
+ }
+ logger.debug("Enregistrement du nouveau visuel PDF");
+ serviceCMIS.createSession();
+ var doc = serviceCMIS.getDocument(docId);
+ var stream = new java.io.ByteArrayInputStream(newContent);
+ var contentStream = serviceCMIS.createContentStream(filename, newContent.length, mimetype, stream);
+ doc.setContentStream(contentStream, true);
+ }
+} else {
+ execution.setVariable("idRetour", null);
+}
+logger.debug("scriptVisuelReception OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flow23" sourceRef="scriptVisuelReception" targetRef="scriptArchiveAR"></sequenceFlow>
+ <sequenceFlow id="flow24" sourceRef="scriptLoadHttpUrl" targetRef="scriptTest"></sequenceFlow>
+ <sequenceFlow id="flow25" sourceRef="scriptGetCmisDocument" targetRef="scriptTest"></sequenceFlow>
+ <sequenceFlow id="flow26" sourceRef="scriptLoadFile" targetRef="scriptTest"></sequenceFlow>
+ <intermediateCatchEvent id="timerintermediatecatchevent1" name="TimerCatchEvent">
+ <timerEventDefinition>
+ <timeDuration>PT60S</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow27" sourceRef="timerintermediatecatchevent1" targetRef="exclusivegateway2"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_prociXbus">
+ <bpmndi:BPMNPlane bpmnElement="prociXbus" id="BPMNPlane_prociXbus">
+ <bpmndi:BPMNShape bpmnElement="startiXbus" id="BPMNShape_startiXbus">
+ <omgdc:Bounds height="35.0" width="35.0" x="30.0" y="123.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptEnvoyer" id="BPMNShape_scriptEnvoyer">
+ <omgdc:Bounds height="55.0" width="122.0" x="630.0" y="113.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endeventiXbus" id="BPMNShape_endeventiXbus">
+ <omgdc:Bounds height="35.0" width="35.0" x="240.0" y="286.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptRecevoirAck" id="BPMNShape_scriptRecevoirAck">
+ <omgdc:Bounds height="55.0" width="121.0" x="698.0" y="276.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptTest" id="BPMNShape_scriptTest">
+ <omgdc:Bounds height="55.0" width="124.0" x="458.0" y="113.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptGetCmisDocument" id="BPMNShape_scriptGetCmisDocument">
+ <omgdc:Bounds height="55.0" width="121.0" x="270.0" y="113.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
+ <omgdc:Bounds height="40.0" width="40.0" x="186.0" y="120.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptLoadHttpUrl" id="BPMNShape_scriptLoadHttpUrl">
+ <omgdc:Bounds height="55.0" width="121.0" x="270.0" y="35.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptLoadFile" id="BPMNShape_scriptLoadFile">
+ <omgdc:Bounds height="55.0" width="121.0" x="270.0" y="192.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerRecevoirAck" id="BPMNShape_timerRecevoirAck">
+ <omgdc:Bounds height="35.0" width="35.0" x="835.0" y="215.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptArchiveAR" id="BPMNShape_scriptArchiveAR">
+ <omgdc:Bounds height="55.0" width="121.0" x="321.0" y="276.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptVisuelEnvoi" id="BPMNShape_scriptVisuelEnvoi">
+ <omgdc:Bounds height="55.0" width="122.0" x="791.0" y="113.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptVisuelReception" id="BPMNShape_scriptVisuelReception">
+ <omgdc:Bounds height="55.0" width="122.0" x="482.0" y="276.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerintermediatecatchevent1" id="BPMNShape_timerintermediatecatchevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="110.0" y="123.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flowEnd" id="BPMNEdge_flowEnd">
+ <omgdi:waypoint x="698.0" y="303.0"></omgdi:waypoint>
+ <omgdi:waypoint x="604.0" y="303.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="66.0" x="664.0" y="280.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
+ <omgdi:waypoint x="582.0" y="140.0"></omgdi:waypoint>
+ <omgdi:waypoint x="630.0" y="140.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
+ <omgdi:waypoint x="226.0" y="140.0"></omgdi:waypoint>
+ <omgdi:waypoint x="270.0" y="140.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
+ <omgdi:waypoint x="206.0" y="120.0"></omgdi:waypoint>
+ <omgdi:waypoint x="205.0" y="62.0"></omgdi:waypoint>
+ <omgdi:waypoint x="270.0" y="62.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
+ <omgdi:waypoint x="206.0" y="160.0"></omgdi:waypoint>
+ <omgdi:waypoint x="206.0" y="219.0"></omgdi:waypoint>
+ <omgdi:waypoint x="270.0" y="219.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
+ <omgdi:waypoint x="752.0" y="140.0"></omgdi:waypoint>
+ <omgdi:waypoint x="791.0" y="140.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowRecevoirAck" id="BPMNEdge_flowRecevoirAck">
+ <omgdi:waypoint x="852.0" y="250.0"></omgdi:waypoint>
+ <omgdi:waypoint x="852.0" y="304.0"></omgdi:waypoint>
+ <omgdi:waypoint x="819.0" y="303.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowTimerRecevoirAck" id="BPMNEdge_flowTimerRecevoirAck">
+ <omgdi:waypoint x="758.0" y="276.0"></omgdi:waypoint>
+ <omgdi:waypoint x="758.0" y="232.0"></omgdi:waypoint>
+ <omgdi:waypoint x="835.0" y="232.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="87.0" x="732.0" y="255.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
+ <omgdi:waypoint x="321.0" y="303.0"></omgdi:waypoint>
+ <omgdi:waypoint x="275.0" y="303.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
+ <omgdi:waypoint x="65.0" y="140.0"></omgdi:waypoint>
+ <omgdi:waypoint x="110.0" y="140.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
+ <omgdi:waypoint x="852.0" y="168.0"></omgdi:waypoint>
+ <omgdi:waypoint x="852.0" y="215.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
+ <omgdi:waypoint x="482.0" y="303.0"></omgdi:waypoint>
+ <omgdi:waypoint x="442.0" y="303.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
+ <omgdi:waypoint x="330.0" y="90.0"></omgdi:waypoint>
+ <omgdi:waypoint x="520.0" y="113.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25">
+ <omgdi:waypoint x="391.0" y="140.0"></omgdi:waypoint>
+ <omgdi:waypoint x="458.0" y="140.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow26" id="BPMNEdge_flow26">
+ <omgdi:waypoint x="330.0" y="192.0"></omgdi:waypoint>
+ <omgdi:waypoint x="520.0" y="168.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow27" id="BPMNEdge_flow27">
+ <omgdi:waypoint x="145.0" y="140.0"></omgdi:waypoint>
+ <omgdi:waypoint x="186.0" y="140.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="prociXbusDossier" name="Transmission d'actes à iXbus" isExecutable="true">
+ <startEvent id="startiXbusDossier" name="Démarrage workflow iXbus dossier">
+ <extensionElements>
+ <activiti:formProperty id="nodeRef" name="Référence document principal à envoyer" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="refDossier" name="Référence dossier Alfresco à envoyer" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="typeGed" name="Type Alfresco" type="string" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <scriptTask id="scriptEnvoyer" name="Envoi vers iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptEnvoyer IN");
+var lst = java.util.ArrayList();
+var xmlAtt = utils.createXmlAttachment(actID, actNature, matiere, subject);
+xmlAtt.setName(utils.replaceFileExtension(uniqueFileName, ".xml"));
+pjAttachment.setName(utils.replaceFileExtension(uniqueFileName, ".pj"));
+lst.add(xmlAtt);
+lst.add(pjAttachment);
+logger.info("-> fichier n° 1 : " + xmlAtt.getName());
+logger.info("-> fichier n° 2 : " + pjAttachment.getName());
+//TODO enregistrement suivant à enlever
+utils.saveAttachment(xmlAtt);
+//TODO enregistrement suivant à enlever
+utils.saveAttachment(pjAttachment);
+ixbus.envoyer(lst);
+execution.setVariable("xmlAttachment", xmlAtt);
+execution.setVariable("dateEnvoi", new java.util.GregorianCalendar());
+logger.info("scriptEnvoyer OUT");
+ </script>
+ </scriptTask>
+ <endEvent id="endeventiXbusDossier" name="Fin workflow iXbus dossier"></endEvent>
+ <scriptTask id="scriptRecevoirAck" name="Reception AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptRecevoirAck IN");
+logger.info("Reception AR fichier " + xmlAttachment.getName());
+ixbus.setUp();
+var varAck = ixbus.recevoirAck(xmlAttachment.getName());
+if (varAck.isRecu()) {
+ logger.info("Reception AR OK");
+} else {
+ logger.info("AR ou anomalie non disponible");
+}
+execution.setVariable("ack", varAck);
+logger.info("scriptRecevoirAck OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flowEnd" name="AR disponible" sourceRef="scriptRecevoirAck" targetRef="scriptVisuelReception">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${ack.isRecu()}]]></conditionExpression>
+ </sequenceFlow>
+ <scriptTask id="scriptTest" name="Test connexion iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptTest IN");
+ixbus.setUp();
+ixbus.test();
+logger.info("scriptTest OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow10" sourceRef="scriptTest" targetRef="scriptEnvoyer"></sequenceFlow>
+ <scriptTask id="scriptGetCmisFolder" name="Chargement dossier CMIS" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptGetCmisFolder IN");
+logger.info("Chargement document CMIS " + url);
+serviceCMIS.createSession();
+var doc = serviceCMIS.getDocument(url);
+//Si le document a l'aspect "archiveRm", il est possible d'envoyer l'original en module RM au TdT ou bien le visuel PDF
+if(doc.hasAspect("P:mbdx:archiveRm") && typeGed == "delib" && serviceDelib.isSendOriginalToTDT()) {
+ var refArchiveRmString = doc.getProperty("mbdx:refArchiveRmString").getValue();
+ doc = serviceCMIS.getDocument(refArchiveRmString);
+}
+var contentStream = doc.getContentStream();
+var varMimetype = contentStream.getMimeType();
+execution.setVariable("mimetype", varMimetype);
+var inputStream = contentStream.getStream();
+var filename = contentStream.getFileName();
+var uniqueFileName = utils.getUniqueFileName(filename);
+var xmlFilename = utils.replaceFileExtension(uniqueFileName, ".xml")
+logger.info("Création pièce jointe " + uniqueFileName);
+var pjAttachment = utils.createPjFromStream(inputStream, uniqueFileName);
+logger.info("Pièce jointe OK");
+execution.setVariable("filename", filename);
+execution.setVariable("uniqueFileName", xmlFilename);
+execution.setVariable("pjAttachment", pjAttachment);
+execution.setVariable("docId", url);
+
+// AJOUT BULL 20131007 - Si le document n'a pas l'aspect "mbdx:accuseReceptionTdT", on l'ajoute...
+if(!doc.hasAspect("P:mbdx:accuseReceptionTdT")) {
+ serviceCMIS.addAspect(doc, "P:mbdx:accuseReceptionTdT");
+
+ // ... et on positionne les métadonnées statut, date d'envoi et id du doc transmis.
+ var dateEnvoi = new java.util.GregorianCalendar();
+ var prop = new java.util.HashMap();
+ prop.put("mbdx:statutTDT", "En cours");
+ prop.put("mbdx:dateEnvoi", dateEnvoi);
+ prop.put("mbdx:idDocTransmis", actID);
+ serviceCMIS.updateProperties(doc, prop);
+ logger.info("Document CMIS en cours d'envoi au TdT");
+}
+logger.info("scriptGetCmisFolder OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flow12" sourceRef="scriptGetCmisFolder" targetRef="scriptTest"></sequenceFlow>
+ <intermediateCatchEvent id="timerRecevoirAck" name="Timer d'interrogation iXbus">
+ <timerEventDefinition>
+ <timeDuration>PT30S</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow19" sourceRef="scriptEnvoyer" targetRef="scriptVisuelEnvoi"></sequenceFlow>
+ <sequenceFlow id="flowRecevoirAck" sourceRef="timerRecevoirAck" targetRef="scriptRecevoirAck"></sequenceFlow>
+ <sequenceFlow id="flowTimerRecevoirAck" name="AR non disponible" sourceRef="scriptRecevoirAck" targetRef="timerRecevoirAck">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!ack.isRecu()}]]></conditionExpression>
+ </sequenceFlow>
+ <scriptTask id="scriptArchiveAR" name="Archivage AR iXbus" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptArchiveAR IN");
+logger.info("Archivage AR iXbus dans le dossier Alfresco " + refDossier);
+//TODO enregistrement suivant à enlever (uniquement destiné au débogage)
+utils.saveAttachment(ack.getAttachment());
+var idRetour = utils.getIDActe(ack.getAttachment());
+serviceCMIS.createSession();
+var folder = serviceCMIS.getFolder(refDossier);
+if (docId == undefined || docId == null) {
+ var content = utils.unzipAttachment(pjAttachment);
+ var doc = serviceCMIS.createDocument(folder, filename, content, mimetype);
+ var docId = doc.getId();
+} else {
+ var doc = serviceCMIS.getDocument(docId);
+}
+var name = utils.replaceFileExtension(filename, ".xml");
+var statut = ack.getStatut().value();
+if (statut == "ACK") {
+ name = "AR TdT " + name;
+ var statutTDT = "AccuseReceptionRecu";
+} else {
+ name = "Anomalie TdT " + name;
+ var statutTDT = "Anomalie";
+}
+var dateReception = new java.util.GregorianCalendar();
+var ackContent = utils.removeZeroBytes(ack.getAttachment().getContent());
+var prop = new java.util.HashMap();
+prop.put("cmis:objectTypeId", "D:mbdx:documentMDB,P:mbdx:accuseReceptionTdT,P:mbdx:statutAspect,P:mbdx:ducGed");
+prop.put("cmis:name", name);
+var docAR = serviceCMIS.createDocument(folder, name, ackContent, "text/xml", prop);
+prop.clear();
+prop.put("mbdx:statutDocument", "A archiver");
+prop.put("mbdx:typeDocument", "Annexe");
+prop.put("mbdx:communicabilite", "Oui");
+prop.put("mbdx:idDocTransmis", actID);
+prop.put("mbdx:statutTDT", statutTDT);
+prop.put("mbdx:dateEnvoi", tableauRecapitulatif.getDateEnvoi());
+prop.put("mbdx:dateReception", tableauRecapitulatif.getDateReception());
+prop.put("mbdx:idRetour", tableauRecapitulatif.getIdAR());
+serviceCMIS.updateProperties(docAR, prop);
+logger.info("AR TdT enregistré");
+serviceCMIS.addAspect(doc, "P:mbdx:accuseReceptionTdT");
+prop.clear();
+prop.put("mbdx:idDocTransmis", actID);
+prop.put("mbdx:statutTDT", statutTDT);
+prop.put("mbdx:dateEnvoi", tableauRecapitulatif.getDateEnvoi());
+prop.put("mbdx:dateReception", tableauRecapitulatif.getDateReception());
+prop.put("mbdx:idRetour", tableauRecapitulatif.getIdAR());
+prop.put("mbdx:executoire", "Retour Préfecture");
+serviceCMIS.updateProperties(doc, prop);
+logger.info("scriptArchiveAR OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow20" sourceRef="scriptArchiveAR" targetRef="endeventiXbusDossier"></sequenceFlow>
+ <scriptTask id="scriptVisuelEnvoi" name="Mise à jour visuel PDF suite à l'envoi" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptVisuelEnvoi IN");
+logger.debug("Pour le moment on ne gère que le cas des délibérations");
+if (typeGed.equals("delib") && docId != undefined && docId != null) {
+ serviceCMIS.createSession();
+ var doc = serviceCMIS.getDocument(docId);
+ var tableauRecapitulatifLocal = servicePDF.createTableau();
+ serviceCMIS.remplirTableauEnvoiTdT(tableauRecapitulatifLocal, doc);
+ tableauRecapitulatifLocal.setDateEnvoi(new java.util.GregorianCalendar());
+ var signature = parapheurService.getImageSignature(tableauRecapitulatifLocal.getNomSignataire());
+ tableauRecapitulatifLocal.setSignature(signature);
+ execution.setVariable("tableauRecapitulatif", tableauRecapitulatifLocal);
+ logger.debug("On génère le nouveau document PDF");
+ var pjContent = utils.unzipAttachment(pjAttachment);
+ var newContent = servicePDF.ecrireTableauRecapitulatif(pjContent, tableauRecapitulatifLocal, false);
+ execution.setVariable("content", newContent);
+ logger.debug("Enregistrement du nouveau visuel PDF");
+ var stream = new java.io.ByteArrayInputStream(newContent);
+ var contentStream = serviceCMIS.createContentStream(filename, newContent.length, mimetype, stream);
+ doc.setContentStream(contentStream, true);
+}
+logger.info("scriptVisuelEnvoi OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flow22" sourceRef="scriptVisuelEnvoi" targetRef="timerRecevoirAck"></sequenceFlow>
+ <scriptTask id="scriptVisuelReception" name="Mise à jour visuel PDF suite à l'AR" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptVisuelReception IN");
+logger.debug("Pour le moment on ne gère que le cas des délibérations");
+if (typeGed.equals("delib") && ack.getStatut().value() == "ACK") {
+ tableauRecapitulatif.setDateReception(new java.util.GregorianCalendar());
+ tableauRecapitulatif.setIdAR(utils.getIDActe(ack.getAttachment()));
+ logger.debug("On génère le nouveau document PDF");
+ var newContent = servicePDF.ecrireTableauRecapitulatif(content, tableauRecapitulatif, false);
+ logger.debug("Enregistrement du nouveau visuel PDF");
+ serviceCMIS.createSession();
+ var doc = serviceCMIS.getDocument(docId);
+ var stream = new java.io.ByteArrayInputStream(newContent);
+ var contentStream = serviceCMIS.createContentStream(filename, newContent.length, mimetype, stream);
+ doc.setContentStream(contentStream, true);
+}
+logger.info("scriptVisuelReception OUT");
+</script>
+ </scriptTask>
+ <sequenceFlow id="flow23" sourceRef="scriptVisuelReception" targetRef="scriptArchiveAR"></sequenceFlow>
+ <sequenceFlow id="flow24" sourceRef="startiXbusDossier" targetRef="scriptGetCmisFolder"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_prociXbusDossier">
+ <bpmndi:BPMNPlane bpmnElement="prociXbusDossier" id="BPMNPlane_prociXbusDossier">
+ <bpmndi:BPMNShape bpmnElement="scriptRecevoirAck" id="BPMNShape_scriptRecevoirAck">
+ <omgdc:Bounds height="55.0" width="121.0" x="508.0" y="242.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptEnvoyer" id="BPMNShape_scriptEnvoyer">
+ <omgdc:Bounds height="55.0" width="122.0" x="448.0" y="40.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptTest" id="BPMNShape_scriptTest">
+ <omgdc:Bounds height="55.0" width="124.0" x="288.0" y="40.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerRecevoirAck" id="BPMNShape_timerRecevoirAck">
+ <omgdc:Bounds height="35.0" width="35.0" x="645.0" y="162.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptArchiveAR" id="BPMNShape_scriptArchiveAR">
+ <omgdc:Bounds height="55.0" width="121.0" x="131.0" y="242.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptVisuelEnvoi" id="BPMNShape_scriptVisuelEnvoi">
+ <omgdc:Bounds height="55.0" width="122.0" x="601.0" y="40.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptVisuelReception" id="BPMNShape_scriptVisuelReception">
+ <omgdc:Bounds height="55.0" width="122.0" x="292.0" y="242.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptGetCmisFolder" id="BPMNShape_scriptGetCmisFolder">
+ <omgdc:Bounds height="55.0" width="121.0" x="130.0" y="40.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="startiXbusDossier" id="BPMNShape_startiXbusDossier">
+ <omgdc:Bounds height="35.0" width="35.0" x="50.0" y="50.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endeventiXbusDossier" id="BPMNShape_endeventiXbusDossier">
+ <omgdc:Bounds height="35.0" width="35.0" x="50.0" y="252.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
+ <omgdi:waypoint x="412.0" y="67.0"></omgdi:waypoint>
+ <omgdi:waypoint x="448.0" y="67.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
+ <omgdi:waypoint x="251.0" y="67.0"></omgdi:waypoint>
+ <omgdi:waypoint x="288.0" y="67.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
+ <omgdi:waypoint x="570.0" y="67.0"></omgdi:waypoint>
+ <omgdi:waypoint x="583.0" y="69.0"></omgdi:waypoint>
+ <omgdi:waypoint x="601.0" y="67.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowRecevoirAck" id="BPMNEdge_flowRecevoirAck">
+ <omgdi:waypoint x="662.0" y="197.0"></omgdi:waypoint>
+ <omgdi:waypoint x="662.0" y="269.0"></omgdi:waypoint>
+ <omgdi:waypoint x="629.0" y="269.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowTimerRecevoirAck" id="BPMNEdge_flowTimerRecevoirAck">
+ <omgdi:waypoint x="568.0" y="242.0"></omgdi:waypoint>
+ <omgdi:waypoint x="568.0" y="179.0"></omgdi:waypoint>
+ <omgdi:waypoint x="645.0" y="179.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="87.0" x="-26.0" y="-21.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowEnd" id="BPMNEdge_flowEnd">
+ <omgdi:waypoint x="508.0" y="269.0"></omgdi:waypoint>
+ <omgdi:waypoint x="414.0" y="269.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="66.0" x="-34.0" y="-23.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
+ <omgdi:waypoint x="131.0" y="269.0"></omgdi:waypoint>
+ <omgdi:waypoint x="85.0" y="269.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
+ <omgdi:waypoint x="662.0" y="95.0"></omgdi:waypoint>
+ <omgdi:waypoint x="662.0" y="162.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
+ <omgdi:waypoint x="292.0" y="269.0"></omgdi:waypoint>
+ <omgdi:waypoint x="252.0" y="269.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
+ <omgdi:waypoint x="85.0" y="67.0"></omgdi:waypoint>
+ <omgdi:waypoint x="130.0" y="67.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="procSignature" name="Demande de signature" isExecutable="true">
+ <startEvent id="startSignature" name="Demande signature" activiti:initiator="employeeName">
+ <extensionElements>
+ <activiti:formProperty id="nodeRef" name="Référence Alfresco du document à signer" type="string"></activiti:formProperty>
+ <activiti:formProperty id="nodeName" name="Nom du document à signer" type="string"></activiti:formProperty>
+ <activiti:formProperty id="emetteur" name="Personne ayant émis le dossier" type="string"></activiti:formProperty>
+ <activiti:formProperty id="typeGed" name="Type Alfresco" type="string" default="annexe"></activiti:formProperty>
+ <activiti:formProperty id="xpathSignatureXML" name="XPath pour signature XML" type="string"></activiti:formProperty>
+ <activiti:formProperty id="folderRef" name="Référence Alfresco du dossier à joindre au document à signer" type="string"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <serviceTask id="serviceInitSignature" name="Initialisation Traitement Signature" activiti:delegateExpression="${initSignature}"></serviceTask>
+ <serviceTask id="serviceEnvoiPermisSignature" name="Demande parapheur PERMIS" activiti:delegateExpression="${envoiParapheur}">
+ <extensionElements>
+ <activiti:field name="typeTechnique">
+ <activiti:string><![CDATA[ACTES]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="sousType">
+ <activiti:string><![CDATA[permis]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="visibilite">
+ <activiti:string><![CDATA[PUBLIC]]></activiti:string>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <serviceTask id="serviceEnvoiDelibSignature" name="Demande parapheur DELIBERATIONS" activiti:delegateExpression="${envoiParapheur}">
+ <extensionElements>
+ <activiti:field name="typeTechnique">
+ <activiti:string><![CDATA[ACTES]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="sousType">
+ <activiti:string><![CDATA[deliberations]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="visibilite">
+ <activiti:string><![CDATA[PUBLIC]]></activiti:string>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <serviceTask id="serviceEnvoiArreteSignature" name="Demande parapheur ARRETES" activiti:delegateExpression="${envoiParapheur}">
+ <extensionElements>
+ <activiti:field name="typeTechnique">
+ <activiti:string><![CDATA[ACTES]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="sousType">
+ <activiti:string><![CDATA[arretes]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="visibilite">
+ <activiti:string><![CDATA[PUBLIC]]></activiti:string>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <serviceTask id="serviceEnvoiODMSignature" name="Demande parapheur ORDRES DE MISSION" activiti:delegateExpression="${envoiParapheur}">
+ <extensionElements>
+ <activiti:field name="typeTechnique">
+ <activiti:string><![CDATA[COURRIERS]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="sousType">
+ <activiti:string><![CDATA[ordres de mission]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="visibilite">
+ <activiti:string><![CDATA[PUBLIC]]></activiti:string>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <serviceTask id="serviceInterrogation" name="Interrogation état dossier signature" activiti:delegateExpression="${interrogationParapheur}"></serviceTask>
+ <serviceTask id="serviceFinSignature" name="Traitement Fin Signature" activiti:delegateExpression="${clotureParapheur}"></serviceTask>
+ <endEvent id="endeventSucces" name="Youpi"></endEvent>
+ <sequenceFlow id="flowSucces" sourceRef="serviceFinSignature" targetRef="endeventSucces"></sequenceFlow>
+ <sequenceFlow id="flowAttente" sourceRef="serviceEnvoiPermisSignature" targetRef="timerAttente"></sequenceFlow>
+ <sequenceFlow id="flowAttenteInterrogation" sourceRef="serviceInterrogation" targetRef="timerAttente">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${signatureFin == 'false' }]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flowInterrogation" sourceRef="timerAttente" targetRef="serviceInterrogation"></sequenceFlow>
+ <intermediateCatchEvent id="timerAttente" name="Timer d'interrogation parapheur">
+ <timerEventDefinition>
+ <timeDuration>${parapheurService.getInterrogationTimerDuration()}</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
+ <sequenceFlow id="flwPermis" name="permis" sourceRef="exclusivegateway1" targetRef="serviceEnvoiPermisSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${typeGed == "permis"}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flwarrete" name="arrete" sourceRef="exclusivegateway1" targetRef="serviceEnvoiArreteSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${typeGed == "arrete"}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flwodm" name="odm" sourceRef="exclusivegateway1" targetRef="serviceEnvoiODMSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${typeGed == "ordredemission"}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flwdelib" name="delib" sourceRef="exclusivegateway1" targetRef="serviceEnvoiDelibSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${typeGed == "delib"}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow6" sourceRef="serviceEnvoiDelibSignature" targetRef="timerAttente"></sequenceFlow>
+ <sequenceFlow id="flow8" sourceRef="serviceEnvoiODMSignature" targetRef="timerAttente"></sequenceFlow>
+ <sequenceFlow id="flow9" sourceRef="serviceInitSignature" targetRef="exclusivegateway1"></sequenceFlow>
+ <serviceTask id="serviceEnvoiAnnexeSignature" name="Demande parapheur ANNEXE" activiti:delegateExpression="${envoiParapheur}">
+ <extensionElements>
+ <activiti:field name="typeTechnique">
+ <activiti:string><![CDATA[DOCUMENT]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="sousType">
+ <activiti:string><![CDATA[annexe]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="visibilite">
+ <activiti:string><![CDATA[PUBLIC]]></activiti:string>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <sequenceFlow id="flwAnnexe" name="annexe" sourceRef="exclusivegateway1" targetRef="serviceEnvoiAnnexeSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${typeGed == "annexe"}]]></conditionExpression>
+ </sequenceFlow>
+ <serviceTask id="serviceEnvoiPubSignature" name="Demande parapheur PUBLICITES" activiti:delegateExpression="${envoiParapheur}">
+ <extensionElements>
+ <activiti:field name="typeTechnique">
+ <activiti:string><![CDATA[ACTES]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="sousType">
+ <activiti:string><![CDATA[publicites]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="visibilite">
+ <activiti:string><![CDATA[PUBLIC]]></activiti:string>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <sequenceFlow id="flwpublicites" name="publicites" sourceRef="exclusivegateway1" targetRef="serviceEnvoiPubSignature">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${typeGed == "publicites"}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow13" sourceRef="serviceEnvoiPubSignature" targetRef="timerAttente"></sequenceFlow>
+ <serviceTask id="serviceVisuelPDF" name="Mise à jour tableau visuel PDF" activiti:delegateExpression="${taskVisuelPDF}"></serviceTask>
+ <sequenceFlow id="flow15" sourceRef="serviceInterrogation" targetRef="serviceVisuelPDF">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${signatureFin == 'true' }]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow16" sourceRef="serviceVisuelPDF" targetRef="serviceFinSignature"></sequenceFlow>
+ <sequenceFlow id="flow17" sourceRef="startSignature" targetRef="timerintermediatecatchevent1"></sequenceFlow>
+ <intermediateCatchEvent id="timerintermediatecatchevent1" name="TimerCatchEvent">
+ <timerEventDefinition>
+ <timeDuration>PT10S</timeDuration>
+ </timerEventDefinition>
+ </intermediateCatchEvent>
+ <sequenceFlow id="flow18" sourceRef="timerintermediatecatchevent1" targetRef="serviceInitSignature"></sequenceFlow>
+ <serviceTask id="mailtaskDemandeSignatureUrbanisme" name="Mail demande signature arrêté d'urbanisme" activiti:type="mail">
+ <extensionElements>
+ <activiti:field name="to">
+ <activiti:expression>${vidocIdentityService.getPersonEmail(nomSignataire)}</activiti:expression>
+ </activiti:field>
+ <activiti:field name="from">
+ <activiti:string><![CDATA[alfresco@mairie-bordeaux.fr]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="subject">
+ <activiti:string><![CDATA[Demande de signature d'un arrêté d'urbanisme]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="charset">
+ <activiti:string><![CDATA[utf-8]]></activiti:string>
+ </activiti:field>
+ <activiti:field name="html">
+ <activiti:expression><html>
+<body>
+ Bonjour.<br/>
+ Vous avez reçu une demande de signature pour l’arrêté ${libelleArrete} du dossier d’urbanisme ${numeroDossier}.
+ Pour signer, veuillez cliquer sur le lien ci-dessous :
+ <a href="${parapheurPageURL}">${libelleArrete}</a><br/>
+ Cordialement.
+</body>
+</html></activiti:expression>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <sequenceFlow id="flow19" sourceRef="mailtaskDemandeSignatureUrbanisme" targetRef="timerAttente"></sequenceFlow>
+ <sequenceFlow id="flow20" sourceRef="serviceEnvoiArreteSignature" targetRef="mailtaskDemandeSignatureUrbanisme"></sequenceFlow>
+ <sequenceFlow id="flow22" sourceRef="serviceEnvoiAnnexeSignature" targetRef="timerAttente"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_procSignature">
+ <bpmndi:BPMNPlane bpmnElement="procSignature" id="BPMNPlane_procSignature">
+ <bpmndi:BPMNShape bpmnElement="startSignature" id="BPMNShape_startSignature">
+ <omgdc:Bounds height="35.0" width="35.0" x="66.0" y="75.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceInitSignature" id="BPMNShape_serviceInitSignature">
+ <omgdc:Bounds height="87.0" width="106.0" x="31.0" y="213.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceEnvoiPermisSignature" id="BPMNShape_serviceEnvoiPermisSignature">
+ <omgdc:Bounds height="55.0" width="141.0" x="280.0" y="40.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceEnvoiDelibSignature" id="BPMNShape_serviceEnvoiDelibSignature">
+ <omgdc:Bounds height="55.0" width="141.0" x="280.0" y="124.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceEnvoiArreteSignature" id="BPMNShape_serviceEnvoiArreteSignature">
+ <omgdc:Bounds height="55.0" width="141.0" x="280.0" y="279.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceEnvoiODMSignature" id="BPMNShape_serviceEnvoiODMSignature">
+ <omgdc:Bounds height="55.0" width="141.0" x="280.0" y="362.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceInterrogation" id="BPMNShape_serviceInterrogation">
+ <omgdc:Bounds height="61.0" width="105.0" x="760.0" y="155.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceFinSignature" id="BPMNShape_serviceFinSignature">
+ <omgdc:Bounds height="55.0" width="105.0" x="850.0" y="328.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endeventSucces" id="BPMNShape_endeventSucces">
+ <omgdc:Bounds height="35.0" width="35.0" x="885.0" y="414.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerAttente" id="BPMNShape_timerAttente">
+ <omgdc:Bounds height="35.0" width="35.0" x="700.0" y="256.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
+ <omgdc:Bounds height="40.0" width="40.0" x="178.0" y="236.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceEnvoiAnnexeSignature" id="BPMNShape_serviceEnvoiAnnexeSignature">
+ <omgdc:Bounds height="55.0" width="141.0" x="280.0" y="439.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceEnvoiPubSignature" id="BPMNShape_serviceEnvoiPubSignature">
+ <omgdc:Bounds height="55.0" width="141.0" x="280.0" y="200.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="serviceVisuelPDF" id="BPMNShape_serviceVisuelPDF">
+ <omgdc:Bounds height="55.0" width="105.0" x="850.0" y="246.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="timerintermediatecatchevent1" id="BPMNShape_timerintermediatecatchevent1">
+ <omgdc:Bounds height="35.0" width="35.0" x="66.0" y="144.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="mailtaskDemandeSignatureUrbanisme" id="BPMNShape_mailtaskDemandeSignatureUrbanisme">
+ <omgdc:Bounds height="55.0" width="141.0" x="455.0" y="279.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flowSucces" id="BPMNEdge_flowSucces">
+ <omgdi:waypoint x="902.0" y="383.0"></omgdi:waypoint>
+ <omgdi:waypoint x="902.0" y="414.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowAttente" id="BPMNEdge_flowAttente">
+ <omgdi:waypoint x="421.0" y="67.0"></omgdi:waypoint>
+ <omgdi:waypoint x="550.0" y="67.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="256.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowAttenteInterrogation" id="BPMNEdge_flowAttenteInterrogation">
+ <omgdi:waypoint x="760.0" y="185.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="186.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="256.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flowInterrogation" id="BPMNEdge_flowInterrogation">
+ <omgdi:waypoint x="735.0" y="273.0"></omgdi:waypoint>
+ <omgdi:waypoint x="812.0" y="273.0"></omgdi:waypoint>
+ <omgdi:waypoint x="812.0" y="216.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flwPermis" id="BPMNEdge_flwPermis">
+ <omgdi:waypoint x="198.0" y="236.0"></omgdi:waypoint>
+ <omgdi:waypoint x="199.0" y="67.0"></omgdi:waypoint>
+ <omgdi:waypoint x="280.0" y="67.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="32.0" x="28.0" y="-36.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flwarrete" id="BPMNEdge_flwarrete">
+ <omgdi:waypoint x="198.0" y="276.0"></omgdi:waypoint>
+ <omgdi:waypoint x="199.0" y="306.0"></omgdi:waypoint>
+ <omgdi:waypoint x="280.0" y="306.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="29.0" x="230.0" y="290.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flwodm" id="BPMNEdge_flwodm">
+ <omgdi:waypoint x="198.0" y="276.0"></omgdi:waypoint>
+ <omgdi:waypoint x="199.0" y="389.0"></omgdi:waypoint>
+ <omgdi:waypoint x="280.0" y="389.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="20.0" x="235.0" y="369.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flwdelib" id="BPMNEdge_flwdelib">
+ <omgdi:waypoint x="198.0" y="236.0"></omgdi:waypoint>
+ <omgdi:waypoint x="199.0" y="151.0"></omgdi:waypoint>
+ <omgdi:waypoint x="280.0" y="151.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="22.0" x="234.0" y="132.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
+ <omgdi:waypoint x="421.0" y="151.0"></omgdi:waypoint>
+ <omgdi:waypoint x="539.0" y="151.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="256.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
+ <omgdi:waypoint x="421.0" y="389.0"></omgdi:waypoint>
+ <omgdi:waypoint x="453.0" y="388.0"></omgdi:waypoint>
+ <omgdi:waypoint x="554.0" y="388.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="291.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
+ <omgdi:waypoint x="137.0" y="256.0"></omgdi:waypoint>
+ <omgdi:waypoint x="178.0" y="256.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flwAnnexe" id="BPMNEdge_flwAnnexe">
+ <omgdi:waypoint x="198.0" y="276.0"></omgdi:waypoint>
+ <omgdi:waypoint x="199.0" y="466.0"></omgdi:waypoint>
+ <omgdi:waypoint x="280.0" y="466.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="36.0" x="227.0" y="439.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flwpublicites" id="BPMNEdge_flwpublicites">
+ <omgdi:waypoint x="198.0" y="236.0"></omgdi:waypoint>
+ <omgdi:waypoint x="198.0" y="227.0"></omgdi:waypoint>
+ <omgdi:waypoint x="280.0" y="227.0"></omgdi:waypoint>
+ <bpmndi:BPMNLabel>
+ <omgdc:Bounds height="14.0" width="45.0" x="222.0" y="203.0"></omgdc:Bounds>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
+ <omgdi:waypoint x="421.0" y="227.0"></omgdi:waypoint>
+ <omgdi:waypoint x="550.0" y="227.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="256.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
+ <omgdi:waypoint x="865.0" y="185.0"></omgdi:waypoint>
+ <omgdi:waypoint x="902.0" y="184.0"></omgdi:waypoint>
+ <omgdi:waypoint x="902.0" y="246.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
+ <omgdi:waypoint x="902.0" y="301.0"></omgdi:waypoint>
+ <omgdi:waypoint x="902.0" y="328.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
+ <omgdi:waypoint x="83.0" y="110.0"></omgdi:waypoint>
+ <omgdi:waypoint x="83.0" y="144.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
+ <omgdi:waypoint x="83.0" y="179.0"></omgdi:waypoint>
+ <omgdi:waypoint x="84.0" y="213.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
+ <omgdi:waypoint x="596.0" y="306.0"></omgdi:waypoint>
+ <omgdi:waypoint x="628.0" y="305.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="291.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
+ <omgdi:waypoint x="421.0" y="306.0"></omgdi:waypoint>
+ <omgdi:waypoint x="455.0" y="306.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
+ <omgdi:waypoint x="421.0" y="466.0"></omgdi:waypoint>
+ <omgdi:waypoint x="540.0" y="465.0"></omgdi:waypoint>
+ <omgdi:waypoint x="717.0" y="291.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
+ <process id="procVisaUrbanisme" name="Flux Visa Urbanisme" isExecutable="true">
+ <startEvent id="startVisaUrbanisme" name="Départ visa urbanisme">
+ <extensionElements>
+ <activiti:formProperty id="nodeRef" name="Référence Alfresco du document à traiter" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="numeroDossier" name="Nom du dossier d'urbanisme" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="emetteur" name="Personne ayant émis la demande de visa" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="destinataire" name="Nom du destinataire de la demande d'avis" type="string" required="true"></activiti:formProperty>
+ <activiti:formProperty id="cartadsUrl" name="URL dossier Cart@ds" type="string" required="true"></activiti:formProperty>
+ </extensionElements>
+ </startEvent>
+ <userTask id="usertaskVisaUrbanisme" name="Avis dossier urbanisme" activiti:assignee="${destinataire}">
+ <extensionElements>
+ <activiti:formProperty id="numero" name="Numéro dossier" type="string" variable="numeroDossier" writable="false"></activiti:formProperty>
+ <activiti:formProperty id="linkCartads" name="Vérifier le dossier dans Cart@ds" type="link" variable="cartadsUrl"></activiti:formProperty>
+ <activiti:formProperty id="selectDecision" name="Décision prise" type="enum" variable="decision" default="visaOK" required="true">
+ <activiti:value id="visaOK" name="Valider et terminer le circuit de validation"></activiti:value>
+ <activiti:value id="visaContinue" name="Valider et continuer le circuit de validation"></activiti:value>
+ <activiti:value id="visaKO" name="Refuser la validation"></activiti:value>
+ </activiti:formProperty>
+ <activiti:formProperty id="selectAssignee" name="Transmettre pour avis à" type="visaassignee" variable="destinataire"></activiti:formProperty>
+ </extensionElements>
+ </userTask>
+ <scriptTask id="scriptInitVisaUrbanisme" name="Initialisation visa urbanisme" activiti:async="true" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptInitVisaUrbanisme IN");
+//execution.setVariable("cartadsUrl", serviceUrbanisme.getCartadsUrl(nodeRef));
+logger.info("scriptInitVisaUrbanisme OUT");</script>
+ </scriptTask>
+ <endEvent id="endVisaUrbanisme" name="Fin visa urbanisme"></endEvent>
+ <sequenceFlow id="flow1" sourceRef="startVisaUrbanisme" targetRef="scriptInitVisaUrbanisme"></sequenceFlow>
+ <scriptTask id="scriptClotureVisaUrbanisme" name="Clôture visa urbanisme" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptClotureVisaUrbanisme IN");
+logger.info("Décision prise : " + decision.toString());
+serviceCMIS.createSession();
+var doc = serviceCMIS.getDocument(nodeRef);
+var prop = new java.util.HashMap();
+if (decision == "visaOK") {
+ prop.put("mbdx:statutDocument", "Validé");
+ prop.put("mbdx:statutVisa", "Validé");
+} else if (decision == "visaContinue") {
+ prop.put("mbdx:destinataireCourant", destinataire);
+ //execution.setVariable("cartadsUrl", serviceUrbanisme.getCartadsUrl(nodeRef));
+} else {
+ prop.put("mbdx:statutVisa", "Refusé");
+}
+serviceCMIS.updateProperties(doc, prop);
+serviceUrbanisme.triggerCartadsEvent(nodeRef);
+logger.info("scriptClotureVisaUrbanisme OUT");</script>
+ </scriptTask>
+ <serviceTask id="mailtaskVisaUrbanisme" name="Mail demande avis urbanisme" activiti:type="mail">
+ <extensionElements>
+ <activiti:field name="html">
+ <activiti:expression><html>
+<body>
+ Bonjour.<br/>
+ Votre avis est demandé sur le dossier d’urbanisme n° <b>${numeroDossier}</b>.<br/>
+ Veuillez cliquer sur le lien ci-dessous :<br/>
+ <a href="${serviceUrbanisme.getUserTaskUrl(execution, "usertaskVisaUrbanisme", destinataire)}">Boîte de réception Activiti</a><br/>
+ Cordialement.
+</body>
+</html></activiti:expression>
+ </activiti:field>
+ <activiti:field name="to">
+ <activiti:expression>${vidocIdentityService.getPersonEmail(destinataire)}</activiti:expression>
+ </activiti:field>
+ <activiti:field name="from">
+ <activiti:string>alfresco@mairie-bordeaux.fr</activiti:string>
+ </activiti:field>
+ <activiti:field name="subject">
+ <activiti:string>Demande d'avis sur un dossier d'urbanisme</activiti:string>
+ </activiti:field>
+ <activiti:field name="charset">
+ <activiti:string>utf-8</activiti:string>
+ </activiti:field>
+ </extensionElements>
+ </serviceTask>
+ <sequenceFlow id="flow9" sourceRef="scriptClotureVisaUrbanisme" targetRef="mailtaskVisaUrbanisme">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${decision == "visaContinue"}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="flow10" sourceRef="usertaskVisaUrbanisme" targetRef="scriptClotureVisaUrbanisme"></sequenceFlow>
+ <sequenceFlow id="flow16" sourceRef="scriptInitVisaUrbanisme" targetRef="usertaskSelectDestinataire"></sequenceFlow>
+ <sequenceFlow id="flow17" sourceRef="mailtaskVisaUrbanisme" targetRef="usertaskVisaUrbanisme"></sequenceFlow>
+ <sequenceFlow id="flow18" sourceRef="scriptClotureVisaUrbanisme" targetRef="endVisaUrbanisme"></sequenceFlow>
+ <userTask id="usertaskSelectDestinataire" name="Choix destinataire demande avis" activiti:assignee="${destinataire}">
+ <extensionElements>
+ <activiti:formProperty id="numero" name="Numéro dossier" type="string" variable="numeroDossier" writable="false"></activiti:formProperty>
+ <activiti:formProperty id="selectAssignee" name="Transmettre pour avis à" type="visaassignee" variable="destinataire"></activiti:formProperty>
+ </extensionElements>
+ </userTask>
+ <sequenceFlow id="flow19" sourceRef="usertaskSelectDestinataire" targetRef="scriptUpdateMetadata"></sequenceFlow>
+ <scriptTask id="scriptUpdateMetadata" name="Mise à jour métadonnées GED" scriptFormat="javascript" activiti:autoStoreVariables="false">
+ <script>logger.info("scriptUpdateMetadata IN");
+logger.info("Destinataire demande avis urbanisme : " + destinataire);
+serviceCMIS.createSession();
+var doc = serviceCMIS.getDocument(nodeRef);
+var prop = new java.util.HashMap();
+prop.put("mbdx:destinataireCourant", destinataire);
+prop.put("mbdx:dateDemandeDestinataireCourant", new java.util.GregorianCalendar());
+serviceCMIS.updateProperties(doc, prop);
+logger.info("scriptUpdateMetadata OUT");</script>
+ </scriptTask>
+ <sequenceFlow id="flow20" sourceRef="scriptUpdateMetadata" targetRef="mailtaskVisaUrbanisme"></sequenceFlow>
+ </process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_procVisaUrbanisme">
+ <bpmndi:BPMNPlane bpmnElement="procVisaUrbanisme" id="BPMNPlane_procVisaUrbanisme">
+ <bpmndi:BPMNShape bpmnElement="startVisaUrbanisme" id="BPMNShape_startVisaUrbanisme">
+ <omgdc:Bounds height="35.0" width="35.0" x="40.0" y="90.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="endVisaUrbanisme" id="BPMNShape_endVisaUrbanisme">
+ <omgdc:Bounds height="35.0" width="35.0" x="944.0" y="90.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptInitVisaUrbanisme" id="BPMNShape_scriptInitVisaUrbanisme">
+ <omgdc:Bounds height="55.0" width="105.0" x="110.0" y="80.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptClotureVisaUrbanisme" id="BPMNShape_scriptClotureVisaUrbanisme">
+ <omgdc:Bounds height="55.0" width="105.0" x="806.0" y="80.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="usertaskVisaUrbanisme" id="BPMNShape_usertaskVisaUrbanisme">
+ <omgdc:Bounds height="55.0" width="105.0" x="667.0" y="80.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="mailtaskVisaUrbanisme" id="BPMNShape_mailtaskVisaUrbanisme">
+ <omgdc:Bounds height="55.0" width="105.0" x="530.0" y="80.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="usertaskSelectDestinataire" id="BPMNShape_usertaskSelectDestinataire">
+ <omgdc:Bounds height="55.0" width="105.0" x="250.0" y="80.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="scriptUpdateMetadata" id="BPMNShape_scriptUpdateMetadata">
+ <omgdc:Bounds height="55.0" width="105.0" x="390.0" y="80.0"></omgdc:Bounds>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+ <omgdi:waypoint x="75.0" y="107.0"></omgdi:waypoint>
+ <omgdi:waypoint x="110.0" y="107.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
+ <omgdi:waypoint x="858.0" y="80.0"></omgdi:waypoint>
+ <omgdi:waypoint x="858.0" y="42.0"></omgdi:waypoint>
+ <omgdi:waypoint x="582.0" y="42.0"></omgdi:waypoint>
+ <omgdi:waypoint x="582.0" y="80.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
+ <omgdi:waypoint x="772.0" y="107.0"></omgdi:waypoint>
+ <omgdi:waypoint x="806.0" y="107.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
+ <omgdi:waypoint x="215.0" y="107.0"></omgdi:waypoint>
+ <omgdi:waypoint x="250.0" y="107.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
+ <omgdi:waypoint x="635.0" y="107.0"></omgdi:waypoint>
+ <omgdi:waypoint x="667.0" y="107.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
+ <omgdi:waypoint x="911.0" y="107.0"></omgdi:waypoint>
+ <omgdi:waypoint x="944.0" y="107.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
+ <omgdi:waypoint x="355.0" y="107.0"></omgdi:waypoint>
+ <omgdi:waypoint x="390.0" y="107.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
+ <omgdi:waypoint x="495.0" y="107.0"></omgdi:waypoint>
+ <omgdi:waypoint x="530.0" y="107.0"></omgdi:waypoint>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>NoyauExplorer</artifactId>
+ <name>NoyauExplorer WAR project</name>
+ <packaging>war</packaging>
+ <description>Création du nouveau war "activiti-explorer" avec injection des développements spécifiques</description>
+
+ <parent>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>Activiti</artifactId>
+ <version>1.2.1-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <warName>activiti-explorer</warName>
+ <packagingExcludes>WEB-INF/classes/db.properties</packagingExcludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>vaadin-addons</id>
+ <url>http://maven.vaadin.com/vaadin-addons</url>
+ </repository>
+ <repository>
+ <id>Novaforge Bull</id>
+ <name>Repository Novaforge Bull pour VIDOC</name>
+ <url>https://novaforge.bull.com/nexus-default/nexus/content/repositories/mairiedebordeaux_nexusrepo_release</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-webapp-explorer2</artifactId>
+ <version>5.13</version>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-ldap</artifactId>
+ <version>5.13</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-engine</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>fr.bull</groupId>
+ <artifactId>cas-client-core</artifactId>
+ <version>3.3</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.vaadin.addons</groupId>
+ <artifactId>customfield</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+# ====================
+# Param\uFFFDtrage Alfresco
+# ====================
+alfresco.root.url=http://localhost:8080/alfresco
+alfresco.url=${alfresco.root.url}/api
+alfresco.username=Administrator
+alfresco.password=bull
+alfresco.path.pc = /app:company_home/cm:VDB/cm:Permis
+
+# =========================
+# Param\uFFFDtrage Alfresco CMIS
+# =========================
+alfresco.cmis.url = ${alfresco.root.url}/service/cmis
+
+# =====================
+# Param\uFFFDtrage Parapheur
+# =====================
+parapheur.url=https://frmp0181.frml.bull.fr
+parapheur.username=Administrator
+parapheur.password=bull
+parapheur.wsdl = C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/iparapheur.wsdl
+parapheur.config = C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/secureClient.xml
+parapheur.intervalleEnvoi = 30
+parapheur.intervalleInterrogation = 900
+
+# =================
+# Param\uFFFDtrage iXbus
+# =================
+ixbus.wsdl=C:/Documents and Settings/VIAUD-MURAT-F/workspace/iXbusClient/resources/ixbus.wsdl
+ixbus.config=C:/Documents and Settings/VIAUD-MURAT-F/workspace/iXbusClient/resources/client.xml
+ixbus.identifiantSpecifique = 64205873900839
+ixbus.motDePasse = 1234
+ixbus.codeUtilisateur = 0
+ixbus.legalityControl.responseMail = d.perollet@mairie-bordeaux.fr
+ixbus.issuer.siren = 642058739
+ixbus.issuer.department = 034
+ixbus.issuer.departmentSubdivision = 3
+ixbus.issuer.issuerNature = 55
+ixbus.referent.name = DOI
+ixbus.referent.telephone = 0556102030
+ixbus.referent.electronicMail = d.perollet@mairie-bordeaux.fr
+ixbus.transaction.actNature = 2
+ixbus.transaction.content = 1.1
+ixbus.transaction.subject = Permis de construire
+ixbus.transaction.classificationVersionDate = 2004-04-01
+# ====================
+# Param\uFFFDtrage AirsDelib
+# ====================
+delib.sendOriginalToTDT=true
+
+#
+# Param\uFFFDtrage g\uFFFDn\uFFFDration URL Activiti
+#-------------
+activiti.host=localhost
+activiti.port=8080
+activiti.protocol=http
+
+# ================
+# Param\uFFFDtrage Mail
+# ================
+mailServerHost=mercure.bull.fr
+mailServerPort=25
+mailServerDefaultFrom=alfresco@mairie-bordeaux.fr
--- /dev/null
+db=postgresql
+jdbc.driver=org.postgresql.Driver
+jdbc.url=jdbc:postgresql://localhost:5432/alf_mdb_activiti2
+jdbc.username=activiti
+jdbc.password=activiti
\ No newline at end of file
--- /dev/null
+# ======================
+# Paramétrage LDAP - AD
+# ======================
+# Configuration de l'accès au serveur LDAP
+ldap.server.url=ldap://frmp0183.frml.bull.fr
+ldap.server.port=389
+ldap.server.access.user=uid\=Administrator,ou\=personnes,dc\=bordeaux,dc\=fr
+ldap.server.access.credentials=bull
+
+# Configuration des requêtes LDAP
+ldap.query.baseDn=dc\=bordeaux,dc\=fr
+ldap.query.queryUserByUserId=(&(objectClass\=person)(uid\={0}))
+ldap.query.queryUserByFullNameLike=(&(objectClass\=person)(|({0}\=*{1}*)({2}\=*{3}*)))
+ldap.query.queryGroupsForUser=(&(objectClass\=groupOfUniqueNames)(uniqueMember\={0}))
+
+# Configuration de la synchro des attributs LDAP
+ldap.attributes.userId=uid
+ldap.attributes.userFirstName=cn
+ldap.attributes.userLastName=sn
+ldap.attributes.groupId=cn
+ldap.attributes.groupName=cn
+
+# Nom du groupe de l'AD qui contiendra les utilisateurs Admin d'Activiti
+ldap.admin.group.name=admins
\ No newline at end of file
--- /dev/null
+# Set root logger level to DEBUG and its only appender to A1.
+log4j.rootLogger=INFO, CONSOLE
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jee="http://www.springframework.org/schema/jee"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
+ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
+ http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd">
+
+
+ <bean id="vidocProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+ <property name="locations" >
+ <list>
+ <value>classpath:db.properties</value>
+ <value>classpath:ldap.properties</value>
+ </list>
+ </property>
+ <!-- Allow other PropertyPlaceholderConfigurer to run as well -->
+ <property name="ignoreUnresolvablePlaceholders" value="true" />
+ </bean>
+
+ <!-- MODIF pour ANO MultiThreading
+ <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
+ <property name="driverClassName" value="${jdbc.driver}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="defaultAutoCommit" value="false" />
+ </bean> -->
+
+ <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
+ <property name="driverClass" value="${jdbc.driver}" />
+ <property name="jdbcUrl" value="${jdbc.url}" />
+ <property name="user" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="initialPoolSize" value="3" />
+ <property name="minPoolSize" value="5" />
+ <property name="maxPoolSize" value="1000" />
+ </bean>
+
+ <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ <property name="dataSource" ref="dataSource" />
+ </bean>
+
+ <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
+ <property name="dataSource" ref="dataSource" />
+ <property name="transactionManager" ref="transactionManager" />
+ <property name="databaseSchemaUpdate" value="true" />
+ <property name="jobExecutorActivate" value="true" />
+ <property name="customFormTypes">
+ <list>
+ <bean class="org.activiti.explorer.form.UserFormType"/>
+ <bean class="org.activiti.explorer.form.ProcessDefinitionFormType"/>
+ <bean class="org.activiti.explorer.form.MonthFormType"/>
+ <bean class="fr.mbdx.explorer.form.LinkFormType"/>
+ <bean class="fr.mbdx.explorer.form.VisaAssigneeFormType"/>
+ </list>
+ </property>
+
+ <!-- AJOUT BULL : Gestion du LDAP -->
+ <property name="configurators">
+ <list>
+ <bean class="org.activiti.ldap.LDAPConfigurator">
+ <!-- Server connection params -->
+ <property name="server" value="${ldap.server.url}" />
+ <property name="port" value="${ldap.server.port}" />
+ <property name="user" value="${ldap.server.access.user}" />
+ <property name="password" value="${ldap.server.access.credentials}" />
+
+ <!-- Configuration necessaire pour synchro AD -->
+ <property name="customConnectionParameters">
+ <map>
+ <entry key="java.naming.referral" value="follow" />
+ </map>
+ </property>
+
+ <!-- Query params -->
+ <property name="baseDn" value="${ldap.query.baseDn}" />
+ <property name="queryUserByUserId" value="${ldap.query.queryUserByUserId}" />
+ <property name="queryUserByFullNameLike" value="${ldap.query.queryUserByFullNameLike}" />
+ <property name="queryGroupsForUser" value="${ldap.query.queryGroupsForUser}" />
+
+ <!-- Attribute config -->
+ <property name="userIdAttribute" value="${ldap.attributes.userId}" />
+ <property name="userFirstNameAttribute" value="${ldap.attributes.userFirstName}" />
+ <property name="userLastNameAttribute" value="${ldap.attributes.userLastName}" />
+ <property name="groupIdAttribute" value="${ldap.attributes.groupId}" />
+ <property name="groupNameAttribute" value="${ldap.attributes.groupName}" />
+ </bean>
+ </list>
+ </property>
+
+ <!-- Permet de deployer automatiquement les process definis dans les fichiers bar du repertoire WEB-INF/processes Activiti Explorer -->
+ <property name="deploymentResources" value="/WEB-INF/processes/*.bar"/>
+
+ <property name="mailServerHost" value="${mailServerHost}" />
+ <property name="mailServerPort" value="${mailServerPort}" />
+ <property name="mailServerDefaultFrom" value="${mailServerDefaultFrom}" />
+ </bean>
+
+ <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean" destroy-method="destroy">
+ <property name="processEngineConfiguration" ref="processEngineConfiguration" />
+ </bean>
+
+ <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
+ <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
+ <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
+ <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
+ <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
+ <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" />
+
+ <bean id="activitiLoginHandler" class="org.activiti.explorer.ui.login.DefaultLoginHandler">
+ <property name="identityService" ref="identityService" />
+ </bean>
+
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
+ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
+ http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
+ http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
+
+ <!-- This application context will be included in Alfresco as-is -->
+
+ <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" name="activitiUiPropertyPlaceholder">
+ <property name="location" value="classpath:ui.properties" />
+ <!-- Allow other PropertyPlaceholderConfigurer to run as well -->
+ <property name="ignoreUnresolvablePlaceholders" value="true"/>
+ </bean>
+
+ <!-- Global scoped beans -->
+
+ <bean name="navigatorManager" class="org.activiti.explorer.navigation.NavigatorManager" />
+
+ <bean name="attachmentRendererManager" class="org.activiti.explorer.ui.content.AttachmentRendererManager" />
+
+ <!-- Custom form property renderers can be plugged in here -->
+ <bean id="formPropertyRendererManager" class="org.activiti.explorer.ui.form.FormPropertyRendererManager" lazy-init="true">
+ <!-- Default renderer -->
+ <property name="noTypePropertyRenderer">
+ <bean class="org.activiti.explorer.ui.form.StringFormPropertyRenderer" />
+ </property>
+ <!-- Renderers by property type -->
+ <property name="propertyRenderers">
+ <list>
+ <bean class="org.activiti.explorer.ui.form.StringFormPropertyRenderer" />
+ <bean class="org.activiti.explorer.ui.form.EnumFormPropertyRenderer" />
+ <bean class="org.activiti.explorer.ui.form.LongFormPropertyRenderer" />
+ <bean class="org.activiti.explorer.ui.form.DateFormPropertyRenderer" />
+ <bean class="org.activiti.explorer.ui.form.UserFormPropertyRenderer" />
+ <bean class="org.activiti.explorer.ui.form.BooleanFormPropertyRenderer" />
+ <bean class="org.activiti.explorer.ui.form.ProcessDefinitionFormPropertyRenderer" />
+ <bean class="org.activiti.explorer.ui.form.MonthFormPropertyRenderer" />
+ <bean class="fr.mbdx.explorer.ui.form.LinkFormPropertyRenderer" />
+ <bean class="fr.mbdx.explorer.ui.form.VisaAssigneeFormTypeRenderer" />
+ </list>
+ </property>
+ </bean>
+
+ <!-- Variable value rendering -->
+ <bean id="variableRendererManager" class="org.activiti.explorer.ui.variable.VariableRendererManager" />
+
+ <bean name="componentFactories" class="org.activiti.explorer.ComponentFactories">
+ <property name="environment" value="${activiti.ui.environment}" />
+ </bean>
+
+ <bean name="processDefinitionFilterFactory" class="org.activiti.explorer.ui.process.ProcessDefinitionFilterFactory">
+ <property name="componentFactories" ref="componentFactories" />
+ </bean>
+
+ <bean name="deploymentFilterFactory" class="org.activiti.explorer.ui.management.deployment.DeploymentFilterFactory">
+ <property name="componentFactories" ref="componentFactories" />
+ </bean>
+
+ <!-- Session scoped UI beans -->
+
+ <bean name="navigationFragmentChangeListener" class="org.activiti.explorer.navigation.NavigationFragmentChangeListener" scope="session">
+ <property name="navigatorManager" ref="navigatorManager" />
+ </bean>
+
+ <bean name="mainWindow" class="org.activiti.explorer.ui.MainWindow" scope="session">
+ <property name="navigationFragmentChangeListener" ref="navigationFragmentChangeListener" />
+ <property name="i18nManager" ref="i18nManager" />
+ </bean>
+
+ <bean name="explorerApp" class="org.activiti.explorer.ExplorerApp" scope="session">
+ <property name="environment" value="${activiti.ui.environment}" />
+ <property name="useJavascriptDiagram" value="${activiti.ui.jsdiagram}" />
+ <property name="i18nManager" ref="i18nManager" />
+ <property name="viewManager" ref="viewManager" />
+ <property name="notificationManager" ref="notificationManager" />
+ <property name="attachmentRendererManager" ref="attachmentRendererManager" />
+ <property name="formPropertyRendererManager" ref="formPropertyRendererManager" />
+ <property name="variableRendererManager" ref="variableRendererManager" />
+ <property name="applicationMainWindow" ref="mainWindow" />
+ <property name="componentFactories" ref="componentFactories" />
+ <property name="workflowDefinitionConversionFactory" ref="workflowDefinitionConversionFactory" />
+ <property name="loginHandler" ref="activitiLoginHandler" />
+ <property name="adminGroups">
+ <list>
+ <value>${ldap.admin.group.name}</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean name="i18nManager" class="org.activiti.explorer.I18nManager" scope="session">
+ <property name="messageSource" ref="messageSource" />
+ </bean>
+
+ <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" >
+ <property name="basenames">
+ <list>
+ <value>messages</value>
+ </list>
+ </property>
+ <aop:scoped-proxy proxy-target-class="false" /> <!-- Needed for session serialization -->
+ </bean>
+
+ <bean name="notificationManager" class="org.activiti.explorer.NotificationManager" scope="session">
+ <property name="mainWindow" ref="mainWindow" />
+ <property name="i18nManager" ref="i18nManager" />
+ </bean>
+
+ <bean name="viewManager" class="org.activiti.explorer.ViewManagerFactoryBean" scope="session">
+ <property name="mainWindow" ref="mainWindow" />
+ <property name="environment" value="${activiti.ui.environment}" />
+ </bean>
+
+ <bean name="workflowDefinitionConversionFactory" class="org.activiti.workflow.simple.converter.WorkflowDefinitionConversionFactory" />
+
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jee="http://www.springframework.org/schema/jee"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
+ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
+ http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd">
+
+ <import resource="activiti-standalone-context.xml" />
+ <import resource="activiti-ui-context.xml" />
+ <import resource="instruction-context.xml" />
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+http://www.springframework.org/schema/context
+http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+
+ <!-- Charge et fait la correspondance des entrees properties -->
+ <bean id="propertyConfigurer"
+ class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+ <property name="locations">
+ <list>
+ <value>classpath:config.properties</value>
+ </list>
+ </property>
+ </bean>
+
+ <!-- scan du package mbdx pour avoir les classes annotees -->
+ <context:component-scan base-package="fr.mbdx" />
+
+ <bean id="initSignature" class="fr.mbdx.parapheur.TaskInitParapheur">
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="parapheurService" ref="parapheurService" />
+ </bean>
+
+ <bean id="envoiParapheur" class="fr.mbdx.parapheur.TaskEnvoiParapheur">
+ <property name="clientParapheur" ref="clientParapheur" />
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="parapheurService" ref="parapheurService" />
+ <property name="servicePDF" ref="servicePDF" />
+ </bean>
+
+ <bean id="interrogationParapheur" class="fr.mbdx.parapheur.TaskInterrogationParapheur">
+ <property name="clientParapheur" ref="clientParapheur" />
+ <property name="parapheurService" ref="parapheurService" />
+ </bean>
+
+ <bean id="clotureParapheur" class="fr.mbdx.parapheur.TaskClotureParapheur">
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ </bean>
+
+ <bean id="taskVisuelPDF" class="fr.mbdx.parapheur.TaskVisuelPDF">
+ <property name="servicePDF" ref="servicePDF" />
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="parapheurService" ref="parapheurService" />
+ </bean>
+
+ <bean id="clientParapheur" class="fr.mbdx.parapheur.client.impl.ClientCxfImpl">
+ <property name="wsdl" value="${parapheur.wsdl}" />
+ <property name="busConfigPath" value="${parapheur.config}" />
+ </bean>
+
+ <bean id="serviceCMIS" class="fr.mbdx.service.ServiceCMIS">
+ <property name="url" value="${alfresco.cmis.url}" />
+ <property name="user" value="${alfresco.username}" />
+ <property name="password" value="${alfresco.password}" />
+ <property name="intervalleEnvoiParapheur" value="${parapheur.intervalleEnvoi}" />
+ </bean>
+
+ <bean id="servicePDF" class="fr.mbdx.service.ServicePDF">
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ </bean>
+
+ <bean id="serviceDelib" class="fr.mbdx.service.ServiceDelib">
+ <property name="sendOriginalToTDT" value="${delib.sendOriginalToTDT}" />
+ <property name="activitiHost" value="${activiti.host}" />
+ <property name="activitiPort" value="${activiti.port}" />
+ <property name="activitiProtocol" value="${activiti.protocol}" />
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="utils" ref="utils" />
+ </bean>
+
+ <bean id="serviceUrbanisme" class="fr.mbdx.service.ServiceUrbanisme">
+ <property name="processEngine" ref="processEngine" />
+ <property name="utils" ref="utils" />
+ <property name="activitiHost" value="${activiti.host}" />
+ <property name="activitiPort" value="${activiti.port}" />
+ <property name="activitiProtocol" value="${activiti.protocol}" />
+ </bean>
+
+ <bean id="vidocIdentityService" class="fr.mbdx.service.VidocIdentityService">
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ </bean>
+
+ <bean id="serviceRestAlfresco" class="fr.mbdx.service.ServiceRestAlfresco">
+ <property name="rootUri" value="${alfresco.root.url}" />
+ <property name="userDefaut" value="${alfresco.username}" />
+ <property name="passwordDefaut" value="${alfresco.password}" />
+ </bean>
+
+ <bean id="parapheurService"
+ class="fr.mbdx.service.ParapheurService" init-method="init">
+ <property name="rootUri" value="${parapheur.url}" />
+ <property name="userDefaut" value="${parapheur.username}" />
+ <property name="passwordDefaut" value="${parapheur.password}" />
+ <property name="alfrescoUrl" value="${alfresco.root.url}" />
+ <property name="alfrescoUser" value="${alfresco.username}" />
+ <property name="alfrescoPassword" value="${alfresco.password}" />
+ <property name="intervalleInterrogation" value="${parapheur.intervalleInterrogation}" />
+ </bean>
+
+ <bean id="ixbus" class="fr.mbdx.ixbus.client.impl.ClientCxfImpl">
+ <property name="wsdl" value="${ixbus.wsdl}" />
+ <property name="busConfigPath" value="${ixbus.config}" />
+ <property name="identifiantSpecifique" value="${ixbus.identifiantSpecifique}" />
+ <property name="motDePasse" value="${ixbus.motDePasse}" />
+ <property name="codeUtilisateur" value="${ixbus.codeUtilisateur}" />
+ </bean>
+
+ <bean id="legalityControlFactory" class="fr.srci.xmlschema.legalitycontrol.ObjectFactory">
+ </bean>
+
+ <bean id="legalityControlIssuer" class="fr.srci.xmlschema.legalitycontrol.Issuer" factory-bean="legalityControlFactory" factory-method="createIssuer">
+ <property name="SIREN" value="${ixbus.issuer.siren}" />
+ <property name="department" value="${ixbus.issuer.department}" />
+ <property name="departmentSubdivision" value="${ixbus.issuer.departmentSubdivision}" />
+ <property name="issuerNature" value="${ixbus.issuer.issuerNature}" />
+ <property name="referent" ref="legalityControlReferent" />
+ </bean>
+
+ <bean id="legalityControlReferent" class="fr.srci.xmlschema.legalitycontrol.Referent" factory-bean="legalityControlFactory" factory-method="createReferent">
+ <property name="name" value="${ixbus.referent.name}" />
+ <property name="telephone" value="${ixbus.referent.telephone}" />
+ <property name="electronicMail" value="${ixbus.referent.electronicMail}" />
+ </bean>
+
+ <bean id="legalityControlTransaction" class="fr.srci.xmlschema.legalitycontrol.Transaction" factory-bean="legalityControlFactory" factory-method="createTransaction">
+ <property name="actNature" value="${ixbus.transaction.actNature}" />
+ <property name="content" value="${ixbus.transaction.content}" />
+ <property name="subject" value="${ixbus.transaction.subject}" />
+ <property name="classificationVersionDate" value="${ixbus.transaction.classificationVersionDate}" />
+ </bean>
+
+ <bean id="legalityControl" class="fr.srci.xmlschema.legalitycontrol.Transaction" factory-bean="legalityControlFactory" factory-method="createLegalityControl">
+ <property name="issuer" ref="legalityControlIssuer" />
+ <property name="responseMail" value="${ixbus.legalityControl.responseMail}" />
+ <property name="transaction" ref="legalityControlTransaction" />
+ </bean>
+
+ <bean id="logger" class="org.apache.log4j.Logger" factory-method="getLogger">
+ <constructor-arg type="java.lang.String"><value>iXbus</value></constructor-arg>
+ </bean>
+
+ <bean id="utils" class="fr.mbdx.ixbus.client.impl.Utils">
+ <property name="client" ref="ixbus" />
+ <property name="legalityControl" ref="legalityControl" />
+ </bean>
+
+ <!-- Contexte pour Annulation de l'envoi (IDI) iXbus -->
+ <bean id="searchActivitiTdTProcess" class="fr.mbdx.tdt.annulation.TaskSearchTdtActivitiInstance" />
+ <bean id="annulEnvoiTdt" class="fr.mbdx.tdt.annulation.TaskAnnulationEnvoiTdt">
+ <property name="clientTdt" ref="ixbus" />
+ </bean>
+ <bean id="suppressInstanceTdtActiviti" class="fr.mbdx.tdt.annulation.TaskSupprInstanceActiviti" >
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ </bean>
+
+ <!-- Injection du contexte Spring pour l'initialisation du type de champ VisaAssigneeFormType -->
+ <bean id="visaAssigneeFormTypeContextHolder" class="fr.mbdx.explorer.form.VisaAssigneeFormType" />
+
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ id="WebApp_ID" version="2.5">
+ <display-name>Vaadin Web Application</display-name>
+
+ <context-param>
+ <description>Vaadin production mode</description>
+ <param-name>productionMode</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+ <!-- To load the Spring context -->
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+
+ <!-- To allow session-scoped beans in Spring -->
+ <listener>
+ <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
+ </listener>
+
+ <!-- Configuration du SSO CAS -->
+ <filter>
+ <filter-name>Authentication Filter</filter-name>
+ <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>CAS Validation Filter</filter-name>
+ <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>CAS Validation Filter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>Authentication Filter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <!-- Fin de configuration du SSO CAS -->
+
+ <filter>
+ <filter-name>UIFilter</filter-name>
+ <filter-class>org.activiti.explorer.filter.ExplorerFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>UIFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+
+ <servlet>
+ <servlet-name>Vaadin Application Servlet</servlet-name>
+ <servlet-class>org.activiti.explorer.servlet.ExplorerApplicationServlet</servlet-class>
+ <init-param>
+ <param-name>widgetset</param-name>
+ <param-value>org.activiti.explorer.CustomWidgetset</param-value>
+ </init-param>
+ </servlet>
+
+ <!-- Restlet adapter, used to expose modeler functionality through REST -->
+ <servlet>
+ <servlet-name>RestletServlet</servlet-name>
+ <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
+ <init-param>
+ <!-- Application class name -->
+ <param-name>org.restlet.application</param-name>
+ <param-value>org.activiti.explorer.rest.application.ExplorerRestApplication</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Vaadin Application Servlet</servlet-name>
+ <url-pattern>/ui/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>Vaadin Application Servlet</servlet-name>
+ <url-pattern>/VAADIN/*</url-pattern>
+ </servlet-mapping>
+
+ <!-- Catch all service requests -->
+ <servlet-mapping>
+ <servlet-name>RestletServlet</servlet-name>
+ <url-pattern>/service/*</url-pattern>
+ </servlet-mapping>
+
+ <!-- Session timeout on one day -->
+ <session-config>
+ <session-timeout>480</session-timeout>
+ </session-config>
+
+
+</web-app>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>NoyauRest</artifactId>
+ <name>NoyauRest WAR project</name>
+ <description>Création du nouveau war "activiti-rest" avec injection des développements spécifiques</description>
+ <packaging>war</packaging>
+
+ <parent>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>Activiti</artifactId>
+ <version>1.2.1-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <warName>activiti-rest</warName>
+ <packagingExcludes>WEB-INF/classes/db.properties</packagingExcludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>vaadin-addons</id>
+ <url>http://maven.vaadin.com/vaadin-addons</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-webapp-rest2</artifactId>
+ <version>5.13</version>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>fr.bull</groupId>
+ <artifactId>activiti-ldap-cas</artifactId>
+ <version>5.13</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-engine</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>3.1.2.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-engine</artifactId>
+ <version>5.13</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin</artifactId>
+ <version>6.8.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.vaadin.addons</groupId>
+ <artifactId>customfield</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-explorer</artifactId>
+ <version>5.13</version>
+ </dependency>
+ </dependencies>
+
+</project>
--- /dev/null
+# ====================
+# Param\uFFFDtrage Alfresco
+# ====================
+alfresco.root.url=http://localhost:8080/alfresco
+alfresco.url=${alfresco.root.url}/alfresco/api
+alfresco.username=Administrator
+alfresco.password=bull
+alfresco.path.pc = /app:company_home/cm:VDB/cm:Permis
+
+# ================
+# Param\uFFFDtrage CMIS
+# ================
+alfresco.cmis.url = ${alfresco.root.url}/service/cmis
+
+# =====================
+# Param\uFFFDtrage Parapheur
+# =====================
+parapheur.url=https://frmp0181.frml.bull.fr
+parapheur.username=Administrator
+parapheur.password=bull
+parapheur.wsdl = C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/iparapheur.wsdl
+parapheur.config = C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/secureClient.xml
+
+# ================
+# Param\uFFFDtrage iXbus
+# ================
+ixbus.wsdl=C:/Documents and Settings/VIAUD-MURAT-F/workspace/iXbusClient/resources/ixbus.wsdl
+ixbus.config=C:/Documents and Settings/VIAUD-MURAT-F/workspace/iXbusClient/resources/client.xml
+ixbus.identifiantSpecifique = 64205873900839
+ixbus.motDePasse = 1234
+ixbus.codeUtilisateur = 0
+ixbus.legalityControl.responseMail = d.perollet@mairie-bordeaux.fr
+ixbus.issuer.siren = 642058739
+ixbus.issuer.department = 034
+ixbus.issuer.departmentSubdivision = 3
+ixbus.issuer.issuerNature = 55
+ixbus.referent.name = DOI
+ixbus.referent.telephone = 0556102030
+ixbus.referent.electronicMail = d.perollet@mairie-bordeaux.fr
+ixbus.transaction.actNature = 2
+ixbus.transaction.content = 1.1
+ixbus.transaction.subject = Permis de construire
+ixbus.transaction.classificationVersionDate = 2004-04-01
+
+# ================
+# Param\uFFFDtrage CAS
+# ================
+generic.password={clef}bull
+
+# ================
+# Param\uFFFDtrage Mail
+# ================
+mailServerHost=mercure.bull.fr
+mailServerPort=25
+mailServerDefaultFrom=alfresco@mairie-bordeaux.fr
--- /dev/null
+db=postgresql
+jdbc.driver=org.postgresql.Driver
+jdbc.url=jdbc:postgresql://localhost:5432/alf_mdb_activiti2
+jdbc.username=activiti
+jdbc.password=activiti
\ No newline at end of file
--- /dev/null
+# ======================
+# Paramétrage LDAP - AD
+# ======================
+# Configuration de l'accès au serveur LDAP
+ldap.server.url=ldap://frmp0183.frml.bull.fr
+ldap.server.port=389
+ldap.server.access.user=uid\=Administrator,ou\=personnes,dc\=bordeaux,dc\=fr
+ldap.server.access.credentials=bull
+
+# Configuration des requêtes LDAP
+ldap.query.baseDn=dc\=bordeaux,dc\=fr
+ldap.query.queryUserByUserId=(&(objectClass\=person)(uid\={0}))
+ldap.query.queryUserByFullNameLike=(&(objectClass\=person)(|({0}\=*{1}*)({2}\=*{3}*)))
+ldap.query.queryGroupsForUser=(&(objectClass\=groupOfUniqueNames)(uniqueMember\={0}))
+
+# Configuration de la synchro des attributs LDAP
+ldap.attributes.userId=uid
+ldap.attributes.userFirstName=cn
+ldap.attributes.userLastName=sn
+ldap.attributes.groupId=cn
+ldap.attributes.groupName=cn
+
+# Nom du groupe de l'AD qui contiendra les utilisateurs Admin d'Activiti
+ldap.admin.group.name=admins
\ No newline at end of file
--- /dev/null
+log4j.rootLogger=INFO, CA
+
+# ConsoleAppender
+log4j.appender.CA=org.apache.log4j.ConsoleAppender
+log4j.appender.CA.layout=org.apache.log4j.PatternLayout
+log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
\ No newline at end of file
--- /dev/null
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
+
+ <bean id="vidocProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+ <property name="locations" >
+ <list>
+ <value>classpath:db.properties</value>
+ <value>classpath:config.properties</value>
+ <value>classpath:ldap.properties</value>
+ </list>
+ </property>
+ <!-- Allow other PropertyPlaceholderConfigurer to run as well -->
+ <property name="ignoreUnresolvablePlaceholders" value="true" />
+ </bean>
+
+ <!-- MODIF pour ANO MultiThreading
+ <bean id="dataSource"
+ class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
+ <property name="driverClass" value="${jdbc.driver}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ </bean>
+
+ <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
+ <property name="driverClassName" value="${jdbc.driver}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="defaultAutoCommit" value="false" />
+ <property name="maxActive" value="100" />
+ </bean> -->
+
+ <bean id="dataSource"
+ class="com.mchange.v2.c3p0.ComboPooledDataSource">
+ <property name="driverClass" value="${jdbc.driver}" />
+ <property name="jdbcUrl" value="${jdbc.url}" />
+ <property name="user" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="initialPoolSize" value="3" />
+ <property name="minPoolSize" value="5" />
+ <property name="maxPoolSize" value="1000" />
+ </bean>
+
+ <bean id="transactionManager"
+ class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ <property name="dataSource" ref="dataSource" />
+ </bean>
+
+ <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
+ <property name="dataSource" ref="dataSource" />
+ <property name="transactionManager" ref="transactionManager" />
+ <property name="databaseSchemaUpdate" value="true" />
+ <property name="mailServerHost" value="${mailServerHost}" />
+ <property name="mailServerPort" value="${mailServerPort}" />
+ <property name="mailServerDefaultFrom" value="${mailServerDefaultFrom}" />
+ <property name="jobExecutorActivate" value="false" />
+ <property name="customFormTypes">
+ <list>
+ <bean class="fr.mbdx.explorer.form.LinkFormType"/>
+ <bean class="fr.mbdx.explorer.form.VisaAssigneeFormType"/>
+ </list>
+ </property>
+
+ <!-- AJOUT BULL : Gestion du LDAP -->
+ <property name="configurators">
+ <list>
+ <bean class="org.activiti.ldap.LDAPConfigurator">
+ <!-- Server connection params -->
+ <property name="server" value="${ldap.server.url}" />
+ <property name="port" value="${ldap.server.port}" />
+ <property name="user" value="${ldap.server.access.user}" />
+ <property name="password" value="${ldap.server.access.credentials}" />
+
+ <!-- Configuration necessaire pour synchro AD -->
+ <property name="customConnectionParameters">
+ <map>
+ <entry key="java.naming.referral" value="follow" />
+ </map>
+ </property>
+
+ <!-- Query params -->
+ <property name="baseDn" value="${ldap.query.baseDn}" />
+ <property name="queryUserByUserId" value="${ldap.query.queryUserByUserId}" />
+ <property name="queryUserByFullNameLike" value="${ldap.query.queryUserByFullNameLike}" />
+ <property name="queryGroupsForUser" value="${ldap.query.queryGroupsForUser}" />
+
+ <!-- Attribute config -->
+ <property name="userIdAttribute" value="${ldap.attributes.userId}" />
+ <property name="userFirstNameAttribute" value="${ldap.attributes.userFirstName}" />
+ <property name="userLastNameAttribute" value="${ldap.attributes.userLastName}" />
+ <property name="groupIdAttribute" value="${ldap.attributes.groupId}" />
+ <property name="groupNameAttribute" value="${ldap.attributes.groupName}" />
+ </bean>
+ </list>
+ </property>
+ </bean>
+
+ <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
+ <property name="processEngineConfiguration" ref="processEngineConfiguration" />
+ </bean>
+
+ <!-- scan du package mbdx pour avoir les classes annotees -->
+ <context:component-scan base-package="fr.mbdx" />
+
+ <bean id="initSignature" class="fr.mbdx.parapheur.TaskInitParapheur">
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="parapheurService" ref="parapheurService" />
+ </bean>
+
+ <bean id="servicePDF" class="fr.mbdx.service.ServicePDF">
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ </bean>
+
+ <bean id="serviceDelib" class="fr.mbdx.service.ServiceDelib">
+ <property name="sendOriginalToTDT" value="${delib.sendOriginalToTDT}" />
+ <property name="activitiHost" value="${activiti.host}" />
+ <property name="activitiPort" value="${activiti.port}" />
+ <property name="activitiProtocol" value="${activiti.protocol}" />
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="utils" ref="utils" />
+ </bean>
+
+ <bean id="serviceUrbanisme" class="fr.mbdx.service.ServiceUrbanisme">
+ <property name="processEngine" ref="processEngine" />
+ <property name="utils" ref="utils" />
+ <property name="activitiHost" value="${activiti.host}" />
+ <property name="activitiPort" value="${activiti.port}" />
+ <property name="activitiProtocol" value="${activiti.protocol}" />
+ </bean>
+
+ <bean id="vidocIdentityService" class="fr.mbdx.service.VidocIdentityService">
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ </bean>
+
+ <bean id="envoiParapheur" class="fr.mbdx.parapheur.TaskEnvoiParapheur">
+ <property name="clientParapheur" ref="clientParapheur" />
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="parapheurService" ref="parapheurService" />
+ <property name="servicePDF" ref="servicePDF" />
+ </bean>
+
+ <bean id="interrogationParapheur" class="fr.mbdx.parapheur.TaskInterrogationParapheur">
+ <property name="clientParapheur" ref="clientParapheur" />
+ <property name="parapheurService" ref="parapheurService" />
+ </bean>
+
+ <bean id="clotureParapheur" class="fr.mbdx.parapheur.TaskClotureParapheur">
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="serviceRestAlfresco" ref="serviceRestAlfresco" />
+ </bean>
+
+ <bean id="taskVisuelPDF" class="fr.mbdx.parapheur.TaskVisuelPDF">
+ <property name="servicePDF" ref="servicePDF" />
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ <property name="parapheurService" ref="parapheurService" />
+ </bean>
+
+ <bean id="clientParapheur" class="fr.mbdx.parapheur.client.impl.ClientCxfImpl">
+ <property name="wsdl" value="${parapheur.wsdl}" />
+ <property name="busConfigPath" value="${parapheur.config}" />
+ </bean>
+
+ <bean id="serviceCMIS" class="fr.mbdx.service.ServiceCMIS">
+ <property name="url" value="${alfresco.cmis.url}" />
+ <property name="user" value="${alfresco.username}" />
+ <property name="password" value="${alfresco.password}" />
+ <property name="intervalleEnvoiParapheur" value="${parapheur.intervalleEnvoi}" />
+ </bean>
+
+ <bean id="serviceRestAlfresco" class="fr.mbdx.service.ServiceRestAlfresco">
+ <property name="rootUri" value="${alfresco.root.url}" />
+ <property name="userDefaut" value="${alfresco.username}" />
+ <property name="passwordDefaut" value="${alfresco.password}" />
+ </bean>
+
+ <bean id="parapheurService"
+ class="fr.mbdx.service.ParapheurService" init-method="init">
+ <property name="rootUri" value="${parapheur.url}" />
+ <property name="userDefaut" value="${parapheur.username}" />
+ <property name="passwordDefaut" value="${parapheur.password}" />
+ <property name="alfrescoUrl" value="${alfresco.root.url}" />
+ <property name="alfrescoUser" value="${alfresco.username}" />
+ <property name="alfrescoPassword" value="${alfresco.password}" />
+ <property name="intervalleInterrogation" value="${parapheur.intervalleInterrogation}" />
+ </bean>
+
+ <!-- configuration iXBUS -->
+ <bean id="ixbus" class="fr.mbdx.ixbus.client.impl.ClientCxfImpl">
+ <property name="wsdl" value="${ixbus.wsdl}" />
+ <property name="busConfigPath" value="${ixbus.config}" />
+ <property name="identifiantSpecifique" value="${ixbus.identifiantSpecifique}" />
+ <property name="motDePasse" value="${ixbus.motDePasse}" />
+ <property name="codeUtilisateur" value="${ixbus.codeUtilisateur}" />
+ </bean>
+
+ <bean id="legalityControlFactory" class="fr.srci.xmlschema.legalitycontrol.ObjectFactory">
+ </bean>
+
+ <bean id="legalityControlIssuer" class="fr.srci.xmlschema.legalitycontrol.Issuer" factory-bean="legalityControlFactory" factory-method="createIssuer">
+ <property name="SIREN" value="${ixbus.issuer.siren}" />
+ <property name="department" value="${ixbus.issuer.department}" />
+ <property name="departmentSubdivision" value="${ixbus.issuer.departmentSubdivision}" />
+ <property name="issuerNature" value="${ixbus.issuer.issuerNature}" />
+ <property name="referent" ref="legalityControlReferent" />
+ </bean>
+
+ <bean id="legalityControlReferent" class="fr.srci.xmlschema.legalitycontrol.Referent" factory-bean="legalityControlFactory" factory-method="createReferent">
+ <property name="name" value="${ixbus.referent.name}" />
+ <property name="telephone" value="${ixbus.referent.telephone}" />
+ <property name="electronicMail" value="${ixbus.referent.electronicMail}" />
+ </bean>
+
+ <bean id="legalityControlTransaction" class="fr.srci.xmlschema.legalitycontrol.Transaction" factory-bean="legalityControlFactory" factory-method="createTransaction">
+ <property name="actNature" value="${ixbus.transaction.actNature}" />
+ <property name="content" value="${ixbus.transaction.content}" />
+ <property name="subject" value="${ixbus.transaction.subject}" />
+ <property name="classificationVersionDate" value="${ixbus.transaction.classificationVersionDate}" />
+ </bean>
+
+ <bean id="legalityControl" class="fr.srci.xmlschema.legalitycontrol.Transaction" factory-bean="legalityControlFactory" factory-method="createLegalityControl">
+ <property name="issuer" ref="legalityControlIssuer" />
+ <property name="responseMail" value="${ixbus.legalityControl.responseMail}" />
+ <property name="transaction" ref="legalityControlTransaction" />
+ </bean>
+
+ <bean id="utils" class="fr.mbdx.ixbus.client.impl.Utils">
+ <property name="client" ref="ixbus" />
+ <property name="legalityControl" ref="legalityControl" />
+ </bean>
+
+ <bean id="logger" class="org.apache.log4j.Logger" factory-method="getLogger">
+ <constructor-arg type="java.lang.String"><value>iXbus</value></constructor-arg>
+ </bean>
+
+ <!-- Contexte pour Annulation de l'envoi (IDI) iXbus -->
+ <bean id="searchActivitiTdTProcess" class="fr.mbdx.tdt.annulation.TaskSearchTdtActivitiInstance" />
+ <bean id="annulEnvoiTdt" class="fr.mbdx.tdt.annulation.TaskAnnulationEnvoiTdt">
+ <property name="clientTdt" ref="ixbus" />
+ </bean>
+ <bean id="suppressInstanceTdtActiviti" class="fr.mbdx.tdt.annulation.TaskSupprInstanceActiviti" >
+ <property name="serviceCMIS" ref="serviceCMIS" />
+ </bean>
+</beans>
\ No newline at end of file
--- /dev/null
+<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>iParapheurClient</artifactId>
+ <name>iParapheurClient</name>
+ <description>Connecteur Activiti - Parapheur</description>
+
+ <parent>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>Activiti</artifactId>
+ <version>1.2.1-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <plugins>
+ <!-- Plugin permettant de packager le jar final avec :
+ - exclusion des fichiers liés à la signature des dépendances pour les artefacts "org.osgi.*"
+ - "concaténation" des fichiers définis pour le transformer AppendingTransformer
+ - exclusion des artefacts non-nécessaires pour l'exécution du jar (car certains existent déjà dans Activiti et d'autres causent des conflits à l'exécution)
+ -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>2.1</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <filters>
+ <filter>
+ <artifact>org.osgi:*</artifact>
+ <excludes>
+ <exclude>META-INF/*.SF</exclude>
+ <exclude>META-INF/*.DSA</exclude>
+ <exclude>META-INF/*.RSA</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring.handlers</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring.schemas</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/cxf/bus-extensions.txt</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/cxf/cxf.xml</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/cxf/java2wsbeans.xml</resource>
+ </transformer>
+ </transformers>
+ <artifactSet>
+ <excludes>
+ <exclude>aopalliance:aopalliance:*</exclude>
+ <exclude>com.h2database:h2:*</exclude>
+ <exclude>com.mxgraph:jgraphx:*</exclude>
+ <exclude>commons-dbcp:commons-dbcp:*</exclude>
+ <exclude>commons-fileupload:commons-fileupload:*</exclude>
+ <exclude>commons-io:commons-io:*</exclude>
+ <exclude>commons-lang:commons-lang:*</exclude>
+ <exclude>commons-logging:commons-logging:*</exclude>
+ <exclude>commons-pool:commons-pool:*</exclude>
+ <exclude>javax.mail:mail:*</exclude>
+ <exclude>joda-time:joda-time:*</exclude>
+ <exclude>junit:junit:*</exclude>
+ <exclude>log4j:log4j:*</exclude>
+ <exclude>math.geom:javaGeom:*</exclude>
+ <exclude>org.activiti:*</exclude>
+ <exclude>org.apache.commons:commons-email:*</exclude>
+ <exclude>org.apache.geronimo.specs:geronimo-jaxws_2.2_spec:*</exclude>
+ <exclude>org.codehaus.jackson:*</exclude>
+ <exclude>org.hamcrest:hamcrest-core:*</exclude>
+ <exclude>org.mybatis:mybatis:*</exclude>
+ <exclude>org.restlet*:*</exclude>
+ <exclude>org.slf4j:*</exclude>
+ <exclude>org.springframework:*</exclude>
+ </excludes>
+ </artifactSet>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Plugin permettant de supprimer les anciens jar iParapheurClient existants dans les projets "NoyauExplorer" et "NoyauRest" -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <id>create-par</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <!-- Suppression des jar et bar "InstructionPc" existants dans les projets NoyauRest et NoyauExplorer -->
+ <echo message="Deleting ${project.name} jar from NoyauExplorer and NoyauRest ..." />
+ <delete>
+ <fileset dir="../NoyauExplorer/src/main/webapp/WEB-INF/lib" includes="**/${project.name}*.jar" />
+ <fileset dir="../NoyauRest/src/main/webapp/WEB-INF/lib" includes="**/${project.name}*.jar" />
+ </delete>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Plugin permettant de copier le jar généré dans les projets AMP "NoyauExplorer" et "NoyauRest" -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>Copy Jar to "NoyauExplorer" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauExplorer/src/main/webapp/WEB-INF/lib</outputDirectory>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ <execution>
+ <id>Copy Jar to "NoyauRest" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauRest/src/main/webapp/WEB-INF/lib</outputDirectory>
+ <overWriteIfNewer>true</overWriteIfNewer>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>Apache CXF Repository</id>
+ <name>Public Apache Repository</name>
+ <url>https://repository.apache.org/</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-rest</artifactId>
+ <version>5.13</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>3.1.2.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.activiti</groupId>
+ <artifactId>activiti-explorer</artifactId>
+ <version>5.13</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-bundle</artifactId>
+ <version>2.7.6</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_3.0_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client;
+
+public interface Annexe {
+ /**
+ * @return the nom
+ */
+ public String getNom();
+ /**
+ * @param nom the nom to set
+ */
+ public void setNom(String nom);
+ /**
+ * @return the fichier
+ */
+ public Content getFichier();
+ /**
+ * @param fichier the fichier to set
+ */
+ public void setFichier(Content fichier);
+ /**
+ * @return the mimetype
+ */
+ public String getMimetype();
+ /**
+ * @param mimetype the mimetype to set
+ */
+ public void setMimetype(String mimetype);
+ /**
+ * @return the encoding
+ */
+ public String getEncoding();
+ /**
+ * @param encoding the encoding to set
+ */
+ public void setEncoding(String encoding);
+ /**
+ * @return the signature
+ */
+ public Content getSignature();
+ /**
+ * @param signature the signature to set
+ */
+ public void setSignature(Content signature);
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client;
+
+import java.util.List;
+
+/**
+ * Classe encapsulant l'appel aux différentes méthodes du webservice iparapheur
+ */
+public interface Client {
+
+ /**
+ * Initialisation du client iParapheur
+ * @throws ClientException
+ */
+ public void setUp() throws ClientException;
+
+ /**
+ * Web-Service de test de connexion, une sorte de « ping » applicatif.
+ */
+ public String echo(String message);
+
+ /**
+ * Création d'un dossier
+ * @param dossier
+ * @return OK / KO
+ * @throws ClientException
+ */
+ public boolean creerDossier(Dossier dossier) throws ClientException;
+
+ /**
+ * Récupération du dossier en fin de circuit
+ * @param dossierID
+ * @return OK + document principal (+ signatures, pièces annexes, propriétés
+ * générales et méta-données, ...), KO +message d'erreur sinon
+ */
+ public Dossier getDossier(String dossierID);
+
+ /**
+ * Interrogation de l'histogramme d'un dossier
+ * @param dossierID
+ * @return histogramme horodaté états successifs (états possibles: à contrôler,
+ * contrôlé, signé, rejeté....), avec annotations et état TdT si nécessaire.
+ */
+ public List<LogDossier> getHistoDossier(String dossierID);
+
+ /**
+ * Archivage d'un dossier
+ * @param dossierID
+ * @return OK / KO
+ */
+ public boolean archiverDossier(String dossierID);
+
+ /**
+ * Effacement d'un dossier
+ * @param dossierID
+ * @return OK / KO
+ */
+ public boolean effacerDossier(String dossierID);
+
+ /**
+ * Effacement de dossiers rejetés
+ * @param dossierID
+ * @return OK / KO
+ */
+ public boolean effacerDossierRejete(String dossierID);
+
+ /**
+ * Recherche de dossiers pour visualisation
+ * @param type
+ * @param sousType
+ * @param statut
+ * @return liste [ ID / état courant / annotation courante / date de dernière
+ * modification d'état / accessibilité(OK,KO,Recuperable)].
+ */
+ public List<LogDossier> rechercherDossiers(String type, String sousType, Statut statut);
+
+ /**
+ * Recherche de dossiers pour visualisation
+ * @param listDossierID
+ * @return liste [ ID / état courant / annotation courante / date de dernière
+ * modification d'état / accessibilité(OK,KO,Recuperable)].
+ */
+ public List<LogDossier> rechercherListeDossiers(List<String> listDossierID);
+
+ /**
+ * Interrogation des types techniques disponibles
+ * @return liste des types techniques déclarés dans i-Parapheur exploitables par
+ * l'appelant
+ */
+ public List<String> getListeTypes();
+
+ /**
+ * Interrogation des sous-types disponibles
+ * @param type
+ * @return liste des sous-types correspondants déclarés dans i-Parapheur exploitables
+ * par l'application appelante.
+ */
+ public List<String> getListeSousTypes(String type);
+
+ /**
+ * Exercice du droit de remord
+ * Ne peut se faire que si le dossier n'a pas été lu dans la bannette « à traiter » du destinataire.
+ * Ce droit se fait à l'unité, et seulement à la 1ere étape. les droits de remord des étapes
+ * suivantes ne sont pas traités par WS ni par le métier; ils sont traités par les utilisateurs du
+ * parapheur et à la main.
+ * Ce service a pour effet de « retirer » le dossier des dossiers à traiter de la personne concernée.
+ * @param dossierID
+ * @return
+ */
+ public boolean exercerDroitRemordDossier(String dossierID);
+
+ /**
+ * @return the messageRetour
+ */
+ public String getMessageRetour();
+
+ /**
+ * @param messageRetour the messageRetour to set
+ */
+ public void setMessageRetour(String messageRetour);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client;
+
+/**
+ * Exception spécifique au client webservice iparapheur
+ */
+public class ClientException extends Exception {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ /**
+ * Crée une nouvelle instance de ClientException
+ */
+ public ClientException() {}
+ /**
+ * Crée une nouvelle instance de ClientException
+ * @param message Le message détaillant exception
+ */
+ public ClientException(String message) {
+ super(message);
+ }
+ /**
+ * Crée une nouvelle instance de ClientException
+ * @param cause L'exception à l'origine de cette exception
+ */
+ public ClientException(Throwable cause) {
+ super(cause);
+ }
+ /**
+ * Crée une nouvelle instance de ClientException
+ * @param message Le message détaillant exception
+ * @param cause L'exception à l'origine de cette exception
+ */
+ public ClientException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client;
+
+/**
+ * L'interface Content permet d'accéder aux contenus binaires reçus/envoyés par
+ * le webservice iparapheur (documents à signer, signature, etc.)
+ */
+public interface Content {
+
+ public void load() throws ClientException;
+
+ /**
+ * @return the value
+ */
+ public byte[] getValue();
+
+ /**
+ * @param value the value to set
+ */
+ public void setValue(byte[] value);
+
+ /**
+ * @return the type
+ */
+ public String getType();
+
+ /**
+ * @param type the type to set
+ */
+ public void setType(String type);
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client;
+
+import java.util.List;
+
+/**
+ * L'interface Dossier encapsule les propriétés communes aux dossiers iparapheur
+ */
+public interface Dossier {
+ /**
+ * @return the typeTechnique
+ */
+ public String getTypeTechnique();
+ /**
+ * @param typeTechnique the typeTechnique to set
+ */
+ public void setTypeTechnique(String typeTechnique);
+ /**
+ * @return the sousType
+ */
+ public String getSousType();
+ /**
+ * @param sousType the sousType to set
+ */
+ public void setSousType(String sousType);
+ /**
+ * @return the emailEmetteur
+ */
+ public String getEmailEmetteur();
+ /**
+ * @param emailEmetteur the emailEmetteur to set
+ */
+ public void setEmailEmetteur(String emailEmetteur);
+ /**
+ * @return the dossierID
+ */
+ public String getDossierID();
+ /**
+ * @param dossierID the dossierID to set
+ */
+ public void setDossierID(String dossierID);
+ /**
+ * @return the dossierTitre
+ */
+ public String getDossierTitre();
+ /**
+ * @param dossierTitre the dossierTitre to set
+ */
+ public void setDossierTitre(String dossierTitre);
+ /**
+ * @return the nomDocPrincipal
+ */
+ public String getNomDocPrincipal();
+ /**
+ * @param nomDocPrincipal the nomDocPrincipal to set
+ */
+ public void setNomDocPrincipal(String nomDocPrincipal);
+ /**
+ * @return the annotationPublique
+ */
+ public String getAnnotationPublique();
+ /**
+ * @param annotationPublique the annotationPublique to set
+ */
+ public void setAnnotationPublique(String annotationPublique);
+ /**
+ * @return the annotationPrivee
+ */
+ public String getAnnotationPrivee();
+ /**
+ * @param annotationPrivee the annotationPrivee to set
+ */
+ public void setAnnotationPrivee(String annotationPrivee);
+ /**
+ * @return the visibilite
+ */
+ public String getVisibilite();
+ /**
+ * @param visibilite the visibilite to set
+ */
+ public void setVisibilite(String visibilite);
+ /**
+ * @return the dateLimite
+ */
+ public String getDateLimite();
+ /**
+ * @param dateLimite the dateLimite to set
+ */
+ public void setDateLimite(String dateLimite);
+ /**
+ * @return the documentPrincipalContent
+ */
+ public Content getDocumentPrincipalContent();
+ /**
+ * @param documentPrincipalContent the documentPrincipalContent to set
+ */
+ public void setDocumentPrincipalContent(Content documentPrincipalContent);
+ /**
+ * @return the signatureDocPrincipal
+ */
+ public Content getSignatureDocPrincipalContent();
+ /**
+ * @param signatureDocPrincipalContent the signatureDocPrincipalContent to set
+ */
+ public void setSignatureDocPrincipalContent(Content signatureDocPrincipalContent);
+ /**
+ * @return the visuelPDFContent
+ */
+ public Content getVisuelPDFContent();
+ /**
+ * @param visuelPDFContent the visuelPDFContent to set
+ */
+ public void setVisuelPDFContent(Content visuelPDFContent);
+
+ /**
+ * @return the fichierPESContent
+ */
+ public Content getFichierPESContent();
+
+ /**
+ * @param fichierPESContent the fichierPESContent to set
+ */
+ public void setFichierPESContent(Content fichierPESContent);
+
+ /**
+ * @return the xPathPourSignatureXML
+ */
+ public String getxPathPourSignatureXML();
+
+ /**
+ * @param xPathPourSignatureXML the xPathPourSignatureXML to set
+ */
+ public void setxPathPourSignatureXML(String xPathPourSignatureXML);
+
+ /**
+ * @return the annexes
+ */
+ public List<Annexe> getAnnexes();
+
+ /**
+ * @param annexes the annexes to set
+ */
+ public void setAnnexes(List<Annexe> annexes);
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+/**
+ * LogDossier permet de tracer l'état d'un dossier iparapheur à une date donnée
+ */
+public interface LogDossier {
+
+ /**
+ * Obtient la valeur de la propriete timestamp.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getTimestamp();
+
+ /**
+ * Definit la valeur de la propriete timestamp.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setTimestamp(XMLGregorianCalendar value);
+
+ /**
+ * Obtient la valeur de la propriete nom.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNom();
+
+ /**
+ * Definit la valeur de la propriete nom.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNom(String value);
+
+ /**
+ * Obtient la valeur de la propriete statut.
+ *
+ * @return
+ * possible object is
+ * {@link Statut }
+ *
+ */
+ public Statut getStatut();
+
+ /**
+ * Definit la valeur de la propriete statut.
+ *
+ * @param value
+ * allowed object is
+ * {@link Statut }
+ *
+ */
+ public void setStatut(Statut value);
+
+ /**
+ * Obtient la valeur de la propriete annotation.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotation();
+
+ /**
+ * Definit la valeur de la propriete annotation.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotation(String value);
+
+ /**
+ * Obtient la valeur de la propriete accessible.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAccessible();
+
+ /**
+ * Definit la valeur de la propriete accessible.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAccessible(String value);
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client;
+
+/**
+ * Enumération des différents états possibles pour un dossier iparapheur
+ */
+public enum Statut {
+
+ NonLu,
+ Lu,
+ Signe,
+ RejetSignataire,
+ EnCoursVisa,
+ Vise,
+ RejetVisa,
+ PretTdT,
+ EnCoursTransmission,
+ TransmissionOK,
+ TransmissionKO,
+ RejetTransmission,
+ Archive,
+ ATraiter;
+
+ public static String[] ENUM_TITLE = { "Non lu", "Lu", "Signé", "Rejet signataire", "En cours visa", "Visé", "Rejet visa", "Prêt TdT", "En cours transmission", "Transmission OK", "Transmission KO", "Rejet transmission", "Archivé", "A traiter" };
+
+ public String value() {
+ return name();
+ }
+
+ public String title() {
+ return ENUM_TITLE[ordinal()];
+ }
+
+ public static Statut fromValue(String v) {
+ return valueOf(v);
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client.impl;
+
+import fr.mbdx.parapheur.client.Annexe;
+import fr.mbdx.parapheur.client.Content;
+import fr.mbdx.parapheur.client.impl.cxf.DocAnnexe;
+
+public class AnnexeCfxImpl implements Annexe {
+ private String nom;
+ private Content fichier;
+ private String mimetype;
+ private String encoding;
+ private Content signature;
+
+ public AnnexeCfxImpl() {
+ }
+
+ public AnnexeCfxImpl(DocAnnexe doc) {
+ nom = doc.getNom();
+ if (doc.getFichier() != null) {
+ fichier = new ContentCfxImpl(doc.getFichier());
+ }
+ mimetype = doc.getMimetype();
+ encoding = doc.getEncoding();
+ if (doc.getSignature() != null) {
+ signature = new ContentCfxImpl(doc.getSignature());
+ }
+ }
+
+ /**
+ * @return the nom
+ */
+ public String getNom() {
+ return nom;
+ }
+ /**
+ * @param nom the nom to set
+ */
+ public void setNom(String nom) {
+ this.nom = nom;
+ }
+ /**
+ * @return the fichier
+ */
+ public Content getFichier() {
+ return fichier;
+ }
+ /**
+ * @param fichier the fichier to set
+ */
+ public void setFichier(Content fichier) {
+ this.fichier = fichier;
+ }
+ /**
+ * @return the mimetype
+ */
+ public String getMimetype() {
+ return mimetype;
+ }
+ /**
+ * @param mimetype the mimetype to set
+ */
+ public void setMimetype(String mimetype) {
+ this.mimetype = mimetype;
+ }
+ /**
+ * @return the encoding
+ */
+ public String getEncoding() {
+ return encoding;
+ }
+ /**
+ * @param encoding the encoding to set
+ */
+ public void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+ /**
+ * @return the signature
+ */
+ public Content getSignature() {
+ return signature;
+ }
+ /**
+ * @param signature the signature to set
+ */
+ public void setSignature(Content signature) {
+ this.signature = signature;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client.impl;
+
+import java.math.BigInteger;
+import java.net.URL;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.parapheur.client.Client;
+import fr.mbdx.parapheur.client.ClientException;
+import fr.mbdx.parapheur.client.Dossier;
+import fr.mbdx.parapheur.client.LogDossier;
+import fr.mbdx.parapheur.client.Statut;
+import fr.mbdx.parapheur.client.impl.cxf.ArchivageAction;
+import fr.mbdx.parapheur.client.impl.cxf.ArchiverDossierRequest;
+import fr.mbdx.parapheur.client.impl.cxf.ArchiverDossierResponse;
+import fr.mbdx.parapheur.client.impl.cxf.CreerDossierRequest;
+import fr.mbdx.parapheur.client.impl.cxf.CreerDossierResponse;
+import fr.mbdx.parapheur.client.impl.cxf.EffacerDossierRejeteResponse;
+import fr.mbdx.parapheur.client.impl.cxf.ExercerDroitRemordDossierResponse;
+import fr.mbdx.parapheur.client.impl.cxf.GetDossierResponse;
+import fr.mbdx.parapheur.client.impl.cxf.GetHistoDossierResponse;
+import fr.mbdx.parapheur.client.impl.cxf.GetListeSousTypesResponse;
+import fr.mbdx.parapheur.client.impl.cxf.GetListeTypesResponse;
+import fr.mbdx.parapheur.client.impl.cxf.InterfaceParapheur;
+import fr.mbdx.parapheur.client.impl.cxf.InterfaceParapheurService;
+import fr.mbdx.parapheur.client.impl.cxf.MessageRetour;
+import fr.mbdx.parapheur.client.impl.cxf.RechercherDossiersRequest;
+import fr.mbdx.parapheur.client.impl.cxf.RechercherDossiersResponse;
+
+/**
+ * Classe encapsulant l'appel aux différentes méthodes du webservice parapheur
+ */
+public class ClientCxfImpl implements Client {
+ private static final QName SERVICE_NAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "InterfaceParapheurService");
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private String wsdl = null;
+ private boolean setup = false;
+
+ private SpringBusFactory busFactory = null;
+ private String busConfigPath = null;
+
+ private InterfaceParapheurService ss = null;
+ private InterfaceParapheur port = null;
+
+ private String messageRetour;
+
+ public ClientCxfImpl() {
+ }
+
+ public ClientCxfImpl(String wsdl, String busConfigPath) throws ClientException {
+ this.wsdl = wsdl;
+ this.busConfigPath = busConfigPath;
+ }
+
+ @Override
+ public String echo(String message) {
+ return port.echo(message);
+ }
+
+ @Override
+ public boolean creerDossier(Dossier dossier) throws ClientException {
+ CreerDossierRequest req = Utils.getCreerDossierRequest(dossier);
+ CreerDossierResponse res = port.creerDossier(req);
+ boolean success = isOK(res.getMessageRetour());
+ if (success) {
+ String dossierID = res.getDossierID();
+ if (dossierID != null && !dossierID.isEmpty()) {
+ dossier.setDossierID(res.getDossierID());
+ }
+ }
+ return success;
+ }
+
+ @Override
+ public Dossier getDossier(String dossierID) {
+ GetDossierResponse res = port.getDossier(dossierID);
+ Dossier dossier = null;
+ if (isOK(res.getMessageRetour())) {
+ dossier = new DossierCxfImpl(res);
+ }
+ return dossier;
+ }
+
+ @Override
+ public List<LogDossier> getHistoDossier(String dossierID) {
+ GetHistoDossierResponse res = port.getHistoDossier(dossierID);
+ List<LogDossier> histoDossier = null;
+ if (isOK(res.getMessageRetour())) {
+ histoDossier = Utils.getHistoDossier(res.getLogDossier());
+ }
+ return histoDossier;
+ }
+
+ @Override
+ public boolean archiverDossier(String dossierID) {
+ ArchiverDossierRequest req = new ArchiverDossierRequest();
+ req.setDossierID(dossierID);
+ req.setArchivageAction(ArchivageAction.ARCHIVER);
+ ArchiverDossierResponse res = port.archiverDossier(req);
+ return isOK(res.getMessageRetour());
+ }
+
+ @Override
+ public boolean effacerDossier(String dossierID) {
+ ArchiverDossierRequest req = new ArchiverDossierRequest();
+ req.setDossierID(dossierID);
+ req.setArchivageAction(ArchivageAction.EFFACER);
+ ArchiverDossierResponse res = port.archiverDossier(req);
+ return isOK(res.getMessageRetour());
+ }
+
+ @Override
+ public boolean effacerDossierRejete(String dossierID) {
+ EffacerDossierRejeteResponse res = port.effacerDossierRejete(dossierID);
+ return isOK(res.getMessageRetour());
+ }
+
+ @Override
+ public List<LogDossier> rechercherDossiers(String type, String sousType, Statut statut) {
+ RechercherDossiersRequest req = new RechercherDossiersRequest();
+ req.setTypeTechnique(type);
+ req.setSousType(sousType);
+ req.setStatus(statut.value());
+ RechercherDossiersResponse res = port.rechercherDossiers(req);
+ List<LogDossier> histoDossier = Utils.getHistoDossier(res.getLogDossier());
+ return histoDossier;
+ }
+
+ @Override
+ public List<LogDossier> rechercherListeDossiers(List<String> listDossierID) {
+ RechercherDossiersRequest req = new RechercherDossiersRequest();
+ req.setNombreDossiers(BigInteger.valueOf(listDossierID.size()));
+ req.getDossierID().addAll(listDossierID);
+ RechercherDossiersResponse res = port.rechercherDossiers(req);
+ List<LogDossier> histoDossier = Utils.getHistoDossier(res.getLogDossier());
+ return histoDossier;
+ }
+
+ @Override
+ public List<String> getListeTypes() {
+ GetListeTypesResponse res = port.getListeTypes("");
+ List<String> listTypeTechnique = res.getTypeTechnique();
+ return listTypeTechnique;
+ }
+
+ @Override
+ public List<String> getListeSousTypes(String type) {
+ GetListeSousTypesResponse res = port.getListeSousTypes(type);
+ List<String> listSousType = res.getSousType();
+ return listSousType;
+ }
+
+ @Override
+ public boolean exercerDroitRemordDossier(String dossierID) {
+ boolean result = false;
+ ExercerDroitRemordDossierResponse res = port.exercerDroitRemordDossier(dossierID);
+ result = isOK(res.getMessageRetour());
+ return result;
+ }
+
+ @Override
+ public void setUp() throws ClientException {
+ if (!setup) {
+ if (busFactory == null) {
+ busFactory = new SpringBusFactory();
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("Chargement du fichier de configuration du bus CXF.");
+ }
+
+ log.debug("Chargement du secure Client iparapheur");
+ URL busURL = Utils.getURL(busConfigPath);
+ // URL busURL = ClientCxfImpl.class.getResource("secureClient.xml");
+ Bus bus = busFactory.createBus(busURL.toString());
+ BusFactory.setDefaultBus(bus);
+ log.debug("Chargement du secure Client iparapheur -> Fin()");
+
+ if (log.isDebugEnabled()) {
+ log.debug("Chargement du fichier WSDL.");
+ }
+
+ log.debug("Lecture du fichier wsdl iparapheur");
+ URL wsdlURL = Utils.getURL(wsdl);
+ log.debug("Lecture du fichier wsdl iparapheur -> Fin()");
+ ss = new InterfaceParapheurService(wsdlURL, SERVICE_NAME);
+ port = ss.getInterfaceParapheurSoap11();
+ log.debug("Récupération du port CXF ");
+ setup = true;
+ }
+ }
+
+ boolean isOK(MessageRetour msg) {
+ messageRetour = msg.getMessage();
+ boolean ok = msg.getCodeRetour().equals("OK");
+ if (!ok) {
+ log.error("Erreur:");
+ log.error("-> codeRetour: " + msg.getCodeRetour());
+ log.error("-> severite: " + msg.getSeverite());
+ log.error("-> message: " + msg.getMessage());
+ }
+ return ok;
+ }
+
+ /**
+ * @return the wsdl
+ */
+ public String getWsdl() {
+ return wsdl;
+ }
+
+ /**
+ * @param wsdl
+ * the wsdl to set
+ */
+ public void setWsdl(String wsdl) {
+ this.wsdl = wsdl;
+ }
+
+ /**
+ * @return the busFactory
+ */
+ public SpringBusFactory getBusFactory() {
+ return busFactory;
+ }
+
+ /**
+ * @param busFactory
+ * the busFactory to set
+ */
+ public void setBusFactory(SpringBusFactory busFactory) {
+ this.busFactory = busFactory;
+ }
+
+ /**
+ * @return the busConfigFile
+ */
+ public String getBusConfigPath() {
+ return busConfigPath;
+ }
+
+ /**
+ * @param busConfigFile
+ * the busConfigFile to set
+ */
+ public void setBusConfigPath(String busConfigPath) {
+ this.busConfigPath = busConfigPath;
+ }
+
+ /**
+ * @return the messageRetour
+ */
+ @Override
+ public String getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * @param messageRetour
+ * the messageRetour to set
+ */
+ @Override
+ public void setMessageRetour(String messageRetour) {
+ this.messageRetour = messageRetour;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client.impl;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.log4j.Logger;
+
+import fr.mbdx.parapheur.client.ClientException;
+import fr.mbdx.parapheur.client.Content;
+import fr.mbdx.parapheur.client.impl.cxf.TypeDoc;
+
+public class ContentCfxImpl implements Content {
+ protected Logger log = Logger.getLogger(getClass());
+
+ private InputStream inputStream = null;
+ private String pathname = null;
+ private String type = null;
+ private byte[] value = null;
+
+ public ContentCfxImpl() {
+ }
+
+ public ContentCfxImpl(TypeDoc doc) {
+ value = doc.getValue();
+ type = doc.getContentType();
+ }
+
+ public void load() throws ClientException {
+ if (value == null) {
+ if (inputStream == null && pathname == null) {
+ throw new ClientException("Erreur lecture contenu document.");
+ }
+ try {
+ if (pathname != null) {
+ read(pathname);
+ } else if (inputStream != null) {
+ read(inputStream);
+ }
+ } catch (Exception e) {
+ log.error("Erreur lecture contenu document.", e);
+ throw new ClientException("Erreur lecture contenu document.", e);
+ }
+ }
+ }
+
+ /**
+ * @param inputStream the inputStream to read
+ */
+ public void read(InputStream inputStream) throws IOException {
+ value = IOUtils.toByteArray(inputStream);
+ this.inputStream = inputStream;
+ }
+
+ /**
+ * @param pathname the pathname to read
+ */
+ public void read(String pathname) throws FileNotFoundException, IOException {
+ File file = new File(pathname);
+ try {
+ inputStream = new FileInputStream(file);
+ read(inputStream);
+ this.pathname = pathname;
+ } catch (FileNotFoundException e) {
+ log.error(e);
+ throw e;
+ } catch (IOException e) {
+ log.error(e);
+ throw e;
+ } finally {
+ try {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ } catch (IOException e) {
+ log.error(e);
+ }
+ }
+ }
+
+ /**
+ * @return the value
+ */
+ public byte[] getValue() {
+ return value;
+ }
+
+ /**
+ * @param value the value to set
+ */
+ public void setValue(byte[] value) {
+ this.value = value;
+ }
+
+ /**
+ * @return the type
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * @param type the type to set
+ */
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * @return the pathname
+ */
+ public String getPathname() {
+ return pathname;
+ }
+
+ /**
+ * @param pathname the pathname to set
+ */
+ public void setPathname(String pathname) {
+ this.pathname = pathname;
+ }
+
+ /**
+ * @return the inputStream
+ */
+ public InputStream getInputStream() {
+ return inputStream;
+ }
+
+ /**
+ * @param inputStream the inputStream to set
+ */
+ public void setInputStream(InputStream inputStream) {
+ this.inputStream = inputStream;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
+import fr.mbdx.parapheur.client.Annexe;
+import fr.mbdx.parapheur.client.Dossier;
+import fr.mbdx.parapheur.client.Content;
+import fr.mbdx.parapheur.client.impl.cxf.DocAnnexe;
+import fr.mbdx.parapheur.client.impl.cxf.GetDossierResponse;
+import fr.mbdx.parapheur.client.impl.cxf.TypeDoc;
+import fr.mbdx.parapheur.client.impl.cxf.TypeDocAnnexes;
+import fr.mbdx.parapheur.client.impl.cxf.Visibilite;
+
+public class DossierCxfImpl implements Dossier {
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private String emailEmetteur;
+ private Visibilite visibilite;
+ private String typeTechnique;
+ private String sousType;
+ private String dossierID;
+ private String nomDocPrincipal;
+ private String annotationPublique;
+ private String annotationPrivee;
+ private String dateLimite;
+ private String dossierTitre;
+ private String xPathPourSignatureXML;
+
+ private Content documentPrincipalContent = null;
+ private Content signatureDocPrincipalContent = null;
+ private Content visuelPDFContent = null;
+ private Content fichierPESContent = null;
+
+ private List<Annexe> annexes = null;
+
+ public DossierCxfImpl() {
+
+ }
+
+ /*
+ * Adaptateur à la requête CXF CreerDossierRequest.
+ *
+ * On reporte les champs suivants:
+ * typeTechnique
+ * sousType
+ * the emailEmetteur
+ * dossierID
+ * nomDocPrincipal
+ * annotationPublique
+ * annotationPrivee
+ * visibilite
+ * dateLimite
+ * documentPrincipalContent
+ * signatureDocPrincipal
+ * visuelPDFContent
+ * fichierPES
+ * xPathPourSignatureXML
+ *
+ * @param res
+ */
+ public DossierCxfImpl(GetDossierResponse res) {
+ annotationPrivee = res.getAnnotationPrivee();
+ annotationPublique = res.getAnnotationPublique();
+ dateLimite = res.getDateLimite();
+ dossierID = res.getDossierID();
+ emailEmetteur = res.getEmailEmetteur();
+ nomDocPrincipal = res.getNomDocPrincipal();
+ sousType = res.getSousType();
+ typeTechnique = res.getTypeTechnique();
+ visibilite = res.getVisibilite();
+ xPathPourSignatureXML = res.getXPathPourSignaturePES();
+
+ TypeDoc doc = res.getDocPrincipal();
+ if (doc != null) {
+ documentPrincipalContent = new ContentCfxImpl(doc);
+ }
+
+ doc = res.getSignatureDocPrincipal();
+ if (doc != null) {
+ signatureDocPrincipalContent = new ContentCfxImpl(doc);
+ }
+
+ doc = res.getVisuelPDF();
+ if (doc != null) {
+ visuelPDFContent = new ContentCfxImpl(doc);
+ }
+
+ doc = res.getFichierPES();
+ if (doc != null) {
+ fichierPESContent = new ContentCfxImpl(doc);
+ }
+
+ TypeDocAnnexes annexesCfx = res.getDocumentsAnnexes();
+ if (annexesCfx != null && annexesCfx.getDocAnnexe() != null && !annexesCfx.getDocAnnexe().isEmpty()) {
+ annexes = new ArrayList<Annexe>();
+ List<DocAnnexe> lstDocAnnexe = annexesCfx.getDocAnnexe();
+ for (DocAnnexe docAnnexe: lstDocAnnexe) {
+ Annexe anx = new AnnexeCfxImpl(docAnnexe);
+ annexes.add(anx);
+ }
+ }
+ }
+
+ public String getVisibilite() {
+ return visibilite.value();
+ }
+
+ public void setVisibilite(String visibilite) {
+ this.visibilite = Visibilite.fromValue(visibilite);
+ }
+
+ public Content getDocumentPrincipalContent() {
+ return documentPrincipalContent;
+ }
+
+ public void setDocumentPrincipalContent(
+ Content documentPrincipalContent) {
+ this.documentPrincipalContent = documentPrincipalContent;
+ }
+
+ public Content getSignatureDocPrincipalContent() {
+ return signatureDocPrincipalContent;
+ }
+
+ public void setSignatureDocPrincipalContent(
+ Content signatureDocPrincipalContent) {
+ this.signatureDocPrincipalContent = signatureDocPrincipalContent;
+ }
+
+ public Content getVisuelPDFContent() {
+ return visuelPDFContent;
+ }
+
+ public void setVisuelPDFContent(Content visuelPDFContent) {
+ this.visuelPDFContent = visuelPDFContent;
+ }
+
+ /**
+ * @return the fichierPES
+ */
+ public Content getFichierPESContent() {
+ return fichierPESContent;
+ }
+
+ /**
+ * @param fichierPES the fichierPES to set
+ */
+ public void setFichierPESContent(Content fichierPESContent) {
+ this.fichierPESContent = fichierPESContent;
+ }
+
+ /**
+ * Obtient la valeur de la proprietetypeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * Definit la valeur de la proprietetypeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la proprietesousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * Definit la valeur de la proprietesousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+ /**
+ * Obtient la valeur de la proprieteemailEmetteur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEmailEmetteur() {
+ return emailEmetteur;
+ }
+
+ /**
+ * Definit la valeur de la proprieteemailEmetteur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEmailEmetteur(String value) {
+ this.emailEmetteur = value;
+ }
+
+ /**
+ * Obtient la valeur de la proprietedossierID.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierID() {
+ return dossierID;
+ }
+
+ /**
+ * Definit la valeur de la proprietedossierID.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierID(String value) {
+ this.dossierID = value;
+ }
+
+ /**
+ * Obtient la valeur de la proprietexPathPourSignatureXML.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getxPathPourSignatureXML() {
+ return xPathPourSignatureXML;
+ }
+
+ /**
+ * Definit la valeur de la proprietexPathPourSignatureXML.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setxPathPourSignatureXML(String value) {
+ this.xPathPourSignatureXML = value;
+ }
+
+ /**
+ * Obtient la valeur de la proprieteannotationPublique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPublique() {
+ return annotationPublique;
+ }
+
+ /**
+ * Definit la valeur de la proprieteannotationPublique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPublique(String value) {
+ this.annotationPublique = value;
+ }
+
+ /**
+ * Obtient la valeur de la proprieteannotationPrivee.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPrivee() {
+ return annotationPrivee;
+ }
+
+ /**
+ * Definit la valeur de la proprieteannotationPrivee.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPrivee(String value) {
+ this.annotationPrivee = value;
+ }
+
+ /**
+ * Obtient la valeur de la proprietedateLimite.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDateLimite() {
+ return dateLimite;
+ }
+
+ /**
+ * Definit la valeur de la proprietedateLimite.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDateLimite(String value) {
+ this.dateLimite = value;
+ }
+
+ public String getDossierTitre() {
+ return dossierTitre;
+ }
+
+ public void setDossierTitre(String dossierTitre) {
+ this.dossierTitre = dossierTitre;
+ }
+
+ public String getNomDocPrincipal() {
+ return nomDocPrincipal;
+ }
+
+ public void setNomDocPrincipal(String nomDocPrincipal) {
+ this.nomDocPrincipal = nomDocPrincipal;
+ }
+
+ public List<Annexe> getAnnexes() {
+ return annexes;
+ }
+
+ public void setAnnexes(List<Annexe> annexes) {
+ this.annexes = annexes;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client.impl;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import fr.mbdx.parapheur.client.LogDossier;
+import fr.mbdx.parapheur.client.Statut;
+
+public class LogDossierCfxImpl implements LogDossier {
+ private XMLGregorianCalendar timestamp;
+ private String nom;
+ private Statut statut;
+ private String annotation;
+ private String accessible;
+
+ public LogDossierCfxImpl() {
+ }
+
+ public LogDossierCfxImpl(fr.mbdx.parapheur.client.impl.cxf.LogDossier log) {
+ timestamp = log.getTimestamp();
+ nom = log.getNom();
+ statut = Statut.fromValue(log.getStatus());
+ annotation = log.getAnnotation();
+ accessible = log.getAccessible();
+ }
+
+ /**
+ * Obtient la valeur de la propriete timestamp.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * Definit la valeur de la propriete timestamp.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setTimestamp(XMLGregorianCalendar value) {
+ this.timestamp = value;
+ }
+
+ /**
+ * Obtient la valeur de la propriete nom.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNom() {
+ return nom;
+ }
+
+ /**
+ * Definit la valeur de la propriete nom.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNom(String value) {
+ this.nom = value;
+ }
+
+ /**
+ * Obtient la valeur de la propriete statut.
+ *
+ * @return
+ * possible object is
+ * {@link Statut }
+ *
+ */
+ public Statut getStatut() {
+ return statut;
+ }
+
+ /**
+ * Definit la valeur de la propriete statut.
+ *
+ * @param value
+ * allowed object is
+ * {@link Statut }
+ *
+ */
+ public void setStatut(Statut value) {
+ this.statut = value;
+ }
+
+ /**
+ * Obtient la valeur de la propriete annotation.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotation() {
+ return annotation;
+ }
+
+ /**
+ * Definit la valeur de la propriete annotation.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotation(String value) {
+ this.annotation = value;
+ }
+
+ /**
+ * Obtient la valeur de la propriete accessible.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAccessible() {
+ return accessible;
+ }
+
+ /**
+ * Definit la valeur de la propriete accessible.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAccessible(String value) {
+ this.accessible = value;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client.impl;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import fr.mbdx.parapheur.client.Annexe;
+import fr.mbdx.parapheur.client.ClientException;
+import fr.mbdx.parapheur.client.Content;
+import fr.mbdx.parapheur.client.Dossier;
+import fr.mbdx.parapheur.client.LogDossier;
+import fr.mbdx.parapheur.client.impl.LogDossierCfxImpl;
+import fr.mbdx.parapheur.client.impl.cxf.CreerDossierRequest;
+import fr.mbdx.parapheur.client.impl.cxf.DocAnnexe;
+import fr.mbdx.parapheur.client.impl.cxf.TypeDoc;
+import fr.mbdx.parapheur.client.impl.cxf.TypeDocAnnexes;
+import fr.mbdx.parapheur.client.impl.cxf.Visibilite;
+
+/**
+ * Classe utilitaire pour l'implémentation du client Webservice iParapheur
+ * à l'aide de la librairie CXF
+ */
+public class Utils {
+ /**
+ * Adaptateur entre l'interface Dossier et la requête CXF CreerDossierRequest.
+ *
+ * On reporte les champs suivants:
+ * typeTechnique
+ * sousType
+ * the emailEmetteur
+ * dossierID
+ * dossierTitre
+ * nomDocPrincipal
+ * annotationPublique
+ * annotationPrivee
+ * visibiliteString
+ * dateLimite
+ * documentPrincipalContent
+ * signatureDocPrincipal
+ * visuelPDFContent
+ * annexes
+ *
+ * @param dossier
+ * @return une requête CreerDossierRequest
+ */
+ public static CreerDossierRequest getCreerDossierRequest(Dossier dossier) throws ClientException {
+
+ CreerDossierRequest req = new CreerDossierRequest();
+ req.setTypeTechnique(dossier.getTypeTechnique());
+ req.setSousType(dossier.getSousType());
+ req.setEmailEmetteur(dossier.getEmailEmetteur());
+ req.setDossierID(dossier.getDossierID());
+ req.setDossierTitre(dossier.getDossierTitre());
+ req.setNomDocPrincipal(dossier.getNomDocPrincipal());
+ req.setAnnotationPublique(dossier.getAnnotationPublique());
+ req.setAnnotationPrivee(dossier.getAnnotationPrivee());
+ req.setVisibilite(Visibilite.fromValue(dossier.getVisibilite()));
+ req.setDateLimite(dossier.getDateLimite());
+
+ if (dossier.getAnnexes() != null) {
+ TypeDocAnnexes typeDocAnnexes = creerTypeDocAnnexes(dossier.getAnnexes());
+ req.setDocumentsAnnexes(typeDocAnnexes);
+ }
+
+ Content content = dossier.getDocumentPrincipalContent();
+ if (content != null) {
+ if (content.getValue() == null) {
+ content.load();
+ }
+ TypeDoc documentPrincipal = new TypeDoc();
+ documentPrincipal.setContentType(content.getType());
+ documentPrincipal.setValue(content.getValue());
+ req.setDocumentPrincipal(documentPrincipal);
+ }
+
+ content = dossier.getSignatureDocPrincipalContent();
+ if (content != null) {
+ if (content.getValue() == null) {
+ content.load();
+ }
+ TypeDoc signatureDocPrincipal = new TypeDoc();
+ signatureDocPrincipal.setContentType(content.getType());
+ signatureDocPrincipal.setValue(content.getValue());
+ req.setSignatureDocPrincipal(signatureDocPrincipal);
+ }
+
+ content = dossier.getVisuelPDFContent();
+ if (content != null) {
+ if (content.getValue() == null) {
+ content.load();
+ }
+ TypeDoc visuelPDFContent = new TypeDoc();
+ visuelPDFContent.setContentType(content.getType());
+ visuelPDFContent.setValue(content.getValue());
+ req.setVisuelPDF(visuelPDFContent);
+ }
+
+ return req;
+ }
+
+ public static TypeDocAnnexes creerTypeDocAnnexes(List<Annexe> listeAnnexes) {
+ TypeDocAnnexes typeDocAnnexes = new TypeDocAnnexes();
+ List<DocAnnexe> lstDocAnnexe = typeDocAnnexes.getDocAnnexe();
+ for (Annexe ann : listeAnnexes) {
+ DocAnnexe docAnnexe = new DocAnnexe();
+ docAnnexe.setEncoding(ann.getEncoding());
+ TypeDoc fichier = new TypeDoc();
+ fichier.setContentType(ann.getFichier().getType());
+ fichier.setValue(ann.getFichier().getValue());
+ docAnnexe.setFichier(fichier);
+ docAnnexe.setMimetype(ann.getMimetype());
+ docAnnexe.setNom(ann.getNom());
+ if (ann.getSignature() != null) {
+ TypeDoc signature = new TypeDoc();
+ signature.setContentType(ann.getSignature().getType());
+ signature.setValue(ann.getSignature().getValue());
+ docAnnexe.setSignature(signature);
+ }
+ lstDocAnnexe.add(docAnnexe);
+ }
+ return typeDocAnnexes;
+ }
+
+ public static List<LogDossier> getHistoDossier(List<fr.mbdx.parapheur.client.impl.cxf.LogDossier> listLogDossier) {
+ List<LogDossier> histoDossier = new ArrayList<LogDossier>();
+ for( fr.mbdx.parapheur.client.impl.cxf.LogDossier log: listLogDossier ) {
+ LogDossier logDossier = new LogDossierCfxImpl(log);
+ histoDossier.add(logDossier);
+ }
+ return histoDossier;
+ }
+
+ public static URL getURL(String path) throws ClientException {
+ File file = new File(path);
+ URL url = null;
+ try {
+ if (file.exists()) {
+ url = file.toURI().toURL();
+ } else {
+ url = new URL(path);
+ }
+ } catch (MalformedURLException e) {
+ throw new ClientException(e);
+ }
+
+ return url;
+ }
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour ArchivageAction.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ * <p>
+ * <pre>
+ * <simpleType name="ArchivageAction">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <whiteSpace value="collapse"/>
+ * <enumeration value="ARCHIVER"/>
+ * <enumeration value="EFFACER"/>
+ * </restriction>
+ * </simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "ArchivageAction")
+@XmlEnum
+public enum ArchivageAction {
+
+ ARCHIVER,
+ EFFACER;
+
+ public String value() {
+ return name();
+ }
+
+ public static ArchivageAction fromValue(String v) {
+ return valueOf(v);
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="DossierID" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID"/>
+ * <element name="ArchivageAction" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}ArchivageAction" minOccurs="0"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "ArchiverDossierRequest")
+public class ArchiverDossierRequest {
+
+ @XmlElement(name = "DossierID", required = true)
+ protected String dossierID;
+ @XmlElement(name = "ArchivageAction")
+ protected ArchivageAction archivageAction;
+
+ /**
+ * Obtient la valeur de la propri�t� dossierID.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierID() {
+ return dossierID;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossierID.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierID(String value) {
+ this.dossierID = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� archivageAction.
+ *
+ * @return
+ * possible object is
+ * {@link ArchivageAction }
+ *
+ */
+ public ArchivageAction getArchivageAction() {
+ return archivageAction;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� archivageAction.
+ *
+ * @param value
+ * allowed object is
+ * {@link ArchivageAction }
+ *
+ */
+ public void setArchivageAction(ArchivageAction value) {
+ this.archivageAction = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="URL" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "url",
+ "messageRetour"
+})
+@XmlRootElement(name = "ArchiverDossierResponse")
+public class ArchiverDossierResponse {
+
+ @XmlElementRef(name = "URL", namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", type = JAXBElement.class)
+ protected JAXBElement<String> url;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� url.
+ *
+ * @return
+ * possible object is
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ public JAXBElement<String> getURL() {
+ return url;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� url.
+ *
+ * @param value
+ * allowed object is
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ *
+ */
+ public void setURL(JAXBElement<String> value) {
+ this.url = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * <p>Classe Java pour base64Binary complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="base64Binary">
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>base64Binary">
+ * <attribute ref="{http://www.w3.org/2005/05/xmlmime}contentType"/>
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "base64Binary", namespace = "http://www.w3.org/2005/05/xmlmime", propOrder = {
+ "value"
+})
+@XmlSeeAlso({
+ TypeDoc.class
+})
+public class Base64Binary {
+
+ @XmlValue
+ protected byte[] value;
+ @XmlAttribute(name = "contentType", namespace = "http://www.w3.org/2005/05/xmlmime")
+ protected String contentType;
+
+ /**
+ * Obtient la valeur de la propri�t� value.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getValue() {
+ return value;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� value.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setValue(byte[] value) {
+ this.value = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� contentType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getContentType() {
+ return contentType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� contentType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setContentType(String value) {
+ this.contentType = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique"/>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType"/>
+ * <element name="EmailEmetteur" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="DossierID" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID"/>
+ * <element name="FichierPES" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc"/>
+ * <element name="VisuelPDF" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc"/>
+ * <element name="XPathPourSignaturePES" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="AnnotationPublique" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="AnnotationPrivee" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Visibilite" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}Visibilite"/>
+ * <element name="DateLimite" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}date_AAAA-MM-JJ"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "CreerDossierPESRequest")
+public class CreerDossierPESRequest {
+
+ @XmlElement(name = "TypeTechnique", required = true)
+ protected String typeTechnique;
+ @XmlElement(name = "SousType", required = true)
+ protected String sousType;
+ @XmlElement(name = "EmailEmetteur", required = true)
+ protected String emailEmetteur;
+ @XmlElement(name = "DossierID", required = true)
+ protected String dossierID;
+ @XmlElement(name = "FichierPES", required = true)
+ protected TypeDoc fichierPES;
+ @XmlElement(name = "VisuelPDF", required = true)
+ protected TypeDoc visuelPDF;
+ @XmlElement(name = "XPathPourSignaturePES", required = true)
+ protected String xPathPourSignaturePES;
+ @XmlElement(name = "AnnotationPublique", required = true, nillable = true)
+ protected String annotationPublique;
+ @XmlElement(name = "AnnotationPrivee", required = true, nillable = true)
+ protected String annotationPrivee;
+ @XmlElement(name = "Visibilite", required = true)
+ protected Visibilite visibilite;
+ @XmlElement(name = "DateLimite", required = true, nillable = true)
+ protected String dateLimite;
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� emailEmetteur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEmailEmetteur() {
+ return emailEmetteur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� emailEmetteur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEmailEmetteur(String value) {
+ this.emailEmetteur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dossierID.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierID() {
+ return dossierID;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossierID.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierID(String value) {
+ this.dossierID = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� fichierPES.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getFichierPES() {
+ return fichierPES;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� fichierPES.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setFichierPES(TypeDoc value) {
+ this.fichierPES = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� visuelPDF.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getVisuelPDF() {
+ return visuelPDF;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� visuelPDF.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setVisuelPDF(TypeDoc value) {
+ this.visuelPDF = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� xPathPourSignaturePES.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getXPathPourSignaturePES() {
+ return xPathPourSignaturePES;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� xPathPourSignaturePES.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setXPathPourSignaturePES(String value) {
+ this.xPathPourSignaturePES = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPublique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPublique() {
+ return annotationPublique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPublique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPublique(String value) {
+ this.annotationPublique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPrivee.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPrivee() {
+ return annotationPrivee;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPrivee.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPrivee(String value) {
+ this.annotationPrivee = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� visibilite.
+ *
+ * @return
+ * possible object is
+ * {@link Visibilite }
+ *
+ */
+ public Visibilite getVisibilite() {
+ return visibilite;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� visibilite.
+ *
+ * @param value
+ * allowed object is
+ * {@link Visibilite }
+ *
+ */
+ public void setVisibilite(Visibilite value) {
+ this.visibilite = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dateLimite.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDateLimite() {
+ return dateLimite;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dateLimite.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDateLimite(String value) {
+ this.dateLimite = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageRetour"
+})
+@XmlRootElement(name = "CreerDossierPESResponse")
+public class CreerDossierPESResponse {
+
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique"/>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType"/>
+ * <element name="EmailEmetteur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="DossierID" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID"/>
+ * <element name="DossierTitre" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="DocumentPrincipal" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc"/>
+ * <element name="NomDocPrincipal" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignatureDocPrincipal" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc" minOccurs="0"/>
+ * <element name="VisuelPDF" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc"/>
+ * <element name="DocumentsAnnexes" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDocAnnexes" minOccurs="0"/>
+ * <element name="MetaData" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeMetaDonnees" minOccurs="0"/>
+ * <element name="XPathPourSignatureXML" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="MetaDataTdtACTES" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}metaDataTdtACTES"/>
+ * <element name="AnnotationPublique" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="AnnotationPrivee" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Visibilite" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}Visibilite"/>
+ * <element name="DateLimite" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}date_AAAA-MM-JJ"/>
+ * <element name="CircuitObligatoire" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeCircuit" minOccurs="0"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "CreerDossierRequest")
+public class CreerDossierRequest {
+
+ @XmlElement(name = "TypeTechnique", required = true)
+ protected String typeTechnique;
+ @XmlElement(name = "SousType", required = true)
+ protected String sousType;
+ @XmlElement(name = "EmailEmetteur")
+ protected String emailEmetteur;
+ @XmlElement(name = "DossierID", required = true)
+ protected String dossierID;
+ @XmlElement(name = "DossierTitre")
+ protected String dossierTitre;
+ @XmlElement(name = "DocumentPrincipal", required = true)
+ protected TypeDoc documentPrincipal;
+ @XmlElement(name = "NomDocPrincipal")
+ protected String nomDocPrincipal;
+ @XmlElement(name = "SignatureDocPrincipal")
+ protected TypeDoc signatureDocPrincipal;
+ @XmlElement(name = "VisuelPDF", required = true, nillable = true)
+ protected TypeDoc visuelPDF;
+ @XmlElement(name = "DocumentsAnnexes")
+ protected TypeDocAnnexes documentsAnnexes;
+ @XmlElement(name = "MetaData")
+ protected TypeMetaDonnees metaData;
+ @XmlElement(name = "XPathPourSignatureXML", required = true, nillable = true)
+ protected String xPathPourSignatureXML;
+ @XmlElement(name = "MetaDataTdtACTES", required = true, nillable = true)
+ protected MetaDataTdtACTES metaDataTdtACTES;
+ @XmlElement(name = "AnnotationPublique", required = true, nillable = true)
+ protected String annotationPublique;
+ @XmlElement(name = "AnnotationPrivee", required = true, nillable = true)
+ protected String annotationPrivee;
+ @XmlElement(name = "Visibilite", required = true)
+ protected Visibilite visibilite;
+ @XmlElement(name = "DateLimite", required = true, nillable = true)
+ protected String dateLimite;
+ @XmlElement(name = "CircuitObligatoire")
+ protected TypeCircuit circuitObligatoire;
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� emailEmetteur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEmailEmetteur() {
+ return emailEmetteur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� emailEmetteur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEmailEmetteur(String value) {
+ this.emailEmetteur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dossierID.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierID() {
+ return dossierID;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossierID.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierID(String value) {
+ this.dossierID = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dossierTitre.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierTitre() {
+ return dossierTitre;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossierTitre.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierTitre(String value) {
+ this.dossierTitre = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� documentPrincipal.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getDocumentPrincipal() {
+ return documentPrincipal;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� documentPrincipal.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setDocumentPrincipal(TypeDoc value) {
+ this.documentPrincipal = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomDocPrincipal.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomDocPrincipal() {
+ return nomDocPrincipal;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomDocPrincipal.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomDocPrincipal(String value) {
+ this.nomDocPrincipal = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� signatureDocPrincipal.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getSignatureDocPrincipal() {
+ return signatureDocPrincipal;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� signatureDocPrincipal.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setSignatureDocPrincipal(TypeDoc value) {
+ this.signatureDocPrincipal = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� visuelPDF.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getVisuelPDF() {
+ return visuelPDF;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� visuelPDF.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setVisuelPDF(TypeDoc value) {
+ this.visuelPDF = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� documentsAnnexes.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDocAnnexes }
+ *
+ */
+ public TypeDocAnnexes getDocumentsAnnexes() {
+ return documentsAnnexes;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� documentsAnnexes.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDocAnnexes }
+ *
+ */
+ public void setDocumentsAnnexes(TypeDocAnnexes value) {
+ this.documentsAnnexes = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� metaData.
+ *
+ * @return
+ * possible object is
+ * {@link TypeMetaDonnees }
+ *
+ */
+ public TypeMetaDonnees getMetaData() {
+ return metaData;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� metaData.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeMetaDonnees }
+ *
+ */
+ public void setMetaData(TypeMetaDonnees value) {
+ this.metaData = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� xPathPourSignatureXML.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getXPathPourSignatureXML() {
+ return xPathPourSignatureXML;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� xPathPourSignatureXML.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setXPathPourSignatureXML(String value) {
+ this.xPathPourSignatureXML = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� metaDataTdtACTES.
+ *
+ * @return
+ * possible object is
+ * {@link MetaDataTdtACTES }
+ *
+ */
+ public MetaDataTdtACTES getMetaDataTdtACTES() {
+ return metaDataTdtACTES;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� metaDataTdtACTES.
+ *
+ * @param value
+ * allowed object is
+ * {@link MetaDataTdtACTES }
+ *
+ */
+ public void setMetaDataTdtACTES(MetaDataTdtACTES value) {
+ this.metaDataTdtACTES = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPublique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPublique() {
+ return annotationPublique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPublique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPublique(String value) {
+ this.annotationPublique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPrivee.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPrivee() {
+ return annotationPrivee;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPrivee.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPrivee(String value) {
+ this.annotationPrivee = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� visibilite.
+ *
+ * @return
+ * possible object is
+ * {@link Visibilite }
+ *
+ */
+ public Visibilite getVisibilite() {
+ return visibilite;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� visibilite.
+ *
+ * @param value
+ * allowed object is
+ * {@link Visibilite }
+ *
+ */
+ public void setVisibilite(Visibilite value) {
+ this.visibilite = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dateLimite.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDateLimite() {
+ return dateLimite;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dateLimite.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDateLimite(String value) {
+ this.dateLimite = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� circuitObligatoire.
+ *
+ * @return
+ * possible object is
+ * {@link TypeCircuit }
+ *
+ */
+ public TypeCircuit getCircuitObligatoire() {
+ return circuitObligatoire;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� circuitObligatoire.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeCircuit }
+ *
+ */
+ public void setCircuitObligatoire(TypeCircuit value) {
+ this.circuitObligatoire = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * <element name="DossierID" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageRetour",
+ "dossierID"
+})
+@XmlRootElement(name = "CreerDossierResponse")
+public class CreerDossierResponse {
+
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+ @XmlElement(name = "DossierID")
+ protected String dossierID;
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dossierID.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierID() {
+ return dossierID;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossierID.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierID(String value) {
+ this.dossierID = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * mimetype: par exemple "application/pdf". encoding: par exemple "UTF-8".
+ * Et maintenant, possibilit� d'y definir une signature detachee CMS/PKCS7.
+ *
+ *
+ * <p>Classe Java pour DocAnnexe complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="DocAnnexe">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="nom" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID"/>
+ * <element name="fichier" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc"/>
+ * <element name="mimetype" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="encoding" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="signature" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DocAnnexe", propOrder = {
+ "nom",
+ "fichier",
+ "mimetype",
+ "encoding",
+ "signature"
+})
+public class DocAnnexe {
+
+ @XmlElement(required = true)
+ protected String nom;
+ @XmlElement(required = true)
+ protected TypeDoc fichier;
+ @XmlElement(required = true)
+ protected String mimetype;
+ @XmlElement(required = true)
+ protected String encoding;
+ protected TypeDoc signature;
+
+ /**
+ * Obtient la valeur de la propri�t� nom.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNom() {
+ return nom;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nom.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNom(String value) {
+ this.nom = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� fichier.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getFichier() {
+ return fichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� fichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setFichier(TypeDoc value) {
+ this.fichier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� mimetype.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMimetype() {
+ return mimetype;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� mimetype.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMimetype(String value) {
+ this.mimetype = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� encoding.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEncoding() {
+ return encoding;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� encoding.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEncoding(String value) {
+ this.encoding = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� signature.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getSignature() {
+ return signature;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� signature.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setSignature(TypeDoc value) {
+ this.signature = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageRetour"
+})
+@XmlRootElement(name = "EffacerDossierRejeteResponse")
+public class EffacerDossierRejeteResponse {
+
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="dossier" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="rcptTo" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="subject" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="message" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="password" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="sendPassword" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "dossier",
+ "rcptTo",
+ "subject",
+ "message",
+ "password",
+ "sendPassword"
+})
+@XmlRootElement(name = "EnvoyerDossierMailSecuriseRequest")
+public class EnvoyerDossierMailSecuriseRequest {
+
+ @XmlElement(required = true)
+ protected String dossier;
+ @XmlElement(required = true)
+ protected String rcptTo;
+ @XmlElement(required = true)
+ protected String subject;
+ @XmlElement(required = true)
+ protected String message;
+ protected String password;
+ protected Boolean sendPassword;
+
+ /**
+ * Obtient la valeur de la propri�t� dossier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossier() {
+ return dossier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossier(String value) {
+ this.dossier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� rcptTo.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRcptTo() {
+ return rcptTo;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� rcptTo.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRcptTo(String value) {
+ this.rcptTo = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� subject.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubject() {
+ return subject;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� subject.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubject(String value) {
+ this.subject = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� message.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� message.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMessage(String value) {
+ this.message = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� password.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� password.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPassword(String value) {
+ this.password = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sendPassword.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isSendPassword() {
+ return sendPassword;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sendPassword.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setSendPassword(Boolean value) {
+ this.sendPassword = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageRetour"
+})
+@XmlRootElement(name = "EnvoyerDossierMailSecuriseResponse")
+public class EnvoyerDossierMailSecuriseResponse {
+
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LogDossier" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}LogDossier" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logDossier",
+ "messageRetour"
+})
+@XmlRootElement(name = "EnvoyerDossierPESResponse")
+public class EnvoyerDossierPESResponse {
+
+ @XmlElement(name = "LogDossier")
+ protected LogDossier logDossier;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� logDossier.
+ *
+ * @return
+ * possible object is
+ * {@link LogDossier }
+ *
+ */
+ public LogDossier getLogDossier() {
+ return logDossier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� logDossier.
+ *
+ * @param value
+ * allowed object is
+ * {@link LogDossier }
+ *
+ */
+ public void setLogDossier(LogDossier value) {
+ this.logDossier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LogDossier" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}LogDossier" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logDossier",
+ "messageRetour"
+})
+@XmlRootElement(name = "EnvoyerDossierTdTResponse")
+public class EnvoyerDossierTdTResponse {
+
+ @XmlElement(name = "LogDossier")
+ protected LogDossier logDossier;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� logDossier.
+ *
+ * @return
+ * possible object is
+ * {@link LogDossier }
+ *
+ */
+ public LogDossier getLogDossier() {
+ return logDossier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� logDossier.
+ *
+ * @param value
+ * allowed object is
+ * {@link LogDossier }
+ *
+ */
+ public void setLogDossier(LogDossier value) {
+ this.logDossier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Role = VISEUR | SIGNATAIRE | TDT | ARCHIVAGE. Dans le futur: EMETTEUR(?), EMAIL,...
+ *
+ * <p>Classe Java pour EtapeCircuit complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="EtapeCircuit">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Parapheur" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Prenom" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Nom" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Role" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EtapeCircuit", propOrder = {
+ "parapheur",
+ "prenom",
+ "nom",
+ "role"
+})
+public class EtapeCircuit {
+
+ @XmlElement(name = "Parapheur", required = true)
+ protected String parapheur;
+ @XmlElement(name = "Prenom", required = true)
+ protected String prenom;
+ @XmlElement(name = "Nom", required = true)
+ protected String nom;
+ @XmlElement(name = "Role", required = true)
+ protected String role;
+
+ /**
+ * Obtient la valeur de la propri�t� parapheur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getParapheur() {
+ return parapheur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� parapheur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setParapheur(String value) {
+ this.parapheur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� prenom.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPrenom() {
+ return prenom;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� prenom.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPrenom(String value) {
+ this.prenom = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nom.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNom() {
+ return nom;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nom.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNom(String value) {
+ this.nom = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� role.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRole() {
+ return role;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� role.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRole(String value) {
+ this.role = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageRetour"
+})
+@XmlRootElement(name = "ExercerDroitRemordDossierResponse")
+public class ExercerDroitRemordDossierResponse {
+
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="DossierID" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID"/>
+ * <element name="CodeTransition" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}codeRetour"/>
+ * <element name="AnnotationPublique" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="AnnotationPrivee" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "ForcerEtapeRequest")
+public class ForcerEtapeRequest {
+
+ @XmlElement(name = "DossierID", required = true)
+ protected String dossierID;
+ @XmlElement(name = "CodeTransition", required = true)
+ protected String codeTransition;
+ @XmlElement(name = "AnnotationPublique", required = true, nillable = true)
+ protected String annotationPublique;
+ @XmlElement(name = "AnnotationPrivee", required = true, nillable = true)
+ protected String annotationPrivee;
+
+ /**
+ * Obtient la valeur de la propri�t� dossierID.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierID() {
+ return dossierID;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossierID.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierID(String value) {
+ this.dossierID = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeTransition.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCodeTransition() {
+ return codeTransition;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeTransition.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCodeTransition(String value) {
+ this.codeTransition = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPublique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPublique() {
+ return annotationPublique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPublique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPublique(String value) {
+ this.annotationPublique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPrivee.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPrivee() {
+ return annotationPrivee;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPrivee.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPrivee(String value) {
+ this.annotationPrivee = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LogDossier" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}LogDossier" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logDossier",
+ "messageRetour"
+})
+@XmlRootElement(name = "ForcerEtapeResponse")
+public class ForcerEtapeResponse {
+
+ @XmlElement(name = "LogDossier")
+ protected LogDossier logDossier;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� logDossier.
+ *
+ * @return
+ * possible object is
+ * {@link LogDossier }
+ *
+ */
+ public LogDossier getLogDossier() {
+ return logDossier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� logDossier.
+ *
+ * @param value
+ * allowed object is
+ * {@link LogDossier }
+ *
+ */
+ public void setLogDossier(LogDossier value) {
+ this.logDossier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="IdUtilisateur" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique"/>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "GetCircuitPourUtilisateurRequest")
+public class GetCircuitPourUtilisateurRequest {
+
+ @XmlElement(name = "IdUtilisateur", required = true)
+ protected String idUtilisateur;
+ @XmlElement(name = "TypeTechnique", required = true)
+ protected String typeTechnique;
+ @XmlElement(name = "SousType", required = true)
+ protected String sousType;
+
+ /**
+ * Obtient la valeur de la propri�t� idUtilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdUtilisateur() {
+ return idUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� idUtilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdUtilisateur(String value) {
+ this.idUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EtapeCircuit" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}EtapeCircuit" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "etapeCircuit"
+})
+@XmlRootElement(name = "GetCircuitPourUtilisateurResponse")
+public class GetCircuitPourUtilisateurResponse {
+
+ @XmlElement(name = "EtapeCircuit")
+ protected List<EtapeCircuit> etapeCircuit;
+
+ /**
+ * Gets the value of the etapeCircuit property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the etapeCircuit property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getEtapeCircuit().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link EtapeCircuit }
+ *
+ *
+ */
+ public List<EtapeCircuit> getEtapeCircuit() {
+ if (etapeCircuit == null) {
+ etapeCircuit = new ArrayList<EtapeCircuit>();
+ }
+ return this.etapeCircuit;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique"/>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "GetCircuitRequest")
+public class GetCircuitRequest {
+
+ @XmlElement(name = "TypeTechnique", required = true)
+ protected String typeTechnique;
+ @XmlElement(name = "SousType", required = true)
+ protected String sousType;
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EtapeCircuit" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}EtapeCircuit" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "etapeCircuit"
+})
+@XmlRootElement(name = "GetCircuitResponse")
+public class GetCircuitResponse {
+
+ @XmlElement(name = "EtapeCircuit")
+ protected List<EtapeCircuit> etapeCircuit;
+
+ /**
+ * Gets the value of the etapeCircuit property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the etapeCircuit property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getEtapeCircuit().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link EtapeCircuit }
+ *
+ *
+ */
+ public List<EtapeCircuit> getEtapeCircuit() {
+ if (etapeCircuit == null) {
+ etapeCircuit = new ArrayList<EtapeCircuit>();
+ }
+ return this.etapeCircuit;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique" minOccurs="0"/>
+ * <element name="DemanderMiseAJourTdt" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "typeTechnique",
+ "demanderMiseAJourTdt"
+})
+@XmlRootElement(name = "GetClassificationActesTdtRequest")
+public class GetClassificationActesTdtRequest {
+
+ @XmlElement(name = "TypeTechnique")
+ protected String typeTechnique;
+ @XmlElement(name = "DemanderMiseAJourTdt")
+ protected String demanderMiseAJourTdt;
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� demanderMiseAJourTdt.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDemanderMiseAJourTdt() {
+ return demanderMiseAJourTdt;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� demanderMiseAJourTdt.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDemanderMiseAJourTdt(String value) {
+ this.demanderMiseAJourTdt = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="classification" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "classification",
+ "messageRetour"
+})
+@XmlRootElement(name = "GetClassificationActesTdtResponse")
+public class GetClassificationActesTdtResponse {
+
+ protected TypeDoc classification;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� classification.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getClassification() {
+ return classification;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� classification.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setClassification(TypeDoc value) {
+ this.classification = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique"/>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType"/>
+ * <element name="EmailEmetteur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="DossierID" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID"/>
+ * <element name="FichierPES" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc" minOccurs="0"/>
+ * <element name="VisuelPDF" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc" minOccurs="0"/>
+ * <element name="XPathPourSignaturePES" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="AnnotationPublique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="AnnotationPrivee" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="Visibilite" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}Visibilite"/>
+ * <element name="DateLimite" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}date_AAAA-MM-JJ"/>
+ * <element name="DocPrincipal" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc" minOccurs="0"/>
+ * <element name="NomDocPrincipal" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="SignatureDocPrincipal" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDoc" minOccurs="0"/>
+ * <element name="DocumentsAnnexes" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeDocAnnexes" minOccurs="0"/>
+ * <element name="MetaDonnees" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeMetaDonnees" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "typeTechnique",
+ "sousType",
+ "emailEmetteur",
+ "dossierID",
+ "fichierPES",
+ "visuelPDF",
+ "xPathPourSignaturePES",
+ "annotationPublique",
+ "annotationPrivee",
+ "visibilite",
+ "dateLimite",
+ "docPrincipal",
+ "nomDocPrincipal",
+ "signatureDocPrincipal",
+ "documentsAnnexes",
+ "metaDonnees",
+ "messageRetour"
+})
+@XmlRootElement(name = "GetDossierResponse")
+public class GetDossierResponse {
+
+ @XmlElement(name = "TypeTechnique", required = true)
+ protected String typeTechnique;
+ @XmlElement(name = "SousType", required = true)
+ protected String sousType;
+ @XmlElement(name = "EmailEmetteur")
+ protected String emailEmetteur;
+ @XmlElement(name = "DossierID", required = true)
+ protected String dossierID;
+ @XmlElement(name = "FichierPES")
+ protected TypeDoc fichierPES;
+ @XmlElement(name = "VisuelPDF")
+ protected TypeDoc visuelPDF;
+ @XmlElement(name = "XPathPourSignaturePES")
+ protected String xPathPourSignaturePES;
+ @XmlElement(name = "AnnotationPublique")
+ protected String annotationPublique;
+ @XmlElement(name = "AnnotationPrivee")
+ protected String annotationPrivee;
+ @XmlElement(name = "Visibilite", required = true)
+ protected Visibilite visibilite;
+ @XmlElement(name = "DateLimite", required = true, nillable = true)
+ protected String dateLimite;
+ @XmlElement(name = "DocPrincipal")
+ protected TypeDoc docPrincipal;
+ @XmlElement(name = "NomDocPrincipal")
+ protected String nomDocPrincipal;
+ @XmlElement(name = "SignatureDocPrincipal")
+ protected TypeDoc signatureDocPrincipal;
+ @XmlElement(name = "DocumentsAnnexes")
+ protected TypeDocAnnexes documentsAnnexes;
+ @XmlElement(name = "MetaDonnees")
+ protected TypeMetaDonnees metaDonnees;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� emailEmetteur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEmailEmetteur() {
+ return emailEmetteur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� emailEmetteur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEmailEmetteur(String value) {
+ this.emailEmetteur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dossierID.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDossierID() {
+ return dossierID;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dossierID.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDossierID(String value) {
+ this.dossierID = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� fichierPES.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getFichierPES() {
+ return fichierPES;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� fichierPES.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setFichierPES(TypeDoc value) {
+ this.fichierPES = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� visuelPDF.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getVisuelPDF() {
+ return visuelPDF;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� visuelPDF.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setVisuelPDF(TypeDoc value) {
+ this.visuelPDF = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� xPathPourSignaturePES.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getXPathPourSignaturePES() {
+ return xPathPourSignaturePES;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� xPathPourSignaturePES.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setXPathPourSignaturePES(String value) {
+ this.xPathPourSignaturePES = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPublique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPublique() {
+ return annotationPublique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPublique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPublique(String value) {
+ this.annotationPublique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotationPrivee.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotationPrivee() {
+ return annotationPrivee;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotationPrivee.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotationPrivee(String value) {
+ this.annotationPrivee = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� visibilite.
+ *
+ * @return
+ * possible object is
+ * {@link Visibilite }
+ *
+ */
+ public Visibilite getVisibilite() {
+ return visibilite;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� visibilite.
+ *
+ * @param value
+ * allowed object is
+ * {@link Visibilite }
+ *
+ */
+ public void setVisibilite(Visibilite value) {
+ this.visibilite = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dateLimite.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDateLimite() {
+ return dateLimite;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dateLimite.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDateLimite(String value) {
+ this.dateLimite = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� docPrincipal.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getDocPrincipal() {
+ return docPrincipal;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� docPrincipal.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setDocPrincipal(TypeDoc value) {
+ this.docPrincipal = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomDocPrincipal.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomDocPrincipal() {
+ return nomDocPrincipal;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomDocPrincipal.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomDocPrincipal(String value) {
+ this.nomDocPrincipal = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� signatureDocPrincipal.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDoc }
+ *
+ */
+ public TypeDoc getSignatureDocPrincipal() {
+ return signatureDocPrincipal;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� signatureDocPrincipal.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDoc }
+ *
+ */
+ public void setSignatureDocPrincipal(TypeDoc value) {
+ this.signatureDocPrincipal = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� documentsAnnexes.
+ *
+ * @return
+ * possible object is
+ * {@link TypeDocAnnexes }
+ *
+ */
+ public TypeDocAnnexes getDocumentsAnnexes() {
+ return documentsAnnexes;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� documentsAnnexes.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeDocAnnexes }
+ *
+ */
+ public void setDocumentsAnnexes(TypeDocAnnexes value) {
+ this.documentsAnnexes = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� metaDonnees.
+ *
+ * @return
+ * possible object is
+ * {@link TypeMetaDonnees }
+ *
+ */
+ public TypeMetaDonnees getMetaDonnees() {
+ return metaDonnees;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� metaDonnees.
+ *
+ * @param value
+ * allowed object is
+ * {@link TypeMetaDonnees }
+ *
+ */
+ public void setMetaDonnees(TypeMetaDonnees value) {
+ this.metaDonnees = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LogDossier" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}LogDossier" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logDossier",
+ "messageRetour"
+})
+@XmlRootElement(name = "GetHistoDossierResponse")
+public class GetHistoDossierResponse {
+
+ @XmlElement(name = "LogDossier")
+ protected List<LogDossier> logDossier;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Gets the value of the logDossier property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the logDossier property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getLogDossier().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link LogDossier }
+ *
+ *
+ */
+ public List<LogDossier> getLogDossier() {
+ if (logDossier == null) {
+ logDossier = new ArrayList<LogDossier>();
+ }
+ return this.logDossier;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MetaDonnee" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MetaDonneeDefinition" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "metaDonnee"
+})
+@XmlRootElement(name = "GetListeMetaDonneesResponse")
+public class GetListeMetaDonneesResponse {
+
+ @XmlElement(name = "MetaDonnee")
+ protected List<MetaDonneeDefinition> metaDonnee;
+
+ /**
+ * Gets the value of the metaDonnee property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the metaDonnee property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getMetaDonnee().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link MetaDonneeDefinition }
+ *
+ *
+ */
+ public List<MetaDonneeDefinition> getMetaDonnee() {
+ if (metaDonnee == null) {
+ metaDonnee = new ArrayList<MetaDonneeDefinition>();
+ }
+ return this.metaDonnee;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="IdUtilisateur" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "GetListeSousTypesPourUtilisateurRequest")
+public class GetListeSousTypesPourUtilisateurRequest {
+
+ @XmlElement(name = "IdUtilisateur", required = true)
+ protected String idUtilisateur;
+ @XmlElement(name = "TypeTechnique", required = true)
+ protected String typeTechnique;
+
+ /**
+ * Obtient la valeur de la propri�t� idUtilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdUtilisateur() {
+ return idUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� idUtilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdUtilisateur(String value) {
+ this.idUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "sousType"
+})
+@XmlRootElement(name = "GetListeSousTypesPourUtilisateurResponse")
+public class GetListeSousTypesPourUtilisateurResponse {
+
+ @XmlElement(name = "SousType")
+ protected List<String> sousType;
+
+ /**
+ * Gets the value of the sousType property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the sousType property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSousType().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getSousType() {
+ if (sousType == null) {
+ sousType = new ArrayList<String>();
+ }
+ return this.sousType;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "sousType"
+})
+@XmlRootElement(name = "GetListeSousTypesResponse")
+public class GetListeSousTypesResponse {
+
+ @XmlElement(name = "SousType")
+ protected List<String> sousType;
+
+ /**
+ * Gets the value of the sousType property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the sousType property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSousType().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getSousType() {
+ if (sousType == null) {
+ sousType = new ArrayList<String>();
+ }
+ return this.sousType;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "typeTechnique"
+})
+@XmlRootElement(name = "GetListeTypesPourUtilisateurResponse")
+public class GetListeTypesPourUtilisateurResponse {
+
+ @XmlElement(name = "TypeTechnique")
+ protected List<String> typeTechnique;
+
+ /**
+ * Gets the value of the typeTechnique property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the typeTechnique property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTypeTechnique().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getTypeTechnique() {
+ if (typeTechnique == null) {
+ typeTechnique = new ArrayList<String>();
+ }
+ return this.typeTechnique;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "typeTechnique"
+})
+@XmlRootElement(name = "GetListeTypesResponse")
+public class GetListeTypesResponse {
+
+ @XmlElement(name = "TypeTechnique")
+ protected List<String> typeTechnique;
+
+ /**
+ * Gets the value of the typeTechnique property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the typeTechnique property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTypeTechnique().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getTypeTechnique() {
+ if (typeTechnique == null) {
+ typeTechnique = new ArrayList<String>();
+ }
+ return this.typeTechnique;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <all>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique"/>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType"/>
+ * </all>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+
+})
+@XmlRootElement(name = "GetMetaDonneesRequisesPourTypeSoustypeRequest")
+public class GetMetaDonneesRequisesPourTypeSoustypeRequest {
+
+ @XmlElement(name = "TypeTechnique", required = true)
+ protected String typeTechnique;
+ @XmlElement(name = "SousType", required = true)
+ protected String sousType;
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MetaDonnee" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MetaDonneeDefinition" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "metaDonnee"
+})
+@XmlRootElement(name = "GetMetaDonneesRequisesPourTypeSoustypeResponse")
+public class GetMetaDonneesRequisesPourTypeSoustypeResponse {
+
+ @XmlElement(name = "MetaDonnee")
+ protected List<MetaDonneeDefinition> metaDonnee;
+
+ /**
+ * Gets the value of the metaDonnee property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the metaDonnee property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getMetaDonnee().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link MetaDonneeDefinition }
+ *
+ *
+ */
+ public List<MetaDonneeDefinition> getMetaDonnee() {
+ if (metaDonnee == null) {
+ metaDonnee = new ArrayList<MetaDonneeDefinition>();
+ }
+ return this.metaDonnee;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LogDossier" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}LogDossier" minOccurs="0"/>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logDossier",
+ "messageRetour"
+})
+@XmlRootElement(name = "GetStatutTdTResponse")
+public class GetStatutTdTResponse {
+
+ @XmlElement(name = "LogDossier")
+ protected LogDossier logDossier;
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� logDossier.
+ *
+ * @return
+ * possible object is
+ * {@link LogDossier }
+ *
+ */
+ public LogDossier getLogDossier() {
+ return logDossier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� logDossier.
+ *
+ * @param value
+ * allowed object is
+ * {@link LogDossier }
+ *
+ */
+ public void setLogDossier(LogDossier value) {
+ this.logDossier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.HexBinaryAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Classe Java pour hexBinary complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="hexBinary">
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>hexBinary">
+ * <attribute ref="{http://www.w3.org/2005/05/xmlmime}contentType"/>
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "hexBinary", namespace = "http://www.w3.org/2005/05/xmlmime", propOrder = {
+ "value"
+})
+public class HexBinary {
+
+ @XmlValue
+ @XmlJavaTypeAdapter(HexBinaryAdapter.class)
+ @XmlSchemaType(name = "hexBinary")
+ protected byte[] value;
+ @XmlAttribute(name = "contentType", namespace = "http://www.w3.org/2005/05/xmlmime")
+ protected String contentType;
+
+ /**
+ * Obtient la valeur de la propri�t� value.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public byte[] getValue() {
+ return value;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� value.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(byte[] value) {
+ this.value = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� contentType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getContentType() {
+ return contentType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� contentType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setContentType(String value) {
+ this.contentType = value;
+ }
+
+}
--- /dev/null
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.bind.annotation.XmlSeeAlso;
+
+/**
+ * This class was generated by Apache CXF 2.7.5
+ * 2013-06-28T17:05:19.096+02:00
+ * Generated source version: 2.7.5
+ *
+ */
+@WebService(targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "InterfaceParapheur")
+@XmlSeeAlso({ObjectFactory.class})
+@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+public interface InterfaceParapheur {
+
+ @WebResult(name = "ArchiverDossierResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "ArchiverDossierResponse")
+ @WebMethod(operationName = "ArchiverDossier")
+ public ArchiverDossierResponse archiverDossier(
+ @WebParam(partName = "ArchiverDossierRequest", name = "ArchiverDossierRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ ArchiverDossierRequest archiverDossierRequest
+ );
+
+ @WebResult(name = "GetListeMetaDonneesResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetListeMetaDonneesResponse")
+ @WebMethod(operationName = "GetListeMetaDonnees")
+ public GetListeMetaDonneesResponse getListeMetaDonnees(
+ @WebParam(partName = "GetListeMetaDonneesRequest", name = "GetListeMetaDonneesRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.Object getListeMetaDonneesRequest
+ );
+
+ @WebResult(name = "GetCircuitPourUtilisateurResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetCircuitPourUtilisateurResponse")
+ @WebMethod(operationName = "GetCircuitPourUtilisateur")
+ public GetCircuitPourUtilisateurResponse getCircuitPourUtilisateur(
+ @WebParam(partName = "GetCircuitPourUtilisateurRequest", name = "GetCircuitPourUtilisateurRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ GetCircuitPourUtilisateurRequest getCircuitPourUtilisateurRequest
+ );
+
+ @WebResult(name = "GetClassificationActesTdtResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetClassificationActesTdtResponse")
+ @WebMethod(operationName = "GetClassificationActesTdt")
+ public GetClassificationActesTdtResponse getClassificationActesTdt(
+ @WebParam(partName = "GetClassificationActesTdtRequest", name = "GetClassificationActesTdtRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ GetClassificationActesTdtRequest getClassificationActesTdtRequest
+ );
+
+ @WebResult(name = "EffacerDossierRejeteResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "EffacerDossierRejeteResponse")
+ @WebMethod(operationName = "EffacerDossierRejete")
+ public EffacerDossierRejeteResponse effacerDossierRejete(
+ @WebParam(partName = "EffacerDossierRejeteRequest", name = "EffacerDossierRejeteRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String effacerDossierRejeteRequest
+ );
+
+ @WebResult(name = "GetDossierResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetDossierResponse")
+ @WebMethod(operationName = "GetDossier")
+ public GetDossierResponse getDossier(
+ @WebParam(partName = "GetDossierRequest", name = "GetDossierRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String getDossierRequest
+ );
+
+ @WebResult(name = "echoResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "echoResponse")
+ @WebMethod
+ public java.lang.String echo(
+ @WebParam(partName = "echoRequest", name = "echoRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String echoRequest
+ );
+
+ @WebResult(name = "GetCircuitResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetCircuitResponse")
+ @WebMethod(operationName = "GetCircuit")
+ public GetCircuitResponse getCircuit(
+ @WebParam(partName = "GetCircuitRequest", name = "GetCircuitRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ GetCircuitRequest getCircuitRequest
+ );
+
+ @WebResult(name = "GetListeSousTypesPourUtilisateurResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetListeSousTypesPourUtilisateurResponse")
+ @WebMethod(operationName = "GetListeSousTypesPourUtilisateur")
+ public GetListeSousTypesPourUtilisateurResponse getListeSousTypesPourUtilisateur(
+ @WebParam(partName = "GetListeSousTypesPourUtilisateurRequest", name = "GetListeSousTypesPourUtilisateurRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ GetListeSousTypesPourUtilisateurRequest getListeSousTypesPourUtilisateurRequest
+ );
+
+ @WebResult(name = "EnvoyerDossierMailSecuriseResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "EnvoyerDossierMailSecuriseResponse")
+ @WebMethod(operationName = "EnvoyerDossierMailSecurise")
+ public EnvoyerDossierMailSecuriseResponse envoyerDossierMailSecurise(
+ @WebParam(partName = "EnvoyerDossierMailSecuriseRequest", name = "EnvoyerDossierMailSecuriseRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ EnvoyerDossierMailSecuriseRequest envoyerDossierMailSecuriseRequest
+ );
+
+ @WebResult(name = "GetListeSousTypesResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetListeSousTypesResponse")
+ @WebMethod(operationName = "GetListeSousTypes")
+ public GetListeSousTypesResponse getListeSousTypes(
+ @WebParam(partName = "GetListeSousTypesRequest", name = "GetListeSousTypesRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String getListeSousTypesRequest
+ );
+
+ @WebResult(name = "EnvoyerDossierPESResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "EnvoyerDossierPESResponse")
+ @WebMethod(operationName = "EnvoyerDossierPES")
+ public EnvoyerDossierPESResponse envoyerDossierPES(
+ @WebParam(partName = "EnvoyerDossierPESRequest", name = "EnvoyerDossierPESRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String envoyerDossierPESRequest
+ );
+
+ @WebResult(name = "CreerDossierPESResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "CreerDossierPESResponse")
+ @WebMethod(operationName = "CreerDossierPES")
+ public CreerDossierPESResponse creerDossierPES(
+ @WebParam(partName = "CreerDossierPESRequest", name = "CreerDossierPESRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ CreerDossierPESRequest creerDossierPESRequest
+ );
+
+ @WebResult(name = "RechercherDossiersResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "RechercherDossiersResponse")
+ @WebMethod(operationName = "RechercherDossiers")
+ public RechercherDossiersResponse rechercherDossiers(
+ @WebParam(partName = "RechercherDossiersRequest", name = "RechercherDossiersRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ RechercherDossiersRequest rechercherDossiersRequest
+ );
+
+ @WebResult(name = "GetMetaDonneesRequisesPourTypeSoustypeResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetMetaDonneesRequisesPourTypeSoustypeResponse")
+ @WebMethod(operationName = "GetMetaDonneesRequisesPourTypeSoustype")
+ public GetMetaDonneesRequisesPourTypeSoustypeResponse getMetaDonneesRequisesPourTypeSoustype(
+ @WebParam(partName = "GetMetaDonneesRequisesPourTypeSoustypeRequest", name = "GetMetaDonneesRequisesPourTypeSoustypeRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ GetMetaDonneesRequisesPourTypeSoustypeRequest getMetaDonneesRequisesPourTypeSoustypeRequest
+ );
+
+ @WebResult(name = "ExercerDroitRemordDossierResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "ExercerDroitRemordDossierResponse")
+ @WebMethod(operationName = "ExercerDroitRemordDossier")
+ public ExercerDroitRemordDossierResponse exercerDroitRemordDossier(
+ @WebParam(partName = "ExercerDroitRemordDossierRequest", name = "ExercerDroitRemordDossierRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String exercerDroitRemordDossierRequest
+ );
+
+ @WebResult(name = "GetHistoDossierResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetHistoDossierResponse")
+ @WebMethod(operationName = "GetHistoDossier")
+ public GetHistoDossierResponse getHistoDossier(
+ @WebParam(partName = "GetHistoDossierRequest", name = "GetHistoDossierRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String getHistoDossierRequest
+ );
+
+ @WebResult(name = "CreerDossierResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "CreerDossierResponse")
+ @WebMethod(operationName = "CreerDossier")
+ public CreerDossierResponse creerDossier(
+ @WebParam(partName = "CreerDossierRequest", name = "CreerDossierRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ CreerDossierRequest creerDossierRequest
+ );
+
+ @WebResult(name = "ForcerEtapeResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "ForcerEtapeResponse")
+ @WebMethod(operationName = "ForcerEtape")
+ public ForcerEtapeResponse forcerEtape(
+ @WebParam(partName = "ForcerEtapeRequest", name = "ForcerEtapeRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ ForcerEtapeRequest forcerEtapeRequest
+ );
+
+ @WebResult(name = "GetStatutTdTResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetStatutTdTResponse")
+ @WebMethod(operationName = "GetStatutTdT")
+ public GetStatutTdTResponse getStatutTdT(
+ @WebParam(partName = "GetStatutTdTRequest", name = "GetStatutTdTRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String getStatutTdTRequest
+ );
+
+ @WebResult(name = "EnvoyerDossierTdTResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "EnvoyerDossierTdTResponse")
+ @WebMethod(operationName = "EnvoyerDossierTdT")
+ public EnvoyerDossierTdTResponse envoyerDossierTdT(
+ @WebParam(partName = "EnvoyerDossierTdTRequest", name = "EnvoyerDossierTdTRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String envoyerDossierTdTRequest
+ );
+
+ @WebResult(name = "GetListeTypesPourUtilisateurResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetListeTypesPourUtilisateurResponse")
+ @WebMethod(operationName = "GetListeTypesPourUtilisateur")
+ public GetListeTypesPourUtilisateurResponse getListeTypesPourUtilisateur(
+ @WebParam(partName = "GetListeTypesPourUtilisateurRequest", name = "GetListeTypesPourUtilisateurRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String getListeTypesPourUtilisateurRequest
+ );
+
+ @WebResult(name = "IsUtilisateurExisteResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "IsUtilisateurExisteResponse")
+ @WebMethod(operationName = "IsUtilisateurExiste")
+ public IsUtilisateurExisteResponse isUtilisateurExiste(
+ @WebParam(partName = "IsUtilisateurExisteRequest", name = "IsUtilisateurExisteRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.String isUtilisateurExisteRequest
+ );
+
+ @WebResult(name = "GetListeTypesResponse", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", partName = "GetListeTypesResponse")
+ @WebMethod(operationName = "GetListeTypes")
+ public GetListeTypesResponse getListeTypes(
+ @WebParam(partName = "GetListeTypesRequest", name = "GetListeTypesRequest", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+ java.lang.Object getListeTypesRequest
+ );
+}
--- /dev/null
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+/**
+ * This class was generated by Apache CXF 2.7.5 2013-06-28T17:05:19.111+02:00 Generated source version: 2.7.5
+ *
+ */
+@WebServiceClient(name = "InterfaceParapheurService", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+public class InterfaceParapheurService extends Service {
+
+ public final static URL WSDL_LOCATION;
+
+ public final static QName SERVICE = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "InterfaceParapheurService");
+ public final static QName InterfaceParapheurSoap11 = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "InterfaceParapheurSoap11");
+ static {
+ URL url = null;
+ try {
+ url = new URL("file:/C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/iparapheur.wsdl");
+ } catch (MalformedURLException e) {
+ java.util.logging.Logger.getLogger(InterfaceParapheurService.class.getName()).log(java.util.logging.Level.INFO,
+ "Can not initialize the default wsdl from {0}",
+ "file:/C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/iparapheur.wsdl");
+ }
+ WSDL_LOCATION = url;
+ }
+
+ public InterfaceParapheurService(URL wsdlLocation) {
+ super(wsdlLocation, SERVICE);
+ }
+
+ public InterfaceParapheurService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public InterfaceParapheurService() {
+ super(WSDL_LOCATION, SERVICE);
+ }
+
+ /**
+ *
+ * @return returns InterfaceParapheur
+ */
+ @WebEndpoint(name = "InterfaceParapheurSoap11")
+ public InterfaceParapheur getInterfaceParapheurSoap11() {
+ return super.getPort(InterfaceParapheurSoap11, InterfaceParapheur.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return returns InterfaceParapheur
+ */
+ @WebEndpoint(name = "InterfaceParapheurSoap11")
+ public InterfaceParapheur getInterfaceParapheurSoap11(WebServiceFeature... features) {
+ return super.getPort(InterfaceParapheurSoap11, InterfaceParapheur.class, features);
+ }
+
+}
--- /dev/null
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+/**
+ * This class was generated by Apache CXF 2.7.5 2013-06-28T17:05:19.111+02:00 Generated source version: 2.7.5
+ *
+ */
+@WebServiceClient(name = "InterfaceParapheurServiceNoMTOM", targetNamespace = "http://www.adullact.org/spring-ws/iparapheur/1.0")
+public class InterfaceParapheurServiceNoMTOM extends Service {
+
+ public final static URL WSDL_LOCATION;
+
+ public final static QName SERVICE = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "InterfaceParapheurServiceNoMTOM");
+ public final static QName InterfaceParapheurSoap11NoMtom = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0",
+ "InterfaceParapheurSoap11NoMtom");
+ static {
+ URL url = null;
+ try {
+ url = new URL("file:/C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/iparapheur.wsdl");
+ } catch (MalformedURLException e) {
+ java.util.logging.Logger.getLogger(InterfaceParapheurServiceNoMTOM.class.getName()).log(java.util.logging.Level.INFO,
+ "Can not initialize the default wsdl from {0}",
+ "file:/C:/Users/BUYUKKALENDER-M/Documents/Projets/MDB/0.Realisation/parapheur_config/iparapheur.wsdl");
+ }
+ WSDL_LOCATION = url;
+ }
+
+ public InterfaceParapheurServiceNoMTOM(URL wsdlLocation) {
+ super(wsdlLocation, SERVICE);
+ }
+
+ public InterfaceParapheurServiceNoMTOM(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public InterfaceParapheurServiceNoMTOM() {
+ super(WSDL_LOCATION, SERVICE);
+ }
+
+ /**
+ *
+ * @return returns InterfaceParapheur
+ */
+ @WebEndpoint(name = "InterfaceParapheurSoap11NoMtom")
+ public InterfaceParapheur getInterfaceParapheurSoap11NoMtom() {
+ return super.getPort(InterfaceParapheurSoap11NoMtom, InterfaceParapheur.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return returns InterfaceParapheur
+ */
+ @WebEndpoint(name = "InterfaceParapheurSoap11NoMtom")
+ public InterfaceParapheur getInterfaceParapheurSoap11NoMtom(WebServiceFeature... features) {
+ return super.getPort(InterfaceParapheurSoap11NoMtom, InterfaceParapheur.class, features);
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MessageRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MessageRetour" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "messageRetour"
+})
+@XmlRootElement(name = "IsUtilisateurExisteResponse")
+public class IsUtilisateurExisteResponse {
+
+ @XmlElement(name = "MessageRetour")
+ protected MessageRetour messageRetour;
+
+ /**
+ * Obtient la valeur de la propri�t� messageRetour.
+ *
+ * @return
+ * possible object is
+ * {@link MessageRetour }
+ *
+ */
+ public MessageRetour getMessageRetour() {
+ return messageRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� messageRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link MessageRetour }
+ *
+ */
+ public void setMessageRetour(MessageRetour value) {
+ this.messageRetour = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * definition precise d'un enregistrement histogramme d'un dossier:
+ * date/heure, nom(=ID), �tat(non-lu, lu, sign�, rejet�..., �tats TdT), annotation publique?, + flag d'accessibilite "OK/KO/Recuperable" positionn� si utilisation via "RechercherDossier"
+ *
+ *
+ * <p>Classe Java pour LogDossier complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="LogDossier">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="timestamp" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ * <element name="nom" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID"/>
+ * <element name="status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="annotation" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="accessible" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LogDossier", propOrder = {
+ "timestamp",
+ "nom",
+ "status",
+ "annotation",
+ "accessible"
+})
+public class LogDossier {
+
+ @XmlElement(required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar timestamp;
+ @XmlElement(required = true)
+ protected String nom;
+ @XmlElement(required = true)
+ protected String status;
+ @XmlElement(required = true)
+ protected String annotation;
+ @XmlElement(required = true)
+ protected String accessible;
+
+ /**
+ * Obtient la valeur de la propri�t� timestamp.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� timestamp.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setTimestamp(XMLGregorianCalendar value) {
+ this.timestamp = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nom.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNom() {
+ return nom;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nom.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNom(String value) {
+ this.nom = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� status.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� status.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� annotation.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAnnotation() {
+ return annotation;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annotation.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAnnotation(String value) {
+ this.annotation = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� accessible.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAccessible() {
+ return accessible;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� accessible.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAccessible(String value) {
+ this.accessible = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour MessageRetour complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="MessageRetour">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="codeRetour" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}codeRetour"/>
+ * <element name="message" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="severite" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MessageRetour", propOrder = {
+ "codeRetour",
+ "message",
+ "severite"
+})
+public class MessageRetour {
+
+ @XmlElement(required = true)
+ protected String codeRetour;
+ @XmlElement(required = true)
+ protected String message;
+ @XmlElement(required = true)
+ protected String severite;
+
+ /**
+ * Obtient la valeur de la propri�t� codeRetour.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCodeRetour() {
+ return codeRetour;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeRetour.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCodeRetour(String value) {
+ this.codeRetour = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� message.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� message.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMessage(String value) {
+ this.message = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� severite.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSeverite() {
+ return severite;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� severite.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSeverite(String value) {
+ this.severite = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Donnees necessaires pour la teletransmission des ACTES au controle de legalite. Le numero d'ACTE ne fait pas partie des parametres, c'est dossierID.
+ *
+ * <p>Classe Java pour metaDataTdtACTES complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="metaDataTdtACTES">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="nature" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="classification" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="date" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="objet" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "metaDataTdtACTES", propOrder = {
+ "nature",
+ "classification",
+ "date",
+ "objet"
+})
+public class MetaDataTdtACTES {
+
+ @XmlElement(required = true)
+ protected String nature;
+ @XmlElement(required = true)
+ protected String classification;
+ @XmlElement(required = true)
+ protected String date;
+ @XmlElement(required = true)
+ protected String objet;
+
+ /**
+ * Obtient la valeur de la propri�t� nature.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNature() {
+ return nature;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nature.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNature(String value) {
+ this.nature = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� classification.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getClassification() {
+ return classification;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� classification.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setClassification(String value) {
+ this.classification = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� date.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDate() {
+ return date;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� date.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDate(String value) {
+ this.date = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� objet.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getObjet() {
+ return objet;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� objet.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setObjet(String value) {
+ this.objet = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * Contenu d'une m�ta-donn�e
+ *
+ *
+ * <p>Classe Java pour MetaDonnee complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="MetaDonnee">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="nom" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeNomCourt"/>
+ * <element name="valeur" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MetaDonnee", propOrder = {
+ "nom",
+ "valeur"
+})
+public class MetaDonnee {
+
+ @XmlElement(required = true)
+ protected String nom;
+ @XmlElement(required = true)
+ protected String valeur;
+
+ /**
+ * Obtient la valeur de la propri�t� nom.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNom() {
+ return nom;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nom.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNom(String value) {
+ this.nom = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� valeur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValeur() {
+ return valeur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� valeur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValeur(String value) {
+ this.valeur = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * D�finition de m�ta donn�e dans le dictionnaire du mod�le de contenu dynamique.
+ *
+ * <p>Classe Java pour MetaDonneeDefinition complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="MetaDonneeDefinition">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="nomCourt" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeNomCourt"/>
+ * <element name="nomLong" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="nature" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}NatureMetaDonnee"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MetaDonneeDefinition", propOrder = {
+ "nomCourt",
+ "nomLong",
+ "nature"
+})
+public class MetaDonneeDefinition {
+
+ @XmlElement(required = true)
+ protected String nomCourt;
+ @XmlElement(required = true)
+ protected String nomLong;
+ @XmlElement(required = true)
+ protected NatureMetaDonnee nature;
+
+ /**
+ * Obtient la valeur de la propri�t� nomCourt.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomCourt() {
+ return nomCourt;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomCourt.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomCourt(String value) {
+ this.nomCourt = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomLong.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomLong() {
+ return nomLong;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomLong.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomLong(String value) {
+ this.nomLong = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nature.
+ *
+ * @return
+ * possible object is
+ * {@link NatureMetaDonnee }
+ *
+ */
+ public NatureMetaDonnee getNature() {
+ return nature;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nature.
+ *
+ * @param value
+ * allowed object is
+ * {@link NatureMetaDonnee }
+ *
+ */
+ public void setNature(NatureMetaDonnee value) {
+ this.nature = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour NatureMetaDonnee.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ * <p>
+ * <pre>
+ * <simpleType name="NatureMetaDonnee">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <whiteSpace value="collapse"/>
+ * <enumeration value="STRING"/>
+ * <enumeration value="INT"/>
+ * <enumeration value="FLOAT"/>
+ * <enumeration value="DATE"/>
+ * <enumeration value="BOOLEAN"/>
+ * </restriction>
+ * </simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "NatureMetaDonnee")
+@XmlEnum
+public enum NatureMetaDonnee {
+
+ STRING,
+ INT,
+ FLOAT,
+ DATE,
+ BOOLEAN;
+
+ public String value() {
+ return name();
+ }
+
+ public static NatureMetaDonnee fromValue(String v) {
+ return valueOf(v);
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the fr.mbdx.parapheur.client.impl.cxf package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _EchoRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "echoRequest");
+ private final static QName _GetListeMetaDonneesRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "GetListeMetaDonneesRequest");
+ private final static QName _GetListeTypesPourUtilisateurRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "GetListeTypesPourUtilisateurRequest");
+ private final static QName _EnvoyerDossierTdTRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "EnvoyerDossierTdTRequest");
+ private final static QName _GetDossierRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "GetDossierRequest");
+ private final static QName _IsUtilisateurExisteRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "IsUtilisateurExisteRequest");
+ private final static QName _GetListeSousTypesRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "GetListeSousTypesRequest");
+ private final static QName _EffacerDossierRejeteRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "EffacerDossierRejeteRequest");
+ private final static QName _EnvoyerDossierPESRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "EnvoyerDossierPESRequest");
+ private final static QName _GetListeTypesRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "GetListeTypesRequest");
+ private final static QName _GetHistoDossierRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "GetHistoDossierRequest");
+ private final static QName _EchoResponse_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "echoResponse");
+ private final static QName _GetStatutTdTRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "GetStatutTdTRequest");
+ private final static QName _ExercerDroitRemordDossierRequest_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "ExercerDroitRemordDossierRequest");
+ private final static QName _ArchiverDossierResponseURL_QNAME = new QName("http://www.adullact.org/spring-ws/iparapheur/1.0", "URL");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: fr.mbdx.parapheur.client.impl.cxf
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link Base64Binary }
+ *
+ */
+ public Base64Binary createBase64Binary() {
+ return new Base64Binary();
+ }
+
+ /**
+ * Create an instance of {@link HexBinary }
+ *
+ */
+ public HexBinary createHexBinary() {
+ return new HexBinary();
+ }
+
+ /**
+ * Create an instance of {@link ForcerEtapeRequest }
+ *
+ */
+ public ForcerEtapeRequest createForcerEtapeRequest() {
+ return new ForcerEtapeRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetListeSousTypesResponse }
+ *
+ */
+ public GetListeSousTypesResponse createGetListeSousTypesResponse() {
+ return new GetListeSousTypesResponse();
+ }
+
+ /**
+ * Create an instance of {@link RechercherDossiersResponse }
+ *
+ */
+ public RechercherDossiersResponse createRechercherDossiersResponse() {
+ return new RechercherDossiersResponse();
+ }
+
+ /**
+ * Create an instance of {@link LogDossier }
+ *
+ */
+ public LogDossier createLogDossier() {
+ return new LogDossier();
+ }
+
+ /**
+ * Create an instance of {@link ArchiverDossierRequest }
+ *
+ */
+ public ArchiverDossierRequest createArchiverDossierRequest() {
+ return new ArchiverDossierRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetClassificationActesTdtResponse }
+ *
+ */
+ public GetClassificationActesTdtResponse createGetClassificationActesTdtResponse() {
+ return new GetClassificationActesTdtResponse();
+ }
+
+ /**
+ * Create an instance of {@link TypeDoc }
+ *
+ */
+ public TypeDoc createTypeDoc() {
+ return new TypeDoc();
+ }
+
+ /**
+ * Create an instance of {@link MessageRetour }
+ *
+ */
+ public MessageRetour createMessageRetour() {
+ return new MessageRetour();
+ }
+
+ /**
+ * Create an instance of {@link EffacerDossierRejeteResponse }
+ *
+ */
+ public EffacerDossierRejeteResponse createEffacerDossierRejeteResponse() {
+ return new EffacerDossierRejeteResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetListeMetaDonneesResponse }
+ *
+ */
+ public GetListeMetaDonneesResponse createGetListeMetaDonneesResponse() {
+ return new GetListeMetaDonneesResponse();
+ }
+
+ /**
+ * Create an instance of {@link MetaDonneeDefinition }
+ *
+ */
+ public MetaDonneeDefinition createMetaDonneeDefinition() {
+ return new MetaDonneeDefinition();
+ }
+
+ /**
+ * Create an instance of {@link GetListeSousTypesPourUtilisateurRequest }
+ *
+ */
+ public GetListeSousTypesPourUtilisateurRequest createGetListeSousTypesPourUtilisateurRequest() {
+ return new GetListeSousTypesPourUtilisateurRequest();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerDossierMailSecuriseRequest }
+ *
+ */
+ public EnvoyerDossierMailSecuriseRequest createEnvoyerDossierMailSecuriseRequest() {
+ return new EnvoyerDossierMailSecuriseRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetDossierResponse }
+ *
+ */
+ public GetDossierResponse createGetDossierResponse() {
+ return new GetDossierResponse();
+ }
+
+ /**
+ * Create an instance of {@link TypeDocAnnexes }
+ *
+ */
+ public TypeDocAnnexes createTypeDocAnnexes() {
+ return new TypeDocAnnexes();
+ }
+
+ /**
+ * Create an instance of {@link TypeMetaDonnees }
+ *
+ */
+ public TypeMetaDonnees createTypeMetaDonnees() {
+ return new TypeMetaDonnees();
+ }
+
+ /**
+ * Create an instance of {@link CreerDossierRequest }
+ *
+ */
+ public CreerDossierRequest createCreerDossierRequest() {
+ return new CreerDossierRequest();
+ }
+
+ /**
+ * Create an instance of {@link MetaDataTdtACTES }
+ *
+ */
+ public MetaDataTdtACTES createMetaDataTdtACTES() {
+ return new MetaDataTdtACTES();
+ }
+
+ /**
+ * Create an instance of {@link TypeCircuit }
+ *
+ */
+ public TypeCircuit createTypeCircuit() {
+ return new TypeCircuit();
+ }
+
+ /**
+ * Create an instance of {@link GetListeSousTypesPourUtilisateurResponse }
+ *
+ */
+ public GetListeSousTypesPourUtilisateurResponse createGetListeSousTypesPourUtilisateurResponse() {
+ return new GetListeSousTypesPourUtilisateurResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetCircuitPourUtilisateurResponse }
+ *
+ */
+ public GetCircuitPourUtilisateurResponse createGetCircuitPourUtilisateurResponse() {
+ return new GetCircuitPourUtilisateurResponse();
+ }
+
+ /**
+ * Create an instance of {@link EtapeCircuit }
+ *
+ */
+ public EtapeCircuit createEtapeCircuit() {
+ return new EtapeCircuit();
+ }
+
+ /**
+ * Create an instance of {@link GetListeTypesPourUtilisateurResponse }
+ *
+ */
+ public GetListeTypesPourUtilisateurResponse createGetListeTypesPourUtilisateurResponse() {
+ return new GetListeTypesPourUtilisateurResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetMetaDonneesRequisesPourTypeSoustypeResponse }
+ *
+ */
+ public GetMetaDonneesRequisesPourTypeSoustypeResponse createGetMetaDonneesRequisesPourTypeSoustypeResponse() {
+ return new GetMetaDonneesRequisesPourTypeSoustypeResponse();
+ }
+
+ /**
+ * Create an instance of {@link CreerDossierPESResponse }
+ *
+ */
+ public CreerDossierPESResponse createCreerDossierPESResponse() {
+ return new CreerDossierPESResponse();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerDossierPESResponse }
+ *
+ */
+ public EnvoyerDossierPESResponse createEnvoyerDossierPESResponse() {
+ return new EnvoyerDossierPESResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetCircuitResponse }
+ *
+ */
+ public GetCircuitResponse createGetCircuitResponse() {
+ return new GetCircuitResponse();
+ }
+
+ /**
+ * Create an instance of {@link RechercherDossiersRequest }
+ *
+ */
+ public RechercherDossiersRequest createRechercherDossiersRequest() {
+ return new RechercherDossiersRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetClassificationActesTdtRequest }
+ *
+ */
+ public GetClassificationActesTdtRequest createGetClassificationActesTdtRequest() {
+ return new GetClassificationActesTdtRequest();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerDossierTdTResponse }
+ *
+ */
+ public EnvoyerDossierTdTResponse createEnvoyerDossierTdTResponse() {
+ return new EnvoyerDossierTdTResponse();
+ }
+
+ /**
+ * Create an instance of {@link ExercerDroitRemordDossierResponse }
+ *
+ */
+ public ExercerDroitRemordDossierResponse createExercerDroitRemordDossierResponse() {
+ return new ExercerDroitRemordDossierResponse();
+ }
+
+ /**
+ * Create an instance of {@link ForcerEtapeResponse }
+ *
+ */
+ public ForcerEtapeResponse createForcerEtapeResponse() {
+ return new ForcerEtapeResponse();
+ }
+
+ /**
+ * Create an instance of {@link IsUtilisateurExisteResponse }
+ *
+ */
+ public IsUtilisateurExisteResponse createIsUtilisateurExisteResponse() {
+ return new IsUtilisateurExisteResponse();
+ }
+
+ /**
+ * Create an instance of {@link CreerDossierResponse }
+ *
+ */
+ public CreerDossierResponse createCreerDossierResponse() {
+ return new CreerDossierResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetCircuitPourUtilisateurRequest }
+ *
+ */
+ public GetCircuitPourUtilisateurRequest createGetCircuitPourUtilisateurRequest() {
+ return new GetCircuitPourUtilisateurRequest();
+ }
+
+ /**
+ * Create an instance of {@link CreerDossierPESRequest }
+ *
+ */
+ public CreerDossierPESRequest createCreerDossierPESRequest() {
+ return new CreerDossierPESRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetCircuitRequest }
+ *
+ */
+ public GetCircuitRequest createGetCircuitRequest() {
+ return new GetCircuitRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetStatutTdTResponse }
+ *
+ */
+ public GetStatutTdTResponse createGetStatutTdTResponse() {
+ return new GetStatutTdTResponse();
+ }
+
+ /**
+ * Create an instance of {@link ArchiverDossierResponse }
+ *
+ */
+ public ArchiverDossierResponse createArchiverDossierResponse() {
+ return new ArchiverDossierResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetListeTypesResponse }
+ *
+ */
+ public GetListeTypesResponse createGetListeTypesResponse() {
+ return new GetListeTypesResponse();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerDossierMailSecuriseResponse }
+ *
+ */
+ public EnvoyerDossierMailSecuriseResponse createEnvoyerDossierMailSecuriseResponse() {
+ return new EnvoyerDossierMailSecuriseResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetMetaDonneesRequisesPourTypeSoustypeRequest }
+ *
+ */
+ public GetMetaDonneesRequisesPourTypeSoustypeRequest createGetMetaDonneesRequisesPourTypeSoustypeRequest() {
+ return new GetMetaDonneesRequisesPourTypeSoustypeRequest();
+ }
+
+ /**
+ * Create an instance of {@link GetHistoDossierResponse }
+ *
+ */
+ public GetHistoDossierResponse createGetHistoDossierResponse() {
+ return new GetHistoDossierResponse();
+ }
+
+ /**
+ * Create an instance of {@link MetaDonnee }
+ *
+ */
+ public MetaDonnee createMetaDonnee() {
+ return new MetaDonnee();
+ }
+
+ /**
+ * Create an instance of {@link DocAnnexe }
+ *
+ */
+ public DocAnnexe createDocAnnexe() {
+ return new DocAnnexe();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "echoRequest")
+ public JAXBElement<String> createEchoRequest(String value) {
+ return new JAXBElement<String>(_EchoRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "GetListeMetaDonneesRequest")
+ public JAXBElement<Object> createGetListeMetaDonneesRequest(Object value) {
+ return new JAXBElement<Object>(_GetListeMetaDonneesRequest_QNAME, Object.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "GetListeTypesPourUtilisateurRequest")
+ public JAXBElement<String> createGetListeTypesPourUtilisateurRequest(String value) {
+ return new JAXBElement<String>(_GetListeTypesPourUtilisateurRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "EnvoyerDossierTdTRequest")
+ public JAXBElement<String> createEnvoyerDossierTdTRequest(String value) {
+ return new JAXBElement<String>(_EnvoyerDossierTdTRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "GetDossierRequest")
+ public JAXBElement<String> createGetDossierRequest(String value) {
+ return new JAXBElement<String>(_GetDossierRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "IsUtilisateurExisteRequest")
+ public JAXBElement<String> createIsUtilisateurExisteRequest(String value) {
+ return new JAXBElement<String>(_IsUtilisateurExisteRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "GetListeSousTypesRequest")
+ public JAXBElement<String> createGetListeSousTypesRequest(String value) {
+ return new JAXBElement<String>(_GetListeSousTypesRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "EffacerDossierRejeteRequest")
+ public JAXBElement<String> createEffacerDossierRejeteRequest(String value) {
+ return new JAXBElement<String>(_EffacerDossierRejeteRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "EnvoyerDossierPESRequest")
+ public JAXBElement<String> createEnvoyerDossierPESRequest(String value) {
+ return new JAXBElement<String>(_EnvoyerDossierPESRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "GetListeTypesRequest")
+ public JAXBElement<Object> createGetListeTypesRequest(Object value) {
+ return new JAXBElement<Object>(_GetListeTypesRequest_QNAME, Object.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "GetHistoDossierRequest")
+ public JAXBElement<String> createGetHistoDossierRequest(String value) {
+ return new JAXBElement<String>(_GetHistoDossierRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "echoResponse")
+ public JAXBElement<String> createEchoResponse(String value) {
+ return new JAXBElement<String>(_EchoResponse_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "GetStatutTdTRequest")
+ public JAXBElement<String> createGetStatutTdTRequest(String value) {
+ return new JAXBElement<String>(_GetStatutTdTRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "ExercerDroitRemordDossierRequest")
+ public JAXBElement<String> createExercerDroitRemordDossierRequest(String value) {
+ return new JAXBElement<String>(_ExercerDroitRemordDossierRequest_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", name = "URL", scope = ArchiverDossierResponse.class)
+ public JAXBElement<String> createArchiverDossierResponseURL(String value) {
+ return new JAXBElement<String>(_ArchiverDossierResponseURL_QNAME, String.class, ArchiverDossierResponse.class, value);
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TypeTechnique" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}TypeTechnique" minOccurs="0"/>
+ * <element name="SousType" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}SousType" minOccurs="0"/>
+ * <element name="Status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="NombreDossiers" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
+ * <element name="DossierID" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DossierID" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "typeTechnique",
+ "sousType",
+ "status",
+ "nombreDossiers",
+ "dossierID"
+})
+@XmlRootElement(name = "RechercherDossiersRequest")
+public class RechercherDossiersRequest {
+
+ @XmlElement(name = "TypeTechnique")
+ protected String typeTechnique;
+ @XmlElement(name = "SousType")
+ protected String sousType;
+ @XmlElement(name = "Status")
+ protected String status;
+ @XmlElement(name = "NombreDossiers")
+ protected BigInteger nombreDossiers;
+ @XmlElement(name = "DossierID")
+ protected List<String> dossierID;
+
+ /**
+ * Obtient la valeur de la propri�t� typeTechnique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTypeTechnique() {
+ return typeTechnique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� typeTechnique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTypeTechnique(String value) {
+ this.typeTechnique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sousType.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSousType() {
+ return sousType;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sousType.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSousType(String value) {
+ this.sousType = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� status.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� status.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nombreDossiers.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getNombreDossiers() {
+ return nombreDossiers;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nombreDossiers.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setNombreDossiers(BigInteger value) {
+ this.nombreDossiers = value;
+ }
+
+ /**
+ * Gets the value of the dossierID property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the dossierID property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getDossierID().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getDossierID() {
+ if (dossierID == null) {
+ dossierID = new ArrayList<String>();
+ }
+ return this.dossierID;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="LogDossier" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}LogDossier" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logDossier"
+})
+@XmlRootElement(name = "RechercherDossiersResponse")
+public class RechercherDossiersResponse {
+
+ @XmlElement(name = "LogDossier")
+ protected List<LogDossier> logDossier;
+
+ /**
+ * Gets the value of the logDossier property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the logDossier property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getLogDossier().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link LogDossier }
+ *
+ *
+ */
+ public List<LogDossier> getLogDossier() {
+ if (logDossier == null) {
+ logDossier = new ArrayList<LogDossier>();
+ }
+ return this.logDossier;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * D�finition dynamique de circuit
+ *
+ * <p>Classe Java pour TypeCircuit complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="TypeCircuit">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EtapeCircuit" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}EtapeCircuit" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TypeCircuit", propOrder = {
+ "etapeCircuit"
+})
+public class TypeCircuit {
+
+ @XmlElement(name = "EtapeCircuit")
+ protected List<EtapeCircuit> etapeCircuit;
+
+ /**
+ * Gets the value of the etapeCircuit property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the etapeCircuit property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getEtapeCircuit().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link EtapeCircuit }
+ *
+ *
+ */
+ public List<EtapeCircuit> getEtapeCircuit() {
+ if (etapeCircuit == null) {
+ etapeCircuit = new ArrayList<EtapeCircuit>();
+ }
+ return this.etapeCircuit;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour TypeDoc complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="TypeDoc">
+ * <simpleContent>
+ * <restriction base="<http://www.w3.org/2005/05/xmlmime>base64Binary">
+ * <attribute ref="{http://www.w3.org/2005/05/xmlmime}contentType use="required""/>
+ * </restriction>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TypeDoc")
+public class TypeDoc
+ extends Base64Binary
+{
+
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour TypeDocAnnexes complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="TypeDocAnnexes">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="DocAnnexe" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}DocAnnexe" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TypeDocAnnexes", propOrder = {
+ "docAnnexe"
+})
+public class TypeDocAnnexes {
+
+ @XmlElement(name = "DocAnnexe")
+ protected List<DocAnnexe> docAnnexe;
+
+ /**
+ * Gets the value of the docAnnexe property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the docAnnexe property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getDocAnnexe().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link DocAnnexe }
+ *
+ *
+ */
+ public List<DocAnnexe> getDocAnnexe() {
+ if (docAnnexe == null) {
+ docAnnexe = new ArrayList<DocAnnexe>();
+ }
+ return this.docAnnexe;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour TypeMetaDonnees complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="TypeMetaDonnees">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MetaDonnee" type="{http://www.adullact.org/spring-ws/iparapheur/1.0}MetaDonnee" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TypeMetaDonnees", propOrder = {
+ "metaDonnee"
+})
+public class TypeMetaDonnees {
+
+ @XmlElement(name = "MetaDonnee")
+ protected List<MetaDonnee> metaDonnee;
+
+ /**
+ * Gets the value of the metaDonnee property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the metaDonnee property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getMetaDonnee().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link MetaDonnee }
+ *
+ *
+ */
+ public List<MetaDonnee> getMetaDonnee() {
+ if (metaDonnee == null) {
+ metaDonnee = new ArrayList<MetaDonnee>();
+ }
+ return this.metaDonnee;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.parapheur.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour Visibilite.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ * <p>
+ * <pre>
+ * <simpleType name="Visibilite">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <whiteSpace value="collapse"/>
+ * <enumeration value="PUBLIC"/>
+ * <enumeration value="SERVICE"/>
+ * <enumeration value="CONFIDENTIEL"/>
+ * </restriction>
+ * </simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "Visibilite")
+@XmlEnum
+public enum Visibilite {
+
+ PUBLIC,
+ SERVICE,
+ CONFIDENTIEL;
+
+ public String value() {
+ return name();
+ }
+
+ public static Visibilite fromValue(String v) {
+ return valueOf(v);
+ }
+
+}
--- /dev/null
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.adullact.org/spring-ws/iparapheur/1.0", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package fr.mbdx.parapheur.client.impl.cxf;
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.parapheur.client.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.hamcrest.core.IsNull;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import fr.mbdx.parapheur.client.Client;
+import fr.mbdx.parapheur.client.Dossier;
+import fr.mbdx.parapheur.client.LogDossier;
+import fr.mbdx.parapheur.client.Statut;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration
+public class ClientTest {
+
+ @Autowired
+ Client client;
+
+ @Autowired
+ Dossier dossier;
+
+ @Resource(name = "listeDossiers")
+ List<String> listeDossiers;
+
+ @BeforeClass
+ public static void onlyOnce() {
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {
+ // Permet de débugger la session SSL
+ // System.setProperty("javax.net.debug" , "all");
+ client.setUp();
+ }
+
+ @Test
+ public void testEcho() {
+ try {
+ String message = "ciao";
+ String echo = client.echo(message);
+ assertTrue(echo.matches("(.*) m'a dit: \"" + message + "\"!"));
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testCreerDossier() {
+ try {
+ boolean success = client.creerDossier(dossier);
+ assertTrue(success);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ // @Ignore
+ public void testGetDossier() {
+ try {
+ Dossier ret = client.getDossier(dossier.getDossierID());
+ assertNotNull(ret);
+ assertEquals(ret.getDossierID(), ret.getDossierID());
+ assertEquals(ret.getTypeTechnique(), ret.getTypeTechnique());
+ assertEquals(ret.getSousType(), ret.getSousType());
+ assertThat(ret.getDocumentPrincipalContent().getValue(), IsNull.notNullValue());
+
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testGetHistoDossier() {
+ try {
+ List<LogDossier> lst = client.getHistoDossier(dossier.getDossierID());
+ assertFalse(lst.isEmpty());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testArchiverDossier() {
+ try {
+ boolean success = client.archiverDossier(dossier.getDossierID());
+ assertTrue(success);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testEffacerDossier() {
+ try {
+ boolean success = client.effacerDossier(dossier.getDossierID());
+ assertTrue(success);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testEffacerDossierRejete() {
+ try {
+ boolean success = client.effacerDossierRejete(dossier.getDossierID());
+ assertTrue(success);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testRechercherDossiers() {
+ try {
+ List<LogDossier> lst = client.rechercherDossiers(dossier.getTypeTechnique(), dossier.getSousType(), Statut.NonLu);
+ assertFalse(lst.isEmpty());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testRechercherListeDossiers() {
+ try {
+ List<LogDossier> lst = client.rechercherListeDossiers(listeDossiers);
+ assertFalse(lst.isEmpty());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testGetListeTypes() {
+ try {
+ List<String> lst = client.getListeTypes();
+ assertFalse(lst.isEmpty());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testGetListeSousTypes() {
+ try {
+ List<String> lst = client.getListeSousTypes(dossier.getTypeTechnique());
+ assertFalse(lst.isEmpty());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+}
--- /dev/null
+<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>iXbusClient</artifactId>
+ <name>iXbusClient</name>
+ <description>Connecteur iXbus pour Activiti </description>
+
+ <parent>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>Activiti</artifactId>
+ <version>1.2.1-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <plugins>
+
+ <!-- Plugin permettant de supprimer les anciens jar iXbusClient existants dans les projets "NoyauExplorer" et "NoyauRest" -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <id>create-par</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <!-- Suppression des jar et bar "InstructionPc" existants dans les projets NoyauRest et NoyauExplorer -->
+ <echo message="Deleting ${project.name} jar from NoyauExplorer and NoyauRest ..." />
+ <delete>
+ <fileset dir="../NoyauExplorer/src/main/webapp/WEB-INF/lib" includes="**/${project.name}*.jar" />
+ <fileset dir="../NoyauRest/src/main/webapp/WEB-INF/lib" includes="**/${project.name}*.jar" />
+ </delete>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Plugin permettant de copier le jar généré dans les projets AMP "NoyauExplorer" et "NoyauRest" -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>Copy Jar to "NoyauExplorer" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauExplorer/src/main/webapp/WEB-INF/lib</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>Copy Jar to "NoyauExplorerWAR" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauExplorerWAR/src/main/webapp/WEB-INF/lib</outputDirectory>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>Copy Jar to "NoyauRest" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauRest/src/main/webapp/WEB-INF/lib</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>Copy Jar to "NoyauRestWAR" Project</id>
+ <phase>install</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <type>${project.packaging}</type>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>../NoyauRestWAR/src/main/webapp/WEB-INF/lib</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>Novaforge Bull</id>
+ <name>Repository Novaforge Bull pour VIDOC</name>
+ <url>https://novaforge.bull.com/nexus-default/nexus/content/repositories/mairiedebordeaux_nexusrepo_release</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <!-- Récupération des librairies utilisées pour le client parapheur sans les inclure dans le jar final pour éviter redondance -->
+ <dependency>
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>iParapheurClient</artifactId>
+ <version>${project.parent.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- FIXME : pointer vers un artefact publique de la dépendanec activation.jar -->
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client;
+
+import java.io.Serializable;
+
+public interface Ack extends Serializable {
+
+ /**
+ * Enumération des différents états possibles pour un Ack
+ */
+ public enum Statut {
+
+ ACK,
+ NACK,
+ ANN;
+
+ public String value() {
+ return name();
+ }
+
+ public static Statut fromValue(String v) {
+ return valueOf(v);
+ }
+ }
+
+ /**
+ * @return the recu
+ */
+ public boolean isRecu();
+
+ /**
+ * @param recu the recu to set
+ */
+ public void setRecu(boolean recu);
+
+ /**
+ * @return the statut
+ */
+ public Statut getStatut();
+
+ /**
+ * @param statut the statut to set
+ */
+ public void setStatut(Statut statut);
+
+ /**
+ * @return the commentaire
+ */
+ public String getCommentaire();
+
+ /**
+ * @param commentaire the commentaire to set
+ */
+ public void setCommentaire(String commentaire);
+
+ /**
+ * @return the attachment
+ */
+ public Attachment getAttachment();
+
+ /**
+ * @param attachment the attachment to set
+ */
+ public void setAttachment(Attachment attachment);
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client;
+
+import java.io.Serializable;
+
+public interface Attachment extends Serializable {
+ /**
+ * Obtient la valeur de la propriete name.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName();
+
+ /**
+ * Definit la valeur de la propriete name.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value);
+
+ /**
+ * Obtient la valeur de la propriete content.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getContent();
+
+ /**
+ * Definit la valeur de la propriete content.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setContent(byte[] value);
+
+ /**
+ * Obtient la valeur de la propriete size.
+ *
+ */
+ public int getSize();
+
+ /**
+ * Definit la valeur de la propriete size.
+ *
+ */
+ public void setSize(int value);
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client;
+
+import java.util.List;
+
+/**
+ * Classe encapsulant l'appel aux différentes méthodes du webservice ixbus
+ */
+public interface Client {
+
+ /**
+ * La méthode test permet de vérifier que la connexion au serveur TdT est correctement paramétrée.
+ *
+ * @param identifiantSpecifique
+ * @param motDePasse
+ * @param codeUtilisateur
+ * @throws ClientException
+ */
+ public void test(String identifiantSpecifique, String motDePasse, int codeUtilisateur) throws ClientException;
+
+ /**
+ * La méthode test permet de vérifier que la connexion au serveur TdT est correctement paramétrée
+ * (l'utilisation de cette méthode suppose que les paramètres de la connexion aient été initialisés au préalable).
+ *
+ * @throws ClientException
+ */
+ public void test() throws ClientException;
+
+ /**
+ * La méthode envoyer permet d’envoyer vers le serveur TdT tous type de documents conformes
+ * dans le cadre de la transaction. Donc, dans le cas de Actes, soit un Tar.gz, soit un fichier .Xml
+ * accompagné d’un fichier .Pj (voir spécifications de Pj).
+ *
+ * L’application client doit impérativement assurer l’unicité des noms de fichiers transmis.
+ * Nommage proposé :
+ * <IdentifiantEditeur>_<CodeUtilisateur>_<SIRET>_<Date>_<Heure>_<NuméroSéquentielQuotidien>
+ *
+ * NB : en prévision d’une connexion https avec le serveur, il est obligatoire d’appeler au mois une fois
+ * la méthode test avant la méthode envoyer
+ *
+ * @param listAttachment
+ * @throws ClientException
+ */
+ public void envoyer(List<Attachment> listAttachment) throws ClientException;
+
+ /**
+ * Le parametre nomFichier correspond au nom du fichier pour lequel on veut obtenir l’AR ou
+ * l’anomalie. Cette méthode n’est bien sur disponible que pour les messages déjà envoyés par la
+ * méthode Envoyer
+
+ * @param nomFichier
+ * @return
+ * @throws ClientException
+ */
+ public Ack recevoirAck(String nomFichier) throws ClientException;
+
+ /**
+ * Renvoie la liste des messages en attente.
+ *
+ * Si CodeUtilisateur=0, renvoie la liste de tous les messages destinés à l’organisation.
+ * Si CodeUtilisateur>0, renvoie la liste des messages destinés à l’utilisateur.
+ *
+ * @return
+ * @throws ClientException
+ */
+ public List<String> recevoirListeMessage() throws ClientException;
+
+ /**
+ * L’appel à la méthode recevoir fait suite à l’appel de de la méthode recevoirListeMessage.
+ * Le client de messagerie doit donc, pour chaque NomFichier reçu précédemment, appeler la méthode
+ * recevoir en passant cette valeur au paramètre NomFichier. Chaque appel à recevoir doit être
+ * suivi en cas de succès d’un appel à envoyerAck afin que le serveur puisse marquer le message
+ * comme relevé.
+
+ * @param nomFichier
+ * @return
+ * @throws ClientException
+ */
+ public Attachment recevoir(String nomFichier) throws ClientException;
+
+ /**
+ * L’appel de la méthode envoyerAck doit suivre chaque appel à la méthode recevoir dans le cas où
+ * le message reçu a pu être correctement intégré par le client WS.
+ * Dans le cas où envoyerAck n’est pas appelé ou échoue, le message reste en attente sur le
+ * serveur.
+ * Le client WS doit donc passer en paramètre NomFichier le nom du fichier principal (Xml) du
+ * message reçu.
+ *
+ * @param nomFichier
+ * @throws ClientException
+ */
+ public void envoyerAck(String nomFichier) throws ClientException;
+
+ /**
+ * Permet de demander au TdT l’annulation d’un envoi.
+ * Le parametre nomFichier correspond au nom du fichier dont on veut annuler l’envoi.
+ *
+ * @param nomFichier
+ * @throws ClientException
+ */
+ public void annulerEnvoi(String nomFichier) throws ClientException;
+
+ /**
+ * Permet d’effectuer des opérations spécifiques à la transaction concernée.
+ *
+ * @param document Nom du Document
+ * @param date Chaine de caractères au format yyyyy-mm-dd
+ * @return
+ * @throws ClientException
+ */
+ public Attachment invoquer(String document, String date) throws ClientException;
+
+ /**
+ * Initialisation du client iXbus
+ * @throws ClientException
+ */
+ public void setUp() throws ClientException;
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client;
+
+/**
+ * Exception spécifique au client webservice ixbus
+ */
+public class ClientException extends Exception {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ protected String code = null;
+ /**
+ * Crée une nouvelle instance de ClientException
+ */
+ public ClientException() {}
+ /**
+ * Crée une nouvelle instance de ClientException
+ * @param message Le message détaillant exception
+ */
+ public ClientException(String message) {
+ super(message);
+ }
+ /**
+ * Crée une nouvelle instance de ClientException
+ * @param message Le code correspondant à l'erreur
+ * @param message Le message détaillant exception
+ */
+ public ClientException(String message, String code) {
+ super(message);
+ this.code = code;
+ }
+ /**
+ * Crée une nouvelle instance de ClientException
+ * @param cause L'exception à l'origine de cette exception
+ */
+ public ClientException(Throwable cause) {
+ super(cause);
+ }
+ /**
+ * Crée une nouvelle instance de ClientException
+ * @param message Le message détaillant exception
+ * @param cause L'exception à l'origine de cette exception
+ */
+ public ClientException(String message, Throwable cause) {
+ super(message, cause);
+ }
+ /**
+ * @return the code
+ */
+ public String getCode() {
+ return code;
+ }
+ /**
+ * @param code the code to set
+ */
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client.impl;
+
+import org.w3c.dom.Element;
+
+import fr.mbdx.ixbus.client.Ack;
+import fr.mbdx.ixbus.client.Attachment;
+import fr.mbdx.ixbus.client.impl.cxf.ArrayOfAttachment;
+import fr.mbdx.ixbus.client.impl.cxf.Message;
+
+public class AckCfxImpl implements Ack {
+
+ private static final long serialVersionUID = -6307481708094485072L;
+
+ private boolean recu = false;
+ private Statut statut = null;
+ private String commentaire = null;
+ private Attachment attachment = null;
+
+ public AckCfxImpl() {
+
+ }
+
+ public AckCfxImpl(Message message) {
+ Element node = (Element) message.getDescription().getAny();
+ this.recu = Boolean.parseBoolean(Utils.getValueByTagName(node, "Recu"));
+ String statutValue = Utils.getValueByTagName(node, "Statut");
+ this.statut = statutValue.isEmpty() ? null : Statut.fromValue(statutValue);
+ this.commentaire = Utils.getValueByTagName(node, "Commentaire");
+ ArrayOfAttachment doc = message.getDocument();
+ if (doc != null && doc.getAttachment().size() > 0) {
+ this.attachment = new AttachmentCfxImpl(doc.getAttachment().get(0));
+ }
+ }
+
+ /**
+ * @return the recu
+ */
+ public boolean isRecu() {
+ return this.recu;
+ }
+
+ /**
+ * @param recu the recu to set
+ */
+ public void setRecu(boolean recu) {
+ this.recu = recu;
+ }
+
+ /**
+ * @return the statut
+ */
+ public Statut getStatut() {
+ return this.statut;
+ }
+
+ /**
+ * @param statut the statut to set
+ */
+ public void setStatut(Statut statut) {
+ this.statut = statut;
+ }
+
+ /**
+ * @return the commentaire
+ */
+ public String getCommentaire() {
+ return this.commentaire;
+ }
+
+ /**
+ * @param commentaire the commentaire to set
+ */
+ public void setCommentaire(String commentaire) {
+ this.commentaire = commentaire;
+ }
+
+ /**
+ * @return the attachment
+ */
+ public Attachment getAttachment() {
+ return this.attachment;
+ }
+
+ /**
+ * @param attachment the attachment to set
+ */
+ public void setAttachment(Attachment attachment) {
+ this.attachment = attachment;
+ }
+
+
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client.impl;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.log4j.Logger;
+
+import fr.mbdx.ixbus.client.Attachment;
+//import fr.mbdx.ixbus.client.impl.cxf.Attachment;
+
+public class AttachmentCfxImpl implements Attachment {
+
+ private static final long serialVersionUID = 1L;
+
+ protected transient Logger log = Logger.getLogger(getClass());
+
+ protected String name;
+ protected byte[] content;
+ protected int size;
+
+ public AttachmentCfxImpl() {
+ }
+
+ public AttachmentCfxImpl(InputStream inputStream, String name) throws IOException {
+ read(inputStream);
+ this.name = name;
+ }
+
+ public AttachmentCfxImpl(byte[] content, String name) {
+ this.content = content;
+ this.size = content.length;
+ this.name = name;
+ }
+
+ public AttachmentCfxImpl(fr.mbdx.ixbus.client.impl.cxf.Attachment attachment) {
+ this.name = attachment.getName();
+ this.content = attachment.getContent();
+ this.size = attachment.getSize();
+ }
+
+ public AttachmentCfxImpl(String filename) throws FileNotFoundException, IOException {
+ File file = new File(filename);
+ InputStream inputStream = null;
+ try {
+ inputStream = new FileInputStream(file);
+ read(inputStream);
+ this.name = file.getName();
+ } catch (FileNotFoundException e) {
+ log.error(e);
+ throw e;
+ } finally {
+ try {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ } catch (IOException e) {
+ log.error(e);
+ }
+ }
+ }
+
+ /**
+ * @param filename the filename to read
+ */
+ void read(InputStream inputStream) throws IOException {
+ try {
+ this.content = extract(inputStream);
+ this.size = content.length;
+ } catch (IOException e) {
+ log.error(e);
+ throw e;
+ }
+ }
+
+ /**
+ * Lit un InputStream dans un tableau binaire
+ * @param inputStream
+ * @return
+ * @throws IOException
+ */
+ static byte[] extract(InputStream inputStream) throws IOException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ byte[] buffer = new byte[1024];
+ int read = 0;
+ while ((read = inputStream.read(buffer, 0, buffer.length)) != -1) {
+ baos.write(buffer, 0, read);
+ }
+ baos.flush();
+ return baos.toByteArray();
+ }
+
+ /**
+ * Obtient la valeur de la propriete name.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Definit la valeur de la propriete name.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Obtient la valeur de la propriete content.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getContent() {
+ return content;
+ }
+
+ /**
+ * Definit la valeur de la propriete content.
+ * N.B. Initialise également la valeur de la propriété size en fonction de la taille du tableau
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setContent(byte[] value) {
+ this.content = value;
+ this.size = value.length;
+ }
+
+ /**
+ * Obtient la valeur de la propriete size.
+ *
+ */
+ public int getSize() {
+ return size;
+ }
+
+ /**
+ * Definit la valeur de la propriete size.
+ *
+ */
+ public void setSize(int value) {
+ this.size = value;
+ }
+
+}
--- /dev/null
+package fr.mbdx.ixbus.client.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.log4j.Logger;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import fr.mbdx.ixbus.client.Ack;
+import fr.mbdx.ixbus.client.Client;
+import fr.mbdx.ixbus.client.ClientException;
+import fr.mbdx.ixbus.client.impl.cxf.ArrayOfAttachment;
+import fr.mbdx.ixbus.client.Attachment;
+import fr.mbdx.ixbus.client.impl.cxf.Message;
+import fr.mbdx.ixbus.client.impl.cxf.Messagerie;
+import fr.mbdx.ixbus.client.impl.cxf.MessagerieSoap;
+
+public class ClientCxfImpl implements Client {
+
+ private static final QName SERVICE_NAME = new QName("http://www.srci.fr", "Messagerie");
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private String wsdl = null;
+ private boolean setup = false;
+
+ private SpringBusFactory busFactory = null;
+ private String busConfigPath = null;
+
+ private Messagerie ss = null;
+ private MessagerieSoap port = null;
+
+ private String identifiantSpecifique = null;
+ private String motDePasse = null;
+ private int codeUtilisateur = -1;
+
+ public ClientCxfImpl() {
+ }
+
+ public ClientCxfImpl(String wsdl, String busConfigPath) {
+ this.wsdl = wsdl;
+ this.busConfigPath = busConfigPath;
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#test(java.lang.String, java.lang.String, int)
+ */
+ public void test(String identifiantSpecifique, String motDePasse, int codeUtilisateur) throws ClientException {
+ log.debug(ss.getServiceName() + "." + "test");
+ Message ret = port.test2(identifiantSpecifique, motDePasse, codeUtilisateur);
+ checkSuccess(ret);
+ this.identifiantSpecifique = identifiantSpecifique;
+ this.motDePasse = motDePasse;
+ this.codeUtilisateur = codeUtilisateur;
+ }
+
+ @Override
+ public void test() throws ClientException {
+ log.debug(ss.getServiceName() + "." + "test");
+ if (identifiantSpecifique == null || motDePasse == null) {
+ throw new ClientException("Veuillez initialiser correctement les paramètres identifiantSpecifique, motDePasse et codeUtilisateur.");
+ }
+ Message ret = port.test2(identifiantSpecifique, motDePasse, codeUtilisateur);
+ checkSuccess(ret);
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#Envoyer(List<Attachment>)
+ */
+ public void envoyer(List<Attachment> listAttachment) throws ClientException {
+ log.debug(ss.getServiceName() + "." + "envoyer");
+ logAttachments(listAttachment);
+ Message msg = Utils.getMessage(listAttachment);
+ Message ret = port.envoyer2(identifiantSpecifique, motDePasse, codeUtilisateur, msg);
+ checkSuccess(ret);
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#RecevoirAck(java.lang.String)
+ */
+ public Ack recevoirAck(String nomFichier) throws ClientException {
+ log.debug(ss.getServiceName() + "." + "recevoirAck");
+ Message ret = port.recevoirAck2(identifiantSpecifique, motDePasse, codeUtilisateur, nomFichier);
+ checkSuccess(ret);
+ Ack ack = new AckCfxImpl(ret);
+ return ack;
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#recevoirListeMessage()
+ */
+ public List<String> recevoirListeMessage() throws ClientException {
+ log.debug(ss.getServiceName() + "." + "recevoirListeMessage");
+ Message ret = port.recevoirListeMessage2(identifiantSpecifique, motDePasse, codeUtilisateur);
+ checkSuccess(ret);
+ List<String> messages = Utils.getMessages(ret);
+ return messages;
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#recevoir(java.lang.String)
+ */
+ public Attachment recevoir(String nomFichier) throws ClientException {
+ log.debug(ss.getServiceName() + "." + "recevoir");
+ Message ret = port.recevoir2(identifiantSpecifique, motDePasse, codeUtilisateur, nomFichier);
+ checkSuccess(ret);
+ Attachment attachment = new AttachmentCfxImpl(ret.getDocument().getAttachment().get(0));
+ return attachment;
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#envoyerAck(java.lang.String)
+ */
+ public void envoyerAck(String nomFichier) throws ClientException {
+ log.debug(ss.getServiceName() + "." + "envoyerAck");
+ Message ret = port.envoyerAck2(identifiantSpecifique, motDePasse, codeUtilisateur, nomFichier);
+ checkSuccess(ret);
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#annulerEnvoi(java.lang.String)
+ */
+ public void annulerEnvoi(String nomFichier) throws ClientException {
+ log.debug(ss.getServiceName() + "." + "annulerEnvoi");
+ Message ret = port.annulerEnvoi2(identifiantSpecifique, motDePasse, codeUtilisateur, nomFichier);
+ checkSuccess(ret);
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#invoquer(java.lang.String, java.lang.String)
+ */
+ public Attachment invoquer(String document, String date) throws ClientException {
+ log.debug(ss.getServiceName() + "." + "invoquer");
+ Attachment result = null;
+ Message attach = Utils.getInvokeMessage(document, date);
+ Message ret = port.invoquer2(identifiantSpecifique, motDePasse, codeUtilisateur, attach);
+ checkSuccess(ret);
+ ArrayOfAttachment doc = ret.getDocument();
+ if (doc != null && doc.getAttachment().size() > 0) {
+ result = new AttachmentCfxImpl(doc.getAttachment().get(0));
+ }
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see fr.mbdx.ixbus.client.Client#setUp()
+ */
+ public void setUp() throws ClientException {
+ if (!setup) {
+ if (busFactory == null) {
+ busFactory = new SpringBusFactory();
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("Chargement du fichier de configuration du bus CXF.");
+ }
+
+ URL busURL = Utils.getURL(busConfigPath);
+ Bus bus = busFactory.createBus(busURL.toString());
+ BusFactory.setDefaultBus(bus);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Chargement du fichier WSDL.");
+ }
+
+ URL wsdlURL = Utils.getURL(wsdl);
+ ss = new Messagerie(wsdlURL, SERVICE_NAME);
+ port = ss.getMessagerieSoap12();
+
+ setup = true;
+ }
+ }
+
+ void checkSuccess(Message message) throws ClientException {
+ logMessage(message);
+ Element el = (Element) message.getDescription().getAny();
+ String nodeName = el.getNodeName();
+ if (nodeName == "Echec") {
+ String description = Utils.getValueByTagName(el, "Description");
+ String code = Utils.getValueByTagName(el, "Code");
+ throw new ClientException(description, code);
+ }
+ }
+
+ void logMessage(Message msg) {
+ Node parent = (Node) msg.getDescription().getAny();
+ String name = parent.getNodeName();
+ NodeList nodes = parent.getChildNodes();
+ int len = nodes.getLength();
+ StringBuffer buff = new StringBuffer (name + ":");
+ for (int i = 0; i < len; ++i) {
+ Node node = nodes.item(i);
+ name = node.getNodeName();
+ String value = node.getTextContent();
+ buff.append("\n " + name + " = " + value);
+ }
+ if (msg.getDocument() != null && msg.getDocument().getAttachment().size() > 0) {
+ buff.append("\n Attachment name = " + msg.getDocument().getAttachment().get(0).getName());
+ }
+ log.debug(buff);
+ }
+
+ void logAttachments(List<Attachment> listAttachment) {
+ int i = 0;
+ StringBuffer buff = new StringBuffer();
+ for (Attachment attach : listAttachment) {
+ buff.append("Attachment n° " + String.valueOf(i++) + ":\n Name = " + attach.getName() + "\n Size = " + attach.getSize());
+ }
+ log.debug(buff);
+ }
+
+ /**
+ * @return the wsdl
+ */
+ public String getWsdl() {
+ return wsdl;
+ }
+
+ /**
+ * @param wsdl the wsdl to set
+ */
+ public void setWsdl(String wsdl) {
+ this.wsdl = wsdl;
+ }
+
+ /**
+ * @return the busFactory
+ */
+ public SpringBusFactory getBusFactory() {
+ return busFactory;
+ }
+
+ /**
+ * @param busFactory the busFactory to set
+ */
+ public void setBusFactory(SpringBusFactory busFactory) {
+ this.busFactory = busFactory;
+ }
+
+ /**
+ * @return the busConfigFile
+ */
+ public String getBusConfigPath() {
+ return busConfigPath;
+ }
+
+ /**
+ * @param busConfigFile the busConfigFile to set
+ */
+ public void setBusConfigPath(String busConfigPath) {
+ this.busConfigPath = busConfigPath;
+ }
+
+ /**
+ * @return the identifiantSpecifique
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * @param identifiantSpecifique the identifiantSpecifique to set
+ */
+ public void setIdentifiantSpecifique(String identifiantSpecifique) {
+ this.identifiantSpecifique = identifiantSpecifique;
+ }
+
+ /**
+ * @return the motDePasse
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * @param motDePasse the motDePasse to set
+ */
+ public void setMotDePasse(String motDePasse) {
+ this.motDePasse = motDePasse;
+ }
+
+ /**
+ * @return the codeUtilisateur
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * @param codeUtilisateur the codeUtilisateur to set
+ */
+ public void setCodeUtilisateur(int codeUtilisateur) {
+ this.codeUtilisateur = codeUtilisateur;
+ }
+}
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client.impl;
+
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+import java.util.zip.ZipOutputStream;
+
+import javax.activation.MimetypesFileTypeMap;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+
+import org.apache.log4j.Logger;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import fr.mbdx.ixbus.client.Attachment;
+import fr.mbdx.ixbus.client.ClientException;
+import fr.mbdx.ixbus.client.impl.cxf.ArrayOfAttachment;
+import fr.mbdx.ixbus.client.impl.cxf.Message;
+import fr.mbdx.ixbus.client.impl.cxf.Message.Description;
+import fr.mbdx.ixbus.pj.ObjectFactory;
+import fr.srci.xmlschema.legalitycontrol.LegalityControl;
+
+public class Utils {
+
+ public static DateFormat dateFormat = new SimpleDateFormat("yyyy'-'MM'-'dd");
+
+ public static DateFormat dateFormat2 = new SimpleDateFormat("yyyyMMdd'_'HHmm");
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private ClientCxfImpl client = null;
+
+ private LegalityControl legalityControl = null;
+
+ public static String getValueByTagName(Element parent, String tagName) {
+ String value = null;
+ NodeList descList = parent.getElementsByTagName(tagName);
+ if (descList.getLength() > 0) {
+ value = descList.item(0).getTextContent();
+ }
+ return value;
+ }
+
+ /**
+ * @param path
+ * @return
+ * @throws ClientException
+ */
+ public static URL getURL(String path) throws ClientException {
+ File file = new File(path);
+ URL url = null;
+ try {
+ if (file.exists()) {
+ url = file.toURI().toURL();
+ } else {
+ url = new URL(path);
+ }
+ } catch (MalformedURLException e) {
+ throw new ClientException(e);
+ }
+
+ return url;
+ }
+
+ public static Message getMessage(List<Attachment> listAttachment) {
+ Message msg = new Message();
+ msg.setDescription(null);
+ ArrayOfAttachment doc = new ArrayOfAttachment();
+ doc.getAttachment().addAll(getCfxAttachments(listAttachment));
+ msg.setDocument(doc);
+ return msg;
+ }
+
+ public static Message getInvokeMessage(String document, String date) {
+ Message attach = new Message();
+ Description desc = new Description();
+ desc.setAny("<Operations><OperationFlux><Document>" + document + "</ Document ><Date>" + date + "</Date></ OperationFlux ></Operations>");
+ attach.setDescription(desc);
+ attach.setDocument(null);
+ return attach;
+ }
+
+ public static List<fr.mbdx.ixbus.client.impl.cxf.Attachment> getCfxAttachments(List<Attachment> listAttachments) {
+ List<fr.mbdx.ixbus.client.impl.cxf.Attachment> result = new ArrayList<fr.mbdx.ixbus.client.impl.cxf.Attachment>();
+ for (Attachment attachment : listAttachments) {
+ fr.mbdx.ixbus.client.impl.cxf.Attachment cfxAttachment = new fr.mbdx.ixbus.client.impl.cxf.Attachment();
+ cfxAttachment.setContent(attachment.getContent());
+ cfxAttachment.setName(attachment.getName());
+ cfxAttachment.setSize(attachment.getSize());
+ result.add(cfxAttachment);
+ }
+ return result;
+ }
+
+ public static List<String> getMessages(Message message) {
+ Element element = (Element) message.getDescription().getAny();
+ List<String> lst = new ArrayList<String>();
+ NodeList lstMesssage = element.getElementsByTagName("Message");
+ for (int i = 0; i < lstMesssage.getLength(); ++i) {
+ Node node = lstMesssage.item(i);
+ String content = node.getTextContent();
+ lst.add(content);
+ }
+ return lst;
+ }
+
+ public static String getFileName(HttpURLConnection conn) {
+ String filename = null;
+ String disposition = conn.getHeaderField("Content-Disposition");
+ if (disposition != null) {
+ // extracts file name from header field
+ int index = disposition.indexOf("filename=");
+ if (index > 0) {
+ filename = disposition.substring(index + 10, disposition.length() - 1);
+ }
+ } else {
+ String file = conn.getURL().getFile();
+ filename = file.substring(file.lastIndexOf("/") + 1, file.length());
+ }
+ return filename;
+ }
+
+ /**
+ * Décompresse le fichier contenu dans une pièce jointe précédemment envoyée à iXbus
+ *
+ * @param attach
+ * @return tableau d'octets
+ * @throws IOException
+ */
+ public static byte[] unzipAttachment(Attachment attach) throws IOException {
+ byte[] result = null;
+
+ try {
+ ByteArrayInputStream is = new ByteArrayInputStream(attach.getContent());
+ ZipInputStream zis = new ZipInputStream(is);
+ ByteArrayOutputStream streamBuilder = new ByteArrayOutputStream();
+ int bytesRead;
+ byte[] tempBuffer = new byte[4096];
+ ZipEntry entry = zis.getNextEntry();
+ while ((bytesRead = zis.read(tempBuffer)) != -1) {
+ streamBuilder.write(tempBuffer, 0, bytesRead);
+ }
+ result = streamBuilder.toByteArray();
+ } finally {
+ }
+
+ return result;
+ }
+
+ /**
+ * Compresse le contenu d'un flux au format ZIP
+ *
+ * @param is
+ * Flux à compresser
+ * @param entryName
+ * Nom de l'entrée dans l'archive ZIP
+ * @return tableau d'octets
+ * @throws IOException
+ */
+ public static byte[] zipStream(InputStream is, String entryName) throws JAXBException, IOException {
+ byte[] bytes = null;
+ ByteArrayOutputStream baos = null;
+ ZipOutputStream zos = null;
+
+ try {
+ baos = new ByteArrayOutputStream();
+ zos = new ZipOutputStream(baos);
+
+ String comment = createAttachmentDescription(entryName, null);
+ zos.setComment(comment);
+
+ zos.putNextEntry(new ZipEntry(entryName));
+
+ byte[] byteChunk = new byte[4096];
+ int n;
+ while ((n = is.read(byteChunk)) > 0) {
+ zos.write(byteChunk, 0, n);
+ }
+ zos.finish();
+ bytes = baos.toByteArray();
+ } finally {
+ if (baos != null) {
+ baos.close();
+ }
+ if (zos != null) {
+ zos.close();
+ }
+ }
+
+ return bytes;
+ }
+
+ public void putEntryIntoZipOutputStream(ZipOutputStream zos, InputStream is, String entryName) throws JAXBException, IOException {
+ zos.putNextEntry(new ZipEntry(entryName));
+ byte[] byteChunk = new byte[4096];
+ int n;
+ while ((n = is.read(byteChunk)) > 0) {
+ zos.write(byteChunk, 0, n);
+ }
+ }
+
+ /**
+ * Génère une pièce jointe au format zip compatible avec le webservice iXbus à partir d'un flux entrant. Une fois lu le flux est fermé.
+ *
+ * @param is
+ * Flux entrant
+ * @return
+ * @throws ClientException
+ */
+ public Attachment createPjFromStream(InputStream is, String name) throws ClientException {
+ Attachment attach = null;
+
+ try {
+ byte[] bytes = zipStream(is, name);
+ attach = new AttachmentCfxImpl();
+ attach.setContent(bytes);
+ attach.setSize(bytes.length);
+ } catch (Exception e) {
+ throw new ClientException(e);
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException e) {
+ throw new ClientException(e);
+ }
+ }
+ }
+
+ return attach;
+ }
+
+ /**
+ * Génère une pièce jointe au format zip compatible avec le webservice iXbus à partir d'un fichier réseau.
+ *
+ * @param file
+ * @return
+ * @throws ClientException
+ */
+ public Attachment createPjFromFile(File file, String name) throws ClientException {
+ Attachment attach = null;
+ InputStream is = null;
+
+ try {
+ if (file.exists()) {
+ is = new FileInputStream(file);
+ attach = createPjFromStream(is, name);
+ } else {
+ throw new ClientException("Aucun fichier présent à l'emplacement " + file.getName());
+ }
+ } catch (FileNotFoundException e) {
+ throw new ClientException(e);
+ }
+
+ return attach;
+ }
+
+ /**
+ * Retourne le type MIME d'un fichier en se basant uniquement sur l'extension Utilise la librairie activation.jar d'Oracle
+ *
+ * N.B. Il est possible d'ajouter un nouveau type MIME en créant un fichier META-INF/mime.types. (la liste par défaut se situe dans le fichier
+ * META-INF/mimetypes.default (à l'intérieur d'activation.jar)
+ *
+ * Exemple de format d'entrée : text/html html htm HTML HTM
+ *
+ * @param file
+ * @return
+ */
+ public String getContentType(File file) {
+ return new MimetypesFileTypeMap().getContentType(file);
+ }
+
+ /**
+ * Ouvre une connexion vers un flux HTTP en vue de télécharger une ressource Web
+ *
+ * @param url
+ * @return
+ * @throws ClientException
+ */
+ public HttpURLConnection openConnection(String url) throws ClientException {
+ HttpURLConnection conn = null;
+ try {
+ conn = (HttpURLConnection) new URL(url).openConnection();
+ int responseCode = conn.getResponseCode();
+ if (responseCode != HttpURLConnection.HTTP_OK) {
+ throw new ClientException("Aucun fichier n'a pu être téléchargé à l'URL " + url + ". Le serveur a répondu avec le code "
+ + responseCode);
+ }
+ } catch (MalformedURLException e) {
+ throw new ClientException(e);
+ } catch (IOException e) {
+ throw new ClientException(e);
+ }
+
+ return conn;
+ }
+
+ /**
+ * Extrait l'attribut actes:IDActe de l'accusé de réception reçu du TdT
+ *
+ * TODO par la suite il faudrait parser plus finement le contenu XML de l'accusé de réception reçu du TdT en passant par JAXB comme on le fait
+ * pour générer le fichier d'accompagement XML
+ *
+ * @param xmlAttachment
+ * @return
+ */
+ public String getIDActe(Attachment xmlAttachment) {
+ String numeroInterne = null;
+ String xml = new String(xmlAttachment.getContent());
+ String token = "actes:IDActe=\"";
+ int begin = xml.indexOf(token);
+ if (begin > 0) {
+ begin += token.length();
+ int end = xml.indexOf("\"", begin);
+ if (end > 0) {
+ numeroInterne = xml.substring(begin, end);
+ }
+ }
+ return numeroInterne;
+ }
+
+ /**
+ * Génère le fichier XML d'accompagnement d'une pièce jointe à envoyer au webservice iXbus
+ *
+ * @param attachment
+ * @return
+ * @throws ClientException
+ */
+ public Attachment createXmlAttachment(String actID, String actNature, String matiere, String subject) throws ClientException {
+ Attachment attach = null;
+
+ JAXBContext jc;
+ ByteArrayOutputStream baos = null;
+ try {
+ jc = JAXBContext.newInstance("fr.srci.xmlschema.legalitycontrol");
+ Marshaller marshaller = jc.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "http://www.srci.fr/XMLSchema/LegalityControl LegalityControl.xsd");
+ baos = new ByteArrayOutputStream();
+
+ //Comme legalityControl est un singleton Spring il vaut mieux éviter les pb liés au multithread
+ synchronized(LegalityControl.class){
+ Date now = new Date();
+ legalityControl.getTransaction().setActDate(dateFormat.format(now));
+ legalityControl.getTransaction().setActID(actID);
+ legalityControl.getTransaction().setActNature(actNature);
+ legalityControl.getTransaction().setContent(matiere);
+ legalityControl.getTransaction().setSubject(validateSubject(subject));
+ marshaller.marshal(legalityControl, baos);
+ }
+
+ baos.flush();
+ String s = new String(baos.toByteArray());
+ int beginIndex = s.indexOf(">");
+
+ // On modifie à la main l'entête du fichier XML généré
+ // (la méthode proposée pour ce faire par l'implémentation officielle de JAXB semble confuse et pas très robuste)
+ if (beginIndex > 0) {
+ s = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + s.substring(0, beginIndex)
+ + " xmlns:rt=\"urn:oasis:names:tc:ubl:RepresentationTerms:1:0-beta\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xsi:type=\"CLtoMISILLType\"" + s.substring(beginIndex);
+ }
+
+ // On ajoute à la main un attribut xsi:type au noeud Transaction
+ s = s.replace("<Transaction>", "<Transaction xsi:type=\"ActType\">");
+
+ byte[] bytes = s.getBytes();
+
+ attach = new AttachmentCfxImpl();
+ attach.setContent(bytes);
+ attach.setSize(bytes.length);
+ } catch (Exception e) {
+ throw new ClientException(e);
+ } finally {
+ if (baos != null) {
+ try {
+ baos.close();
+ } catch (IOException e) {
+ throw new ClientException(e);
+ }
+ }
+ }
+
+ return attach;
+ }
+
+ /**
+ * Permet de nettoyer le sujet de l'envoi des caractères interdits (code tiré de sources envoyées par la mairie de Bordeaux
+ *
+ * @param libelle
+ * @return
+ */
+ private String validateSubject(String libelle) {
+ String validSubject = libelle;
+ char quote = (char) 146; // '’'
+ char euro = (char) 128; // '\u20AC';
+ char demiCadratin = (char) 150; // '\u2013';
+ validSubject = validSubject.replace(quote, '\'');
+ validSubject = validSubject.replace(euro, 'E');
+ validSubject = validSubject.replace(demiCadratin, '-');
+ return validSubject;
+ }
+
+ /**
+ * Génère le flux XML à inclure dans la zone commentaire de l'archive ZIP à envoyer au serveur iXbus
+ *
+ * Le flux généré est de la forme suivante : {@code
+ * <?xml version="1.0" encoding="ISO-8859-1"?>
+ * <Attachment>
+ * <MainDocument>test_doc_principal.pdf</MainDocument>
+ * <Annexe>TEST_AvecOCR.pdf</Annexe>
+ * <Annexe>test.pdf</Annexe>
+ * </Attachment>
+ * }
+ *
+ * @param mainDocument
+ * @param annexes
+ * @return
+ * @throws ClientException
+ */
+ public static String createAttachmentDescription(String mainDocument, List<String> annexes) throws JAXBException, IOException {
+ String desc = null;
+ ObjectFactory factory = new ObjectFactory();
+ fr.mbdx.ixbus.pj.Attachment attach = factory.createAttachment();
+ attach.setMainDocument(mainDocument);
+ if (annexes != null) {
+ for (String annexe : annexes) {
+ attach.getAnnexe().add(annexe);
+ }
+ }
+ JAXBContext jc;
+ ByteArrayOutputStream baos = null;
+ try {
+ jc = JAXBContext.newInstance("fr.mbdx.ixbus.pj");
+ Marshaller marshaller = jc.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_ENCODING, "ISO-8859-1");
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
+ baos = new ByteArrayOutputStream();
+ marshaller.marshal(attach, baos);
+ baos.flush();
+ desc = new String(baos.toByteArray());
+ } finally {
+ if (baos != null) {
+ baos.close();
+ }
+ }
+
+ return "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + desc;
+ }
+
+ /**
+ * Génère un nom de fichier XML en principe unique composé de la manière suivante :
+ * <IdentifiantEditeur>_<CodeUtilisateur>_<SIREN>_<Date>_<Heure>_<NomFichier.xml> (Cf. p. 5 Specifications_WebService_iXBxx_R1.0.doc)
+ *
+ * @param filename
+ * @return
+ */
+ public String getUniqueFileName(String filename) {
+ Date now = new Date();
+
+ String result = client.getIdentifiantSpecifique() + "_" + client.getCodeUtilisateur() + "_" + legalityControl.getIssuer().getSIREN() + "_"
+ + dateFormat2.format(now) + "_" + filename;
+
+ return result;
+ }
+
+ /**
+ * @param content
+ * @return
+ */
+ public byte[] removeZeroBytes(byte[] content) {
+ int i;
+ for (i = 0; i < content.length; i++) {
+ if (content[i] == 0) {
+ break;
+ }
+ }
+ byte[] cleanContent = new byte[i];
+ System.arraycopy(content, 0, cleanContent, 0, i);
+ return cleanContent;
+ }
+
+ public void saveAttachment(Attachment attachment) {
+ BufferedOutputStream bos = null;
+ try {
+ String name = attachment.getName().isEmpty() ? "attachment.xml" : attachment.getName();
+
+ int pos = name.indexOf(".");
+ String prefix = pos > 0 ? name.substring(0, pos) : name;
+ String suffix = pos > 0 ? name.substring(pos) : ".tmp";
+ File temp = File.createTempFile(prefix, suffix);
+ log.debug("Attachement : " + temp.getAbsolutePath());
+ FileOutputStream fos = new FileOutputStream(temp);
+ bos = new BufferedOutputStream(fos);
+ bos.write(attachment.getContent());
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ } finally {
+ if (bos != null) {
+ try {
+ bos.close();
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+ }
+ }
+
+ public static String replaceFileExtension(String filename, String extension) {
+ int endIndex = filename.lastIndexOf(".");
+ if (endIndex > 0) {
+ filename = filename.substring(0, endIndex);
+ }
+ return filename + extension;
+ }
+
+ /**
+ * @return the client
+ */
+ public ClientCxfImpl getClient() {
+ return client;
+ }
+
+ /**
+ * @param client
+ * the client to set
+ */
+ public void setClient(ClientCxfImpl client) {
+ this.client = client;
+ }
+
+ /**
+ * @return the legalityControl
+ */
+ public LegalityControl getLegalityControl() {
+ return legalityControl;
+ }
+
+ /**
+ * @param legalityControl
+ * the legalityControl to set
+ */
+ public void setLegalityControl(LegalityControl legalityControl) {
+ this.legalityControl = legalityControl;
+ }
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "Annuler")
+public class Annuler {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier"
+})
+@XmlRootElement(name = "AnnulerEnvoi2")
+public class AnnulerEnvoi2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AnnulerEnvoi2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "annulerEnvoi2Result"
+})
+@XmlRootElement(name = "AnnulerEnvoi2Response")
+public class AnnulerEnvoi2Response {
+
+ @XmlElement(name = "AnnulerEnvoi2Result")
+ protected Message annulerEnvoi2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� annulerEnvoi2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getAnnulerEnvoi2Result() {
+ return annulerEnvoi2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annulerEnvoi2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setAnnulerEnvoi2Result(Message value) {
+ this.annulerEnvoi2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AnnulerResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "annulerResult"
+})
+@XmlRootElement(name = "AnnulerResponse")
+public class AnnulerResponse {
+
+ @XmlElement(name = "AnnulerResult")
+ protected Message annulerResult;
+
+ /**
+ * Obtient la valeur de la propri�t� annulerResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getAnnulerResult() {
+ return annulerResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� annulerResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setAnnulerResult(Message value) {
+ this.annulerResult = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour ArrayOfAttachment complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="ArrayOfAttachment">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Attachment" type="{http://www.srci.fr}Attachment" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ArrayOfAttachment", propOrder = {
+ "attachment"
+})
+public class ArrayOfAttachment {
+
+ @XmlElement(name = "Attachment", nillable = true)
+ protected List<Attachment> attachment;
+
+ /**
+ * Gets the value of the attachment property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the attachment property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAttachment().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Attachment }
+ *
+ *
+ */
+ public List<Attachment> getAttachment() {
+ if (attachment == null) {
+ attachment = new ArrayList<Attachment>();
+ }
+ return this.attachment;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour Attachment complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="Attachment">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ * <element name="Size" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Attachment", propOrder = {
+ "name",
+ "content",
+ "size"
+})
+public class Attachment {
+
+ @XmlElement(name = "Name")
+ protected String name;
+ @XmlElement(name = "Content")
+ protected byte[] content;
+ @XmlElement(name = "Size")
+ protected int size;
+
+ /**
+ * Obtient la valeur de la propri�t� name.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� name.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� content.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getContent() {
+ return content;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� content.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setContent(byte[] value) {
+ this.content = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� size.
+ *
+ */
+ public int getSize() {
+ return size;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� size.
+ *
+ */
+ public void setSize(int value) {
+ this.size = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="attach" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "codeUtilisateur",
+ "attach",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "Envoyer")
+public class Envoyer {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ protected Message attach;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� attach.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getAttach() {
+ return attach;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� attach.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setAttach(Message value) {
+ this.attach = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="attach" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "attach"
+})
+@XmlRootElement(name = "Envoyer2")
+public class Envoyer2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ protected Message attach;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� attach.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getAttach() {
+ return attach;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� attach.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setAttach(Message value) {
+ this.attach = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Envoyer2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "envoyer2Result"
+})
+@XmlRootElement(name = "Envoyer2Response")
+public class Envoyer2Response {
+
+ @XmlElement(name = "Envoyer2Result")
+ protected Message envoyer2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� envoyer2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getEnvoyer2Result() {
+ return envoyer2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� envoyer2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setEnvoyer2Result(Message value) {
+ this.envoyer2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "EnvoyerAck")
+public class EnvoyerAck {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier"
+})
+@XmlRootElement(name = "EnvoyerAck2")
+public class EnvoyerAck2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EnvoyerAck2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "envoyerAck2Result"
+})
+@XmlRootElement(name = "EnvoyerAck2Response")
+public class EnvoyerAck2Response {
+
+ @XmlElement(name = "EnvoyerAck2Result")
+ protected Message envoyerAck2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� envoyerAck2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getEnvoyerAck2Result() {
+ return envoyerAck2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� envoyerAck2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setEnvoyerAck2Result(Message value) {
+ this.envoyerAck2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EnvoyerAckResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "envoyerAckResult"
+})
+@XmlRootElement(name = "EnvoyerAckResponse")
+public class EnvoyerAckResponse {
+
+ @XmlElement(name = "EnvoyerAckResult")
+ protected Message envoyerAckResult;
+
+ /**
+ * Obtient la valeur de la propri�t� envoyerAckResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getEnvoyerAckResult() {
+ return envoyerAckResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� envoyerAckResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setEnvoyerAckResult(Message value) {
+ this.envoyerAckResult = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EnvoyerResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "envoyerResult"
+})
+@XmlRootElement(name = "EnvoyerResponse")
+public class EnvoyerResponse {
+
+ @XmlElement(name = "EnvoyerResult")
+ protected Message envoyerResult;
+
+ /**
+ * Obtient la valeur de la propri�t� envoyerResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getEnvoyerResult() {
+ return envoyerResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� envoyerResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setEnvoyerResult(Message value) {
+ this.envoyerResult = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="attach" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "attach"
+})
+@XmlRootElement(name = "Invoquer2")
+public class Invoquer2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ protected Message attach;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� attach.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getAttach() {
+ return attach;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� attach.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setAttach(Message value) {
+ this.attach = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Invoquer2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "invoquer2Result"
+})
+@XmlRootElement(name = "Invoquer2Response")
+public class Invoquer2Response {
+
+ @XmlElement(name = "Invoquer2Result")
+ protected Message invoquer2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� invoquer2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getInvoquer2Result() {
+ return invoquer2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� invoquer2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setInvoquer2Result(Message value) {
+ this.invoquer2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour Message complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType name="Message">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Document" type="{http://www.srci.fr}ArrayOfAttachment" minOccurs="0"/>
+ * <element name="Description" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <any/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Message", propOrder = {
+ "document",
+ "description"
+})
+public class Message {
+
+ @XmlElement(name = "Document")
+ protected ArrayOfAttachment document;
+ @XmlElement(name = "Description")
+ protected Message.Description description;
+
+ /**
+ * Obtient la valeur de la propri�t� document.
+ *
+ * @return
+ * possible object is
+ * {@link ArrayOfAttachment }
+ *
+ */
+ public ArrayOfAttachment getDocument() {
+ return document;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� document.
+ *
+ * @param value
+ * allowed object is
+ * {@link ArrayOfAttachment }
+ *
+ */
+ public void setDocument(ArrayOfAttachment value) {
+ this.document = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� description.
+ *
+ * @return
+ * possible object is
+ * {@link Message.Description }
+ *
+ */
+ public Message.Description getDescription() {
+ return description;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� description.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message.Description }
+ *
+ */
+ public void setDescription(Message.Description value) {
+ this.description = value;
+ }
+
+
+ /**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <any/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "any"
+ })
+ public static class Description {
+
+ @XmlAnyElement(lax = true)
+ protected Object any;
+
+ /**
+ * Obtient la valeur de la propri�t� any.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public Object getAny() {
+ return any;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� any.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setAny(Object value) {
+ this.any = value;
+ }
+
+ }
+
+}
--- /dev/null
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.Service;
+
+/**
+ * This class was generated by Apache CXF 2.7.5
+ * 2013-07-26T15:52:12.770+02:00
+ * Generated source version: 2.7.5
+ *
+ */
+@WebServiceClient(name = "Messagerie",
+ wsdlLocation = "file:/C:/Documents and Settings/VIAUD-MURAT-F/Mes documents/Mairie de Bordeaux/iXbus/ixbus.wsdl",
+ targetNamespace = "http://www.srci.fr")
+public class Messagerie extends Service {
+
+ public final static URL WSDL_LOCATION;
+
+ public final static QName SERVICE = new QName("http://www.srci.fr", "Messagerie");
+ public final static QName MessagerieSoap = new QName("http://www.srci.fr", "MessagerieSoap");
+ public final static QName MessagerieSoap12 = new QName("http://www.srci.fr", "MessagerieSoap12");
+ static {
+ URL url = null;
+ try {
+ url = new URL("file:/C:/Documents and Settings/VIAUD-MURAT-F/Mes documents/Mairie de Bordeaux/iXbus/ixbus.wsdl");
+ } catch (MalformedURLException e) {
+ java.util.logging.Logger.getLogger(Messagerie.class.getName())
+ .log(java.util.logging.Level.INFO,
+ "Can not initialize the default wsdl from {0}", "file:/C:/Documents and Settings/VIAUD-MURAT-F/Mes documents/Mairie de Bordeaux/iXbus/ixbus.wsdl");
+ }
+ WSDL_LOCATION = url;
+ }
+
+ public Messagerie(URL wsdlLocation) {
+ super(wsdlLocation, SERVICE);
+ }
+
+ public Messagerie(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public Messagerie() {
+ super(WSDL_LOCATION, SERVICE);
+ }
+
+
+ /**
+ *
+ * @return
+ * returns MessagerieSoap
+ */
+ @WebEndpoint(name = "MessagerieSoap")
+ public MessagerieSoap getMessagerieSoap() {
+ return super.getPort(MessagerieSoap, MessagerieSoap.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns MessagerieSoap
+ */
+ @WebEndpoint(name = "MessagerieSoap")
+ public MessagerieSoap getMessagerieSoap(WebServiceFeature... features) {
+ return super.getPort(MessagerieSoap, MessagerieSoap.class, features);
+ }
+ /**
+ *
+ * @return
+ * returns MessagerieSoap
+ */
+ @WebEndpoint(name = "MessagerieSoap12")
+ public MessagerieSoap getMessagerieSoap12() {
+ return super.getPort(MessagerieSoap12, MessagerieSoap.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns MessagerieSoap
+ */
+ @WebEndpoint(name = "MessagerieSoap12")
+ public MessagerieSoap getMessagerieSoap12(WebServiceFeature... features) {
+ return super.getPort(MessagerieSoap12, MessagerieSoap.class, features);
+ }
+
+}
--- /dev/null
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+/**
+ * This class was generated by Apache CXF 2.7.5
+ * 2013-07-26T15:52:12.754+02:00
+ * Generated source version: 2.7.5
+ *
+ */
+@WebService(targetNamespace = "http://www.srci.fr", name = "MessagerieSoap")
+@XmlSeeAlso({ObjectFactory.class})
+public interface MessagerieSoap {
+
+ @WebResult(name = "AnnulerEnvoi2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "AnnulerEnvoi2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.AnnulerEnvoi2")
+ @WebMethod(operationName = "AnnulerEnvoi2", action = "http://www.srci.fr/AnnulerEnvoi2")
+ @ResponseWrapper(localName = "AnnulerEnvoi2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.AnnulerEnvoi2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message annulerEnvoi2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier
+ );
+
+ @WebResult(name = "EnvoyerAckResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "EnvoyerAck", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.EnvoyerAck")
+ @WebMethod(operationName = "EnvoyerAck", action = "http://www.srci.fr/EnvoyerAck")
+ @ResponseWrapper(localName = "EnvoyerAckResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.EnvoyerAckResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message envoyerAck(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+
+ @WebResult(name = "Invoquer2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Invoquer2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Invoquer2")
+ @WebMethod(operationName = "Invoquer2", action = "http://www.srci.fr/Invoquer2")
+ @ResponseWrapper(localName = "Invoquer2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Invoquer2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message invoquer2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "attach", targetNamespace = "http://www.srci.fr")
+ fr.mbdx.ixbus.client.impl.cxf.Message attach
+ );
+
+ @WebResult(name = "RecevoirAckResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "RecevoirAck", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirAck")
+ @WebMethod(operationName = "RecevoirAck", action = "http://www.srci.fr/RecevoirAck")
+ @ResponseWrapper(localName = "RecevoirAckResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirAckResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message recevoirAck(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+
+ @WebResult(name = "MettreAJourFormulaireResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "MettreAJourFormulaire", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.MettreAJourFormulaire")
+ @WebMethod(operationName = "MettreAJourFormulaire", action = "http://www.srci.fr/MettreAJourFormulaire")
+ @ResponseWrapper(localName = "MettreAJourFormulaireResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.MettreAJourFormulaireResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message mettreAJourFormulaire(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "dtVersion", targetNamespace = "http://www.srci.fr")
+ javax.xml.datatype.XMLGregorianCalendar dtVersion,
+ @WebParam(name = "sVersion", targetNamespace = "http://www.srci.fr")
+ java.lang.String sVersion,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+
+ @WebResult(name = "RecevoirListeMessageResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "RecevoirListeMessage", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirListeMessage")
+ @WebMethod(operationName = "RecevoirListeMessage", action = "http://www.srci.fr/RecevoirListeMessage")
+ @ResponseWrapper(localName = "RecevoirListeMessageResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirListeMessageResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message recevoirListeMessage(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+
+ @WebResult(name = "Recevoir2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Recevoir2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Recevoir2")
+ @WebMethod(operationName = "Recevoir2", action = "http://www.srci.fr/Recevoir2")
+ @ResponseWrapper(localName = "Recevoir2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Recevoir2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message recevoir2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier
+ );
+
+ @WebResult(name = "Envoyer2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Envoyer2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Envoyer2")
+ @WebMethod(operationName = "Envoyer2", action = "http://www.srci.fr/Envoyer2")
+ @ResponseWrapper(localName = "Envoyer2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Envoyer2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message envoyer2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "attach", targetNamespace = "http://www.srci.fr")
+ fr.mbdx.ixbus.client.impl.cxf.Message attach
+ );
+
+ @WebResult(name = "EnvoyerAck2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "EnvoyerAck2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.EnvoyerAck2")
+ @WebMethod(operationName = "EnvoyerAck2", action = "http://www.srci.fr/EnvoyerAck2")
+ @ResponseWrapper(localName = "EnvoyerAck2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.EnvoyerAck2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message envoyerAck2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier
+ );
+
+ @WebResult(name = "AnnulerResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Annuler", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Annuler")
+ @WebMethod(operationName = "Annuler", action = "http://www.srci.fr/Annuler")
+ @ResponseWrapper(localName = "AnnulerResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.AnnulerResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message annuler(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+
+ @WebResult(name = "Test2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Test2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Test2")
+ @WebMethod(operationName = "Test2", action = "http://www.srci.fr/Test2")
+ @ResponseWrapper(localName = "Test2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Test2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message test2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur
+ );
+
+ @WebResult(name = "RecevoirResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Recevoir", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Recevoir")
+ @WebMethod(operationName = "Recevoir", action = "http://www.srci.fr/Recevoir")
+ @ResponseWrapper(localName = "RecevoirResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message recevoir(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+
+ @WebResult(name = "SoumettreCertificat2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "SoumettreCertificat2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.SoumettreCertificat2")
+ @WebMethod(operationName = "SoumettreCertificat2", action = "http://www.srci.fr/SoumettreCertificat2")
+ @ResponseWrapper(localName = "SoumettreCertificat2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.SoumettreCertificat2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message soumettreCertificat2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "Certificat", targetNamespace = "http://www.srci.fr")
+ byte[] certificat
+ );
+
+ @WebResult(name = "EnvoyerResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Envoyer", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Envoyer")
+ @WebMethod(operationName = "Envoyer", action = "http://www.srci.fr/Envoyer")
+ @ResponseWrapper(localName = "EnvoyerResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.EnvoyerResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message envoyer(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "attach", targetNamespace = "http://www.srci.fr")
+ fr.mbdx.ixbus.client.impl.cxf.Message attach,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+
+ @WebResult(name = "RecevoirAck2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "RecevoirAck2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirAck2")
+ @WebMethod(operationName = "RecevoirAck2", action = "http://www.srci.fr/RecevoirAck2")
+ @ResponseWrapper(localName = "RecevoirAck2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirAck2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message recevoirAck2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "NomFichier", targetNamespace = "http://www.srci.fr")
+ java.lang.String nomFichier
+ );
+
+ @WebResult(name = "MettreAJourFormulaire2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "MettreAJourFormulaire2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.MettreAJourFormulaire2")
+ @WebMethod(operationName = "MettreAJourFormulaire2", action = "http://www.srci.fr/MettreAJourFormulaire2")
+ @ResponseWrapper(localName = "MettreAJourFormulaire2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.MettreAJourFormulaire2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message mettreAJourFormulaire2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur,
+ @WebParam(name = "DateVersion", targetNamespace = "http://www.srci.fr")
+ javax.xml.datatype.XMLGregorianCalendar dateVersion,
+ @WebParam(name = "NumeroVersion", targetNamespace = "http://www.srci.fr")
+ java.lang.String numeroVersion,
+ @WebParam(name = "attach", targetNamespace = "http://www.srci.fr")
+ fr.mbdx.ixbus.client.impl.cxf.Message attach
+ );
+
+ @WebResult(name = "RecevoirListeMessage2Result", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "RecevoirListeMessage2", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirListeMessage2")
+ @WebMethod(operationName = "RecevoirListeMessage2", action = "http://www.srci.fr/RecevoirListeMessage2")
+ @ResponseWrapper(localName = "RecevoirListeMessage2Response", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.RecevoirListeMessage2Response")
+ public fr.mbdx.ixbus.client.impl.cxf.Message recevoirListeMessage2(
+ @WebParam(name = "IdentifiantSpecifique", targetNamespace = "http://www.srci.fr")
+ java.lang.String identifiantSpecifique,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CodeUtilisateur", targetNamespace = "http://www.srci.fr")
+ int codeUtilisateur
+ );
+
+ @WebResult(name = "TestResult", targetNamespace = "http://www.srci.fr")
+ @RequestWrapper(localName = "Test", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.Test")
+ @WebMethod(operationName = "Test", action = "http://www.srci.fr/Test")
+ @ResponseWrapper(localName = "TestResponse", targetNamespace = "http://www.srci.fr", className = "fr.mbdx.ixbus.client.impl.cxf.TestResponse")
+ public fr.mbdx.ixbus.client.impl.cxf.Message test(
+ @WebParam(name = "Utilisateur", targetNamespace = "http://www.srci.fr")
+ java.lang.String utilisateur,
+ @WebParam(name = "MotDePasse", targetNamespace = "http://www.srci.fr")
+ java.lang.String motDePasse,
+ @WebParam(name = "CertificatCle", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatCle,
+ @WebParam(name = "CertificatNumSerie", targetNamespace = "http://www.srci.fr")
+ java.lang.String certificatNumSerie
+ );
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="dtVersion" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ * <element name="sVersion" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "codeUtilisateur",
+ "dtVersion",
+ "sVersion",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "MettreAJourFormulaire")
+public class MettreAJourFormulaire {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar dtVersion;
+ protected String sVersion;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dtVersion.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDtVersion() {
+ return dtVersion;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dtVersion.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDtVersion(XMLGregorianCalendar value) {
+ this.dtVersion = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� sVersion.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSVersion() {
+ return sVersion;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� sVersion.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSVersion(String value) {
+ this.sVersion = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="DateVersion" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ * <element name="NumeroVersion" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="attach" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "dateVersion",
+ "numeroVersion",
+ "attach"
+})
+@XmlRootElement(name = "MettreAJourFormulaire2")
+public class MettreAJourFormulaire2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "DateVersion", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar dateVersion;
+ @XmlElement(name = "NumeroVersion")
+ protected String numeroVersion;
+ protected Message attach;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� dateVersion.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateVersion() {
+ return dateVersion;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� dateVersion.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateVersion(XMLGregorianCalendar value) {
+ this.dateVersion = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� numeroVersion.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNumeroVersion() {
+ return numeroVersion;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� numeroVersion.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNumeroVersion(String value) {
+ this.numeroVersion = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� attach.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getAttach() {
+ return attach;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� attach.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setAttach(Message value) {
+ this.attach = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MettreAJourFormulaire2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "mettreAJourFormulaire2Result"
+})
+@XmlRootElement(name = "MettreAJourFormulaire2Response")
+public class MettreAJourFormulaire2Response {
+
+ @XmlElement(name = "MettreAJourFormulaire2Result")
+ protected Message mettreAJourFormulaire2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� mettreAJourFormulaire2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getMettreAJourFormulaire2Result() {
+ return mettreAJourFormulaire2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� mettreAJourFormulaire2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setMettreAJourFormulaire2Result(Message value) {
+ this.mettreAJourFormulaire2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MettreAJourFormulaireResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "mettreAJourFormulaireResult"
+})
+@XmlRootElement(name = "MettreAJourFormulaireResponse")
+public class MettreAJourFormulaireResponse {
+
+ @XmlElement(name = "MettreAJourFormulaireResult")
+ protected Message mettreAJourFormulaireResult;
+
+ /**
+ * Obtient la valeur de la propri�t� mettreAJourFormulaireResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getMettreAJourFormulaireResult() {
+ return mettreAJourFormulaireResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� mettreAJourFormulaireResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setMettreAJourFormulaireResult(Message value) {
+ this.mettreAJourFormulaireResult = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the fr.mbdx.ixbus.client.impl.cxf package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: fr.mbdx.ixbus.client.impl.cxf
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link Message }
+ *
+ */
+ public Message createMessage() {
+ return new Message();
+ }
+
+ /**
+ * Create an instance of {@link AnnulerEnvoi2Response }
+ *
+ */
+ public AnnulerEnvoi2Response createAnnulerEnvoi2Response() {
+ return new AnnulerEnvoi2Response();
+ }
+
+ /**
+ * Create an instance of {@link MettreAJourFormulaire }
+ *
+ */
+ public MettreAJourFormulaire createMettreAJourFormulaire() {
+ return new MettreAJourFormulaire();
+ }
+
+ /**
+ * Create an instance of {@link TestResponse }
+ *
+ */
+ public TestResponse createTestResponse() {
+ return new TestResponse();
+ }
+
+ /**
+ * Create an instance of {@link Envoyer2Response }
+ *
+ */
+ public Envoyer2Response createEnvoyer2Response() {
+ return new Envoyer2Response();
+ }
+
+ /**
+ * Create an instance of {@link Test2 }
+ *
+ */
+ public Test2 createTest2() {
+ return new Test2();
+ }
+
+ /**
+ * Create an instance of {@link Envoyer }
+ *
+ */
+ public Envoyer createEnvoyer() {
+ return new Envoyer();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirListeMessage }
+ *
+ */
+ public RecevoirListeMessage createRecevoirListeMessage() {
+ return new RecevoirListeMessage();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirListeMessage2 }
+ *
+ */
+ public RecevoirListeMessage2 createRecevoirListeMessage2() {
+ return new RecevoirListeMessage2();
+ }
+
+ /**
+ * Create an instance of {@link Test }
+ *
+ */
+ public Test createTest() {
+ return new Test();
+ }
+
+ /**
+ * Create an instance of {@link Recevoir2 }
+ *
+ */
+ public Recevoir2 createRecevoir2() {
+ return new Recevoir2();
+ }
+
+ /**
+ * Create an instance of {@link SoumettreCertificat2Response }
+ *
+ */
+ public SoumettreCertificat2Response createSoumettreCertificat2Response() {
+ return new SoumettreCertificat2Response();
+ }
+
+ /**
+ * Create an instance of {@link AnnulerEnvoi2 }
+ *
+ */
+ public AnnulerEnvoi2 createAnnulerEnvoi2() {
+ return new AnnulerEnvoi2();
+ }
+
+ /**
+ * Create an instance of {@link Recevoir }
+ *
+ */
+ public Recevoir createRecevoir() {
+ return new Recevoir();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirAckResponse }
+ *
+ */
+ public RecevoirAckResponse createRecevoirAckResponse() {
+ return new RecevoirAckResponse();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirResponse }
+ *
+ */
+ public RecevoirResponse createRecevoirResponse() {
+ return new RecevoirResponse();
+ }
+
+ /**
+ * Create an instance of {@link Recevoir2Response }
+ *
+ */
+ public Recevoir2Response createRecevoir2Response() {
+ return new Recevoir2Response();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerAckResponse }
+ *
+ */
+ public EnvoyerAckResponse createEnvoyerAckResponse() {
+ return new EnvoyerAckResponse();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerResponse }
+ *
+ */
+ public EnvoyerResponse createEnvoyerResponse() {
+ return new EnvoyerResponse();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerAck }
+ *
+ */
+ public EnvoyerAck createEnvoyerAck() {
+ return new EnvoyerAck();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirListeMessageResponse }
+ *
+ */
+ public RecevoirListeMessageResponse createRecevoirListeMessageResponse() {
+ return new RecevoirListeMessageResponse();
+ }
+
+ /**
+ * Create an instance of {@link Annuler }
+ *
+ */
+ public Annuler createAnnuler() {
+ return new Annuler();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerAck2Response }
+ *
+ */
+ public EnvoyerAck2Response createEnvoyerAck2Response() {
+ return new EnvoyerAck2Response();
+ }
+
+ /**
+ * Create an instance of {@link Envoyer2 }
+ *
+ */
+ public Envoyer2 createEnvoyer2() {
+ return new Envoyer2();
+ }
+
+ /**
+ * Create an instance of {@link MettreAJourFormulaire2 }
+ *
+ */
+ public MettreAJourFormulaire2 createMettreAJourFormulaire2() {
+ return new MettreAJourFormulaire2();
+ }
+
+ /**
+ * Create an instance of {@link EnvoyerAck2 }
+ *
+ */
+ public EnvoyerAck2 createEnvoyerAck2() {
+ return new EnvoyerAck2();
+ }
+
+ /**
+ * Create an instance of {@link MettreAJourFormulaireResponse }
+ *
+ */
+ public MettreAJourFormulaireResponse createMettreAJourFormulaireResponse() {
+ return new MettreAJourFormulaireResponse();
+ }
+
+ /**
+ * Create an instance of {@link Invoquer2Response }
+ *
+ */
+ public Invoquer2Response createInvoquer2Response() {
+ return new Invoquer2Response();
+ }
+
+ /**
+ * Create an instance of {@link SoumettreCertificat2 }
+ *
+ */
+ public SoumettreCertificat2 createSoumettreCertificat2() {
+ return new SoumettreCertificat2();
+ }
+
+ /**
+ * Create an instance of {@link Test2Response }
+ *
+ */
+ public Test2Response createTest2Response() {
+ return new Test2Response();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirAck }
+ *
+ */
+ public RecevoirAck createRecevoirAck() {
+ return new RecevoirAck();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirListeMessage2Response }
+ *
+ */
+ public RecevoirListeMessage2Response createRecevoirListeMessage2Response() {
+ return new RecevoirListeMessage2Response();
+ }
+
+ /**
+ * Create an instance of {@link AnnulerResponse }
+ *
+ */
+ public AnnulerResponse createAnnulerResponse() {
+ return new AnnulerResponse();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirAck2 }
+ *
+ */
+ public RecevoirAck2 createRecevoirAck2() {
+ return new RecevoirAck2();
+ }
+
+ /**
+ * Create an instance of {@link RecevoirAck2Response }
+ *
+ */
+ public RecevoirAck2Response createRecevoirAck2Response() {
+ return new RecevoirAck2Response();
+ }
+
+ /**
+ * Create an instance of {@link Invoquer2 }
+ *
+ */
+ public Invoquer2 createInvoquer2() {
+ return new Invoquer2();
+ }
+
+ /**
+ * Create an instance of {@link MettreAJourFormulaire2Response }
+ *
+ */
+ public MettreAJourFormulaire2Response createMettreAJourFormulaire2Response() {
+ return new MettreAJourFormulaire2Response();
+ }
+
+ /**
+ * Create an instance of {@link Attachment }
+ *
+ */
+ public Attachment createAttachment() {
+ return new Attachment();
+ }
+
+ /**
+ * Create an instance of {@link ArrayOfAttachment }
+ *
+ */
+ public ArrayOfAttachment createArrayOfAttachment() {
+ return new ArrayOfAttachment();
+ }
+
+ /**
+ * Create an instance of {@link Message.Description }
+ *
+ */
+ public Message.Description createMessageDescription() {
+ return new Message.Description();
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "Recevoir")
+public class Recevoir {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier"
+})
+@XmlRootElement(name = "Recevoir2")
+public class Recevoir2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Recevoir2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "recevoir2Result"
+})
+@XmlRootElement(name = "Recevoir2Response")
+public class Recevoir2Response {
+
+ @XmlElement(name = "Recevoir2Result")
+ protected Message recevoir2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� recevoir2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getRecevoir2Result() {
+ return recevoir2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� recevoir2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setRecevoir2Result(Message value) {
+ this.recevoir2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "RecevoirAck")
+public class RecevoirAck {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="NomFichier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "nomFichier"
+})
+@XmlRootElement(name = "RecevoirAck2")
+public class RecevoirAck2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "NomFichier")
+ protected String nomFichier;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� nomFichier.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNomFichier() {
+ return nomFichier;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� nomFichier.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNomFichier(String value) {
+ this.nomFichier = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RecevoirAck2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "recevoirAck2Result"
+})
+@XmlRootElement(name = "RecevoirAck2Response")
+public class RecevoirAck2Response {
+
+ @XmlElement(name = "RecevoirAck2Result")
+ protected Message recevoirAck2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� recevoirAck2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getRecevoirAck2Result() {
+ return recevoirAck2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� recevoirAck2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setRecevoirAck2Result(Message value) {
+ this.recevoirAck2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RecevoirAckResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "recevoirAckResult"
+})
+@XmlRootElement(name = "RecevoirAckResponse")
+public class RecevoirAckResponse {
+
+ @XmlElement(name = "RecevoirAckResult")
+ protected Message recevoirAckResult;
+
+ /**
+ * Obtient la valeur de la propri�t� recevoirAckResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getRecevoirAckResult() {
+ return recevoirAckResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� recevoirAckResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setRecevoirAckResult(Message value) {
+ this.recevoirAckResult = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "codeUtilisateur",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "RecevoirListeMessage")
+public class RecevoirListeMessage {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur"
+})
+@XmlRootElement(name = "RecevoirListeMessage2")
+public class RecevoirListeMessage2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RecevoirListeMessage2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "recevoirListeMessage2Result"
+})
+@XmlRootElement(name = "RecevoirListeMessage2Response")
+public class RecevoirListeMessage2Response {
+
+ @XmlElement(name = "RecevoirListeMessage2Result")
+ protected Message recevoirListeMessage2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� recevoirListeMessage2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getRecevoirListeMessage2Result() {
+ return recevoirListeMessage2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� recevoirListeMessage2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setRecevoirListeMessage2Result(Message value) {
+ this.recevoirListeMessage2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RecevoirListeMessageResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "recevoirListeMessageResult"
+})
+@XmlRootElement(name = "RecevoirListeMessageResponse")
+public class RecevoirListeMessageResponse {
+
+ @XmlElement(name = "RecevoirListeMessageResult")
+ protected Message recevoirListeMessageResult;
+
+ /**
+ * Obtient la valeur de la propri�t� recevoirListeMessageResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getRecevoirListeMessageResult() {
+ return recevoirListeMessageResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� recevoirListeMessageResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setRecevoirListeMessageResult(Message value) {
+ this.recevoirListeMessageResult = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="RecevoirResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "recevoirResult"
+})
+@XmlRootElement(name = "RecevoirResponse")
+public class RecevoirResponse {
+
+ @XmlElement(name = "RecevoirResult")
+ protected Message recevoirResult;
+
+ /**
+ * Obtient la valeur de la propri�t� recevoirResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getRecevoirResult() {
+ return recevoirResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� recevoirResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setRecevoirResult(Message value) {
+ this.recevoirResult = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="Certificat" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur",
+ "certificat"
+})
+@XmlRootElement(name = "SoumettreCertificat2")
+public class SoumettreCertificat2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+ @XmlElement(name = "Certificat")
+ protected byte[] certificat;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificat.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getCertificat() {
+ return certificat;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificat.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setCertificat(byte[] value) {
+ this.certificat = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SoumettreCertificat2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "soumettreCertificat2Result"
+})
+@XmlRootElement(name = "SoumettreCertificat2Response")
+public class SoumettreCertificat2Response {
+
+ @XmlElement(name = "SoumettreCertificat2Result")
+ protected Message soumettreCertificat2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� soumettreCertificat2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getSoumettreCertificat2Result() {
+ return soumettreCertificat2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� soumettreCertificat2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setSoumettreCertificat2Result(Message value) {
+ this.soumettreCertificat2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Utilisateur" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatCle" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CertificatNumSerie" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "utilisateur",
+ "motDePasse",
+ "certificatCle",
+ "certificatNumSerie"
+})
+@XmlRootElement(name = "Test")
+public class Test {
+
+ @XmlElement(name = "Utilisateur")
+ protected String utilisateur;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CertificatCle")
+ protected String certificatCle;
+ @XmlElement(name = "CertificatNumSerie")
+ protected String certificatNumSerie;
+
+ /**
+ * Obtient la valeur de la propri�t� utilisateur.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUtilisateur() {
+ return utilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� utilisateur.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUtilisateur(String value) {
+ this.utilisateur = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatCle.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatCle() {
+ return certificatCle;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatCle.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatCle(String value) {
+ this.certificatCle = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� certificatNumSerie.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCertificatNumSerie() {
+ return certificatNumSerie;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� certificatNumSerie.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCertificatNumSerie(String value) {
+ this.certificatNumSerie = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="IdentifiantSpecifique" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="MotDePasse" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="CodeUtilisateur" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "identifiantSpecifique",
+ "motDePasse",
+ "codeUtilisateur"
+})
+@XmlRootElement(name = "Test2")
+public class Test2 {
+
+ @XmlElement(name = "IdentifiantSpecifique")
+ protected String identifiantSpecifique;
+ @XmlElement(name = "MotDePasse")
+ protected String motDePasse;
+ @XmlElement(name = "CodeUtilisateur")
+ protected int codeUtilisateur;
+
+ /**
+ * Obtient la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifiantSpecifique() {
+ return identifiantSpecifique;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� identifiantSpecifique.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifiantSpecifique(String value) {
+ this.identifiantSpecifique = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� motDePasse.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMotDePasse() {
+ return motDePasse;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� motDePasse.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMotDePasse(String value) {
+ this.motDePasse = value;
+ }
+
+ /**
+ * Obtient la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public int getCodeUtilisateur() {
+ return codeUtilisateur;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� codeUtilisateur.
+ *
+ */
+ public void setCodeUtilisateur(int value) {
+ this.codeUtilisateur = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Test2Result" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "test2Result"
+})
+@XmlRootElement(name = "Test2Response")
+public class Test2Response {
+
+ @XmlElement(name = "Test2Result")
+ protected Message test2Result;
+
+ /**
+ * Obtient la valeur de la propri�t� test2Result.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getTest2Result() {
+ return test2Result;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� test2Result.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setTest2Result(Message value) {
+ this.test2Result = value;
+ }
+
+}
--- /dev/null
+
+package fr.mbdx.ixbus.client.impl.cxf;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Classe Java pour anonymous complex type.
+ *
+ * <p>Le fragment de sch�ma suivant indique le contenu attendu figurant dans cette classe.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="TestResult" type="{http://www.srci.fr}Message" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "testResult"
+})
+@XmlRootElement(name = "TestResponse")
+public class TestResponse {
+
+ @XmlElement(name = "TestResult")
+ protected Message testResult;
+
+ /**
+ * Obtient la valeur de la propri�t� testResult.
+ *
+ * @return
+ * possible object is
+ * {@link Message }
+ *
+ */
+ public Message getTestResult() {
+ return testResult;
+ }
+
+ /**
+ * D�finit la valeur de la propri�t� testResult.
+ *
+ * @param value
+ * allowed object is
+ * {@link Message }
+ *
+ */
+ public void setTestResult(Message value) {
+ this.testResult = value;
+ }
+
+}
--- /dev/null
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.srci.fr", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package fr.mbdx.ixbus.client.impl.cxf;
--- /dev/null
+/**
+ *
+ */
+package fr.mbdx.ixbus.client.test;
+
+import static org.junit.Assert.*;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import fr.mbdx.ixbus.client.Ack;
+import fr.mbdx.ixbus.client.Attachment;
+import fr.mbdx.ixbus.client.impl.AttachmentCfxImpl;
+import fr.mbdx.ixbus.client.impl.ClientCxfImpl;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration
+public class ClientTest {
+
+ static {
+ Logger rootLogger = Logger.getRootLogger();
+ rootLogger.setLevel(Level.TRACE);
+ rootLogger.addAppender(new ConsoleAppender(
+ new PatternLayout("%-6r [%p] %c - %m%n")));
+ }
+
+ public static DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'_'HHmm");
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ @Autowired
+ ClientCxfImpl client;
+
+ @Autowired
+ String fichier1;
+
+ @Autowired
+ String fichier2;
+
+ @Autowired
+ String fichier3;
+
+ @Autowired
+ String fichier4;
+
+ @Autowired
+ String fichier5;
+
+ //@Autowired
+ //String nomDocumentOperationFlux;
+
+ //@Autowired
+ //String dateOperationFlux;
+
+ @Autowired
+ String siret;
+
+ List<String> listMessage = null;
+
+ List<Attachment> listAttachment = null;
+
+ @BeforeClass
+ public static void onlyOnce() {
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {
+ //Permet de débugger la session HTTP
+ System.setProperty("javax.net.debug" , "all");
+ System.getProperties().put("proxySet", "true");
+ System.getProperties().put("proxyHost", "mlprox.bull.fr");
+ System.getProperties().put("proxyPort", "80");
+ client.setUp();
+ if (listAttachment == null) {
+ listAttachment = new ArrayList<Attachment>();
+ listAttachment.add(new AttachmentCfxImpl(fichier1));
+ listAttachment.add(new AttachmentCfxImpl(fichier2));
+// listAttachment.add(new AttachmentCfxImpl(fichier3));
+// listAttachment.add(new AttachmentCfxImpl(fichier4));
+// for (Attachment attach : listAttachment) {
+// attach.setName(getUniqueFileName(attach.getName()));
+// }
+ }
+ }
+
+ @Test
+ public void testConnect() {
+ try {
+ client.test();
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testEnvoyer() {
+ try {
+ client.envoyer(listAttachment);
+
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testEnvoyerRecevoirAck() {
+ FileOutputStream fos = null;
+ try {
+ client.envoyer(listAttachment);
+ Ack ack = client.recevoirAck(listAttachment.get(0).getName());
+ assertEquals(ack.getStatut().name(), "ACK");
+ assertTrue(ack.getAttachment().getSize() > 0);
+ File file = File.createTempFile(ack.getStatut().name(), null);
+ fos = new FileOutputStream(file);
+ fos.write(ack.getAttachment().getContent());
+ log.trace("Writing attachment to " + file.getAbsolutePath());
+ fos.close();
+ //assertNotNull(ack.getStatut());
+ //assertNotNull(ack.getCommentaire());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ //@Ignore
+ public void recevoirAck() {
+ try {
+ Ack ack = client.recevoirAck(fichier5);
+ //assertNotNull(ack.getStatut());
+ //assertNotNull(ack.getCommentaire());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testEnvoyerAnnuler() {
+ try {
+ client.envoyer(listAttachment);
+ client.annulerEnvoi(listAttachment.get(0).getName());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testRecevoirListeMessage() {
+ try {
+ listMessage = client.recevoirListeMessage();
+ assertTrue(listMessage.size() > 0);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testRecevoir() {
+ BufferedOutputStream bos = null;
+ try {
+ Attachment attach = client.recevoir(listMessage.get(0));
+ assertTrue(attach.getSize() > 0);
+ String name = attach.getName();
+ int pos = name.indexOf(".");
+ String prefix = pos > 0 ? name.substring(0, pos) : name;
+ String suffix = pos > 0 ? name.substring(pos) : ".tmp";
+ File temp = File.createTempFile(prefix, suffix);
+ FileOutputStream fos = new FileOutputStream(temp);
+ bos = new BufferedOutputStream(fos);
+ bos.write(attach.getContent());
+ bos.close();
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ @Test
+ @Ignore
+ public void testEnvoyerAck() {
+ try {
+ client.envoyerAck(listMessage.get(0));
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+// TODO fonctionnement méthode invoquer à préciser
+// @Test
+// public void testInvoquer() {
+// try {
+// Attachment attach = client.invoquer(nomDocumentOperationFlux, dateOperationFlux);
+// assertNotNull(attach);
+// } catch (Exception e) {
+// fail(e.getMessage());
+// }
+// }
+
+ String getUniqueFileName(String filename) {
+ Date now = new Date();
+ //<IdentifiantEditeur>_<CodeUtilisateur>_<SIRET>_<Date>_<Heure>_<NuméroSéquentielQuotidien>
+ String result = client.getIdentifiantSpecifique() + "_" + String.valueOf(client.getCodeUtilisateur()) + "_" + siret + "_" + dateFormat.format(now) + "_" + filename;
+ log.trace("Unique file name: " + result);
+ return result;
+ }
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.09.05 at 03:53:43 PM CEST
+//
+
+
+package fr.mbdx.ixbus.pj;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="MainDocument" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Annexe" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "mainDocument",
+ "annexe"
+})
+@XmlRootElement(name = "Attachment")
+public class Attachment {
+
+ @XmlElement(name = "MainDocument", required = true)
+ protected String mainDocument;
+ @XmlElement(name = "Annexe")
+ protected List<String> annexe;
+
+ /**
+ * Gets the value of the mainDocument property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMainDocument() {
+ return mainDocument;
+ }
+
+ /**
+ * Sets the value of the mainDocument property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMainDocument(String value) {
+ this.mainDocument = value;
+ }
+
+ /**
+ * Gets the value of the annexe property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the annexe property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAnnexe().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getAnnexe() {
+ if (annexe == null) {
+ annexe = new ArrayList<String>();
+ }
+ return this.annexe;
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.09.05 at 03:53:43 PM CEST
+//
+
+
+package fr.mbdx.ixbus.pj;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the fr.mbdx.ixbus.pj package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: fr.mbdx.ixbus.pj
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link Attachment }
+ *
+ */
+ public Attachment createAttachment() {
+ return new Attachment();
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2014.01.08 at 12:24:52 PM CET
+//
+
+
+package fr.srci.xmlschema.legalitycontrol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SIREN" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="Department" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="DepartmentSubdivision" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="IssuerNature" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="Referent">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Telephone" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ElectronicMail" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "siren",
+ "department",
+ "departmentSubdivision",
+ "issuerNature",
+ "referent"
+})
+public class Issuer {
+
+ @XmlElement(name = "SIREN")
+ protected int siren;
+ @XmlElement(name = "Department", required = true)
+ protected String department;
+ @XmlElement(name = "DepartmentSubdivision", required = true)
+ protected String departmentSubdivision;
+ @XmlElement(name = "IssuerNature")
+ protected int issuerNature;
+ @XmlElement(name = "Referent", required = true)
+ protected Referent referent;
+
+ /**
+ * Gets the value of the siren property.
+ *
+ */
+ public int getSIREN() {
+ return siren;
+ }
+
+ /**
+ * Sets the value of the siren property.
+ *
+ */
+ public void setSIREN(int value) {
+ this.siren = value;
+ }
+
+ /**
+ * Gets the value of the department property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDepartment() {
+ return department;
+ }
+
+ /**
+ * Sets the value of the department property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDepartment(String value) {
+ this.department = value;
+ }
+
+ /**
+ * Gets the value of the departmentSubdivision property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDepartmentSubdivision() {
+ return departmentSubdivision;
+ }
+
+ /**
+ * Sets the value of the departmentSubdivision property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDepartmentSubdivision(String value) {
+ this.departmentSubdivision = value;
+ }
+
+ /**
+ * Gets the value of the issuerNature property.
+ *
+ */
+ public int getIssuerNature() {
+ return issuerNature;
+ }
+
+ /**
+ * Sets the value of the issuerNature property.
+ *
+ */
+ public void setIssuerNature(int value) {
+ this.issuerNature = value;
+ }
+
+ /**
+ * Gets the value of the referent property.
+ *
+ * @return
+ * possible object is
+ * {@link Referent }
+ *
+ */
+ public Referent getReferent() {
+ return referent;
+ }
+
+ /**
+ * Sets the value of the referent property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Referent }
+ *
+ */
+ public void setReferent(Referent value) {
+ this.referent = value;
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2014.01.08 at 12:24:52 PM CET
+//
+
+
+package fr.srci.xmlschema.legalitycontrol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Issuer">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="SIREN" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="Department" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="DepartmentSubdivision" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="IssuerNature" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="Referent">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Telephone" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ElectronicMail" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="ResponseMail" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Transaction">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ActID" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ActDate" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ActNature" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Content" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Subject" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ClassificationVersionDate" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "issuer",
+ "responseMail",
+ "transaction"
+})
+@XmlRootElement(name = "LegalityControl")
+public class LegalityControl {
+
+ @XmlElement(name = "Issuer", required = true)
+ protected Issuer issuer;
+ @XmlElement(name = "ResponseMail", required = true)
+ protected String responseMail;
+ @XmlElement(name = "Transaction", required = true)
+ protected Transaction transaction;
+
+ /**
+ * Gets the value of the issuer property.
+ *
+ * @return
+ * possible object is
+ * {@link Issuer }
+ *
+ */
+ public Issuer getIssuer() {
+ return issuer;
+ }
+
+ /**
+ * Sets the value of the issuer property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Issuer }
+ *
+ */
+ public void setIssuer(Issuer value) {
+ this.issuer = value;
+ }
+
+ /**
+ * Gets the value of the responseMail property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResponseMail() {
+ return responseMail;
+ }
+
+ /**
+ * Sets the value of the responseMail property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResponseMail(String value) {
+ this.responseMail = value;
+ }
+
+ /**
+ * Gets the value of the transaction property.
+ *
+ * @return
+ * possible object is
+ * {@link Transaction }
+ *
+ */
+ public Transaction getTransaction() {
+ return transaction;
+ }
+
+ /**
+ * Sets the value of the transaction property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Transaction }
+ *
+ */
+ public void setTransaction(Transaction value) {
+ this.transaction = value;
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2014.01.08 at 12:24:52 PM CET
+//
+
+
+package fr.srci.xmlschema.legalitycontrol;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the fr.srci.xmlschema.legalitycontrol package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: fr.srci.xmlschema.legalitycontrol
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link Issuer }
+ *
+ */
+ public Issuer createIssuer() {
+ return new Issuer();
+ }
+
+ /**
+ * Create an instance of {@link LegalityControl }
+ *
+ */
+ public LegalityControl createLegalityControl() {
+ return new LegalityControl();
+ }
+
+ /**
+ * Create an instance of {@link Transaction }
+ *
+ */
+ public Transaction createTransaction() {
+ return new Transaction();
+ }
+
+ /**
+ * Create an instance of {@link Referent }
+ *
+ */
+ public Referent createReferent() {
+ return new Referent();
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2014.01.08 at 12:24:52 PM CET
+//
+
+
+package fr.srci.xmlschema.legalitycontrol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Telephone" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ElectronicMail" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "name",
+ "telephone",
+ "electronicMail"
+})
+public class Referent {
+
+ @XmlElement(name = "Name", required = true)
+ protected String name;
+ @XmlElement(name = "Telephone", required = true)
+ protected String telephone;
+ @XmlElement(name = "ElectronicMail", required = true)
+ protected String electronicMail;
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the telephone property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTelephone() {
+ return telephone;
+ }
+
+ /**
+ * Sets the value of the telephone property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTelephone(String value) {
+ this.telephone = value;
+ }
+
+ /**
+ * Gets the value of the electronicMail property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getElectronicMail() {
+ return electronicMail;
+ }
+
+ /**
+ * Sets the value of the electronicMail property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setElectronicMail(String value) {
+ this.electronicMail = value;
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2014.01.08 at 12:24:52 PM CET
+//
+
+
+package fr.srci.xmlschema.legalitycontrol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="ActID" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ActDate" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ActNature" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Content" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="Subject" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="ClassificationVersionDate" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "actID",
+ "actDate",
+ "actNature",
+ "content",
+ "subject",
+ "classificationVersionDate"
+})
+public class Transaction {
+
+ @XmlElement(name = "ActID", required = true)
+ protected String actID;
+ @XmlElement(name = "ActDate", required = true)
+ protected String actDate;
+ @XmlElement(name = "ActNature", required = true)
+ protected String actNature;
+ @XmlElement(name = "Content", required = true)
+ protected String content;
+ @XmlElement(name = "Subject", required = true)
+ protected String subject;
+ @XmlElement(name = "ClassificationVersionDate", required = true)
+ protected String classificationVersionDate;
+
+ /**
+ * Gets the value of the actID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getActID() {
+ return actID;
+ }
+
+ /**
+ * Sets the value of the actID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setActID(String value) {
+ this.actID = value;
+ }
+
+ /**
+ * Gets the value of the actDate property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getActDate() {
+ return actDate;
+ }
+
+ /**
+ * Sets the value of the actDate property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setActDate(String value) {
+ this.actDate = value;
+ }
+
+ /**
+ * Gets the value of the actNature property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getActNature() {
+ return actNature;
+ }
+
+ /**
+ * Sets the value of the actNature property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setActNature(String value) {
+ this.actNature = value;
+ }
+
+ /**
+ * Gets the value of the content property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getContent() {
+ return content;
+ }
+
+ /**
+ * Sets the value of the content property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setContent(String value) {
+ this.content = value;
+ }
+
+ /**
+ * Gets the value of the subject property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubject() {
+ return subject;
+ }
+
+ /**
+ * Sets the value of the subject property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubject(String value) {
+ this.subject = value;
+ }
+
+ /**
+ * Gets the value of the classificationVersionDate property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getClassificationVersionDate() {
+ return classificationVersionDate;
+ }
+
+ /**
+ * Sets the value of the classificationVersionDate property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setClassificationVersionDate(String value) {
+ this.classificationVersionDate = value;
+ }
+
+}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2014.01.08 at 12:24:52 PM CET
+//
+
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.srci.fr/XMLSchema/LegalityControl", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package fr.srci.xmlschema.legalitycontrol;
--- /dev/null
+#
+# A simple, old format, mime.types file
+#
+text/xml xml XML xslt XSLT xsl XSL xsd XSD
+application/pdf pdf PDF
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>fr.mbdx.vidoc</groupId>
+ <artifactId>Activiti</artifactId>
+ <version>1.2.1-SNAPSHOT</version>
+
+ <name>Activiti Maven Multi-Modules Project</name>
+ <description>Projet Maven Multi-Modules pour la génération des WAR Activiti avec injection des développements</description>
+ <packaging>pom</packaging>
+ <scm>
+ <developerConnection>scm:svn:http://vm-poutils/svn/mbdx-vidoc/activiti/trunk</developerConnection>
+ </scm>
+
+ <distributionManagement>
+ <repository>
+ <id>nexus</id>
+ <name>Internal Releases</name>
+ <url>http://vm-poutils:8082/nexus/content/repositories/releases/</url>
+ </repository>
+ <snapshotRepository>
+ <id>nexus</id>
+ <name>Internal Snapshots</name>
+ <url>http://vm-poutils:8082/nexus/content/repositories/snapshots/</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <!-- TODO : A REVALIDER AVEC LA VERSION ENTERPRISE
+ <parent>
+ <groupId>org.alfresco.maven</groupId>
+ <artifactId>alfresco-sdk-parent</artifactId>
+ <version>1.0.2</version>
+ </parent>-->
+
+ <!-- ******************************************************************************
+ Configuration Maven permettant d'ignorer les warnings liés aux "goals" :
+ "set-version" et "add-test-resource" non-utilisés dans le cadre du projet VIDOC.
+ ****************************************************************************** -->
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.alfresco.maven.plugin</groupId>
+ <artifactId>alfresco-maven-plugin</artifactId>
+ <versionRange>[0.0.0,)</versionRange>
+ <goals>
+ <goal>set-version</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <execute>
+ <runOnIncremental>false</runOnIncremental>
+ </execute>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <versionRange>[1.7,)</versionRange>
+ <goals>
+ <goal>add-test-resource</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+<!-- <repositories>
+ <repository>
+ <id>Novaforge Bull</id>
+ <name>Repository Novaforge Bull pour VIDOC</name>
+ <url>https://novaforge.bull.com/nexus-default/nexus/content/repositories/mairiedebordeaux_nexusrepo_release</url>
+ </repository>
+ <repository>
+ <id>alfresco-public</id>
+ <url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
+ </repository>
+ </repositories> -->
+
+ <modules>
+ <module>iParapheurClient</module>
+ <module>iXbusClient</module>
+ <module>InstructionPc</module>
+
+ <module>NoyauExplorer</module>
+ <module>NoyauRest</module>
+ </modules>
+</project>
\ No newline at end of file