From 7b354a4be452d2754bdd46f59a2734bf59fe6ca9 Mon Sep 17 00:00:00 2001 From: tosmers Date: Wed, 9 Mar 2016 17:39:07 +0000 Subject: [PATCH] starts implementation for central importing git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3915 8810af33-2d31-482b-a856-94f89814c4df --- .../portation/AbstractMarshaller.java | 6 ++--- .../org/libreccm/portation/Marshaller.java | 22 +++++++++++++++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java b/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java index e56f8c913..90c39335d 100644 --- a/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java @@ -58,9 +58,9 @@ public abstract class AbstractMarshaller { - public void init(final Format format, String baseFileName) { + public void init(final Format format, String filename) { this.format = format; - this.filename = baseFileName; + this.filename = filename; switch (this.format) { case XML: @@ -83,7 +83,7 @@ public abstract class AbstractMarshaller { public void exportList(final List exportList) { - File file = new File(filename + "_" + getObjectClass().toString()); + File file = new File(filename); FileWriter fileWriter = null; try { diff --git a/ccm-core/src/main/java/org/libreccm/portation/Marshaller.java b/ccm-core/src/main/java/org/libreccm/portation/Marshaller.java index 367c8c4c1..a130ce9da 100644 --- a/ccm-core/src/main/java/org/libreccm/portation/Marshaller.java +++ b/ccm-core/src/main/java/org/libreccm/portation/Marshaller.java @@ -67,7 +67,7 @@ public class Marshaller { for (Map.Entry, List> classListEntry : classListMap.entrySet()) { - exportList( classListEntry.getValue(), classListEntry.getKey(), + exportList(classListEntry.getValue(), classListEntry.getKey(), format, filename); } } @@ -130,11 +130,29 @@ public class Marshaller { final AbstractMarshaller marshaller = (AbstractMarshaller) iterator.next(); - marshaller.init(format, filename); + marshaller.init(format, filename + "__" + type.toString()); marshaller.exportList(list); } } + + public void importObjects( + List filenames, Format format) { + for (String filename : filenames) { + String[] splitFilename = filename.split("__"); + String className = + splitFilename[splitFilename.length].split(".")[0]; + + try { + Class objectClass = Class.forName(className); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + + Class[] subclasses = Identifiable.class.getClasses(); + } + } + /** * {@link AnnotationLiteral} used for filtering the available marshallers. */