From 4beb233a6281bec60b7fb73993d6650a5ed0d05c Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Mon, 15 Jun 2015 14:48:59 +0000 Subject: [PATCH] refs #200: Create accouting-lib library https://support.d4science.org/issues/200 Setting path for fallback git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-lib@115392 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../accounting/persistence/Persistence.java | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/gcube/accounting/persistence/Persistence.java b/src/main/java/org/gcube/accounting/persistence/Persistence.java index 6555228..5a49d79 100644 --- a/src/main/java/org/gcube/accounting/persistence/Persistence.java +++ b/src/main/java/org/gcube/accounting/persistence/Persistence.java @@ -30,7 +30,6 @@ public abstract class Persistence { protected static Persistence persistence; protected static FallbackPersistence fallback; - private static File file(File file) throws IllegalArgumentException { if (file.isDirectory()) @@ -44,21 +43,18 @@ public abstract class Persistence { } - static { - - File file; - /* - try { - ContainerContext containerContext = ProviderFactory.provider().containerContext(); - org.gcube.smartgears.persistence.Persistence smartgearPersistence = containerContext.persistence(); - file = smartgearPersistence.writefile(ACCOUTING_FALLBACK_FILENAME); - } catch(Exception e){ - file = file(new File(".", ACCOUTING_FALLBACK_FILENAME).getAbsolutePath()); + public synchronized static void setFallbackLocation(String path){ + if(fallback == null){ + if(path==null){ + path = "."; + } + File file = file(new File(path, ACCOUTING_FALLBACK_FILENAME)); + fallback = new FallbackPersistence(file); } - */ - - file = file(new File(".", ACCOUTING_FALLBACK_FILENAME)); - fallback = new FallbackPersistence(file); + } + + protected static void init() { + setFallbackLocation(null); try { /* ServiceLoader serviceLoader = ServiceLoader.load(Persistence.class); @@ -95,11 +91,11 @@ public abstract class Persistence { serviceUsageRecord.setResourceScope("/gcube/devsec"); - Calendar creatingTime = new GregorianCalendar(); + Calendar creationTime = new GregorianCalendar(); //Calendar startTime = new GregorianCalendar(); //Calendar endTime = new GregorianCalendar(); - serviceUsageRecord.setCreationTime(creatingTime); + serviceUsageRecord.setCreationTime(creationTime); //usageRecord.setStartTime(startTime); //usageRecord.setEndTime(endTime); @@ -129,6 +125,9 @@ public abstract class Persistence { * @throws Exception if fails */ public static Persistence getInstance() { + if(persistence==null){ + init(); + } return persistence; }