import fr.gouv.finances.dgfip.xemelios.auth.XemeliosUser;
import fr.gouv.finances.dgfip.xemelios.common.Constants;
import fr.gouv.finances.dgfip.xemelios.common.config.DocumentModel;
-import fr.gouv.finances.dgfip.xemelios.common.config.Loader;
import fr.gouv.finances.dgfip.xemelios.data.DataLayerManager;
import fr.gouv.finances.dgfip.xemelios.importers.EtatImporteur;
import fr.gouv.finances.dgfip.xemelios.importers.XemeliosArchiveImporter;
import fr.gouv.finances.dgfip.xemelios.tools.XemeliosToolServiceProvider;
import java.io.File;
import java.lang.reflect.Constructor;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.List;
+import org.apache.log4j.Logger;
/**
*
* @author cmarchand
*/
public class SwingToolServiceProviderFactory extends ToolServiceProviderFactory {
+ private static final Logger logger = Logger.getLogger(SwingToolServiceProviderFactory.class);
private SwingToolServiceProvider service;
public List<String> getAvailableDocumentsConfigurations() {
ArrayList<String> ids = new ArrayList<String>();
try {
- for (DocumentModel dm : Loader.getDocumentsInfos(null).getDocuments()) {
+ for (DocumentModel dm : MainWindow.getInstance().getDocModels().getDocuments()) {
ids.add(dm.getId());
}
} catch (Exception ex) {
// on peut ignorer
}
+ logger.debug(ids);
return ids;
}
public List<String> getImportableDocumentsConfigurations() {
ArrayList<String> ids = new ArrayList<String>();
try {
- for (DocumentModel dm : Loader.getDocumentsInfos(null).getDocuments()) {
+ for (DocumentModel dm : MainWindow.getInstance().getDocModels().getDocuments()) {
if (dm.isImportable()) {
ids.add(dm.getId());
}
public List<String> getBrowsableDocumentsConfigurations() {
ArrayList<String> ids = new ArrayList<String>();
try {
- for (DocumentModel dm : Loader.getDocumentsInfos(null).getDocuments()) {
+ for (DocumentModel dm : MainWindow.getInstance().getDocModels().getDocuments()) {
if (dm.isBrowsable()) {
ids.add(dm.getId());
}
@Override
public String getDocumentConfigurationTitle(String documentId) {
try {
- return Loader.getDocumentsInfos(null).getDocumentById(documentId).getTitre();
+ return MainWindow.getInstance().getDocModels().getDocumentById(documentId).getTitre();
} catch (Exception ex) {
return null;
}
importXemeliosArchive(fileToImport);
} else {
try {
- DocumentModel dm = Loader.getDocumentsInfos(null).getDocumentById(documentId);
+ DocumentModel dm = MainWindow.getInstance().getDocModels().getDocumentById(documentId);
if (!DataLayerManager.getImplementation().canImportDocument(documentId, MainWindow.getInstance().getConnectedUser())) {
String message =
"L'import de ce type de document est pour le moment impossible.\n"
try {
ImportServiceSwingProvider isp = new ImportServiceSwingProvider(MainWindow.getInstance(), null, 0);
isp.setDisplayFeedback(false);
- XemeliosArchiveImporter xai = new XemeliosArchiveImporter(Loader.getDocumentsInfos(null), archive, isp, MainWindow.getInstance().getEnvProperties());
+ XemeliosArchiveImporter xai = new XemeliosArchiveImporter(MainWindow.getInstance().getDocModels(), archive, isp, MainWindow.getInstance().getEnvProperties());
xai.setUser(MainWindow.getInstance().getConnectedUser());
MainWindow.XemeliosArchiveImporterWorker worker = new MainWindow.XemeliosArchiveImporterWorker(xai);
worker.execute();
public XemeliosProperties getApplicationProperties() {
return new XemeliosPropertiesImpl(MainWindow.getInstance().getEnvProperties());
}
+
+ @Override
+ public URL getDocumentSchema(String documentId) {
+ DocumentModel dm = MainWindow.getInstance().getDocModels().getDocumentById(documentId);
+ if(dm!=null) {
+ if(dm.getSchema()!=null) {
+ File dir = new File(dm.getBaseDirectory());
+ File schema = new File(dir,dm.getSchema());
+ try {
+ return schema.toURI().toURL();
+ } catch(MalformedURLException mEx) {
+ logger.error("getDocumentSchema("+documentId+")",mEx);
+ return null;
+ }
+ }
+ }
+ return null;
+ }
}
}