celix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From abroekh...@apache.org
Subject svn commit: r1557960 - in /incubator/celix/trunk/framework: private/src/bundle_cache.c private/src/framework.c public/include/constants.h
Date Tue, 14 Jan 2014 08:03:50 GMT
Author: abroekhuis
Date: Tue Jan 14 08:03:49 2014
New Revision: 1557960

URL: http://svn.apache.org/r1557960
Log:
CELIX-102: Added support for FRAMEWORK_STORAGE and FRAMEWORK_STORAGE_CLEAN to the framework.

Modified:
    incubator/celix/trunk/framework/private/src/bundle_cache.c
    incubator/celix/trunk/framework/private/src/framework.c
    incubator/celix/trunk/framework/public/include/constants.h

Modified: incubator/celix/trunk/framework/private/src/bundle_cache.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/bundle_cache.c?rev=1557960&r1=1557959&r2=1557960&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/bundle_cache.c (original)
+++ incubator/celix/trunk/framework/private/src/bundle_cache.c Tue Jan 14 08:03:49 2014
@@ -74,7 +74,6 @@ celix_status_t bundleCache_create(proper
 
 apr_status_t bundleCache_destroy(void *cacheP) {
 	bundle_cache_pt cache = (bundle_cache_pt) cacheP;
-    properties_destroy(cache->configurationMap);
     return CELIX_SUCCESS;
 }
 

Modified: incubator/celix/trunk/framework/private/src/framework.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/framework.c?rev=1557960&r1=1557959&r2=1557960&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/framework.c (original)
+++ incubator/celix/trunk/framework/private/src/framework.c Tue Jan 14 08:03:49 2014
@@ -308,15 +308,14 @@ celix_status_t fw_init(framework_pt fram
 	if (status == CELIX_SUCCESS) {
 	    if ((state == OSGI_FRAMEWORK_BUNDLE_INSTALLED) || (state == OSGI_FRAMEWORK_BUNDLE_RESOLVED))
{
 	        bundle_state_e state;
-	        properties_pt props = properties_create();
-	        properties_set(props, (char *) OSGI_FRAMEWORK_FRAMEWORK_STORAGE, ".cache");
-
-	        status = CELIX_DO_IF(status, bundleCache_create(props, framework->mp, &framework->cache));
+	        status = CELIX_DO_IF(status, bundleCache_create(framework->configurationMap,
framework->mp, &framework->cache));
 	        status = CELIX_DO_IF(status, bundle_getState(framework->bundle, &state));
 	        if (status == CELIX_SUCCESS) {
 	            if (state == OSGI_FRAMEWORK_BUNDLE_INSTALLED) {
-	                // clean cache
-	                // bundleCache_delete(framework->cache);
+	                char *clean = properties_get(framework->configurationMap, (char *) OSGI_FRAMEWORK_FRAMEWORK_STORAGE_CLEAN);
+	                if (clean != NULL && (strcmp(clean, OSGI_FRAMEWORK_FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT)
== 0)) {
+	                    bundleCache_delete(framework->cache);
+	                }
 	            }
             }
         }

Modified: incubator/celix/trunk/framework/public/include/constants.h
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/public/include/constants.h?rev=1557960&r1=1557959&r2=1557960&view=diff
==============================================================================
--- incubator/celix/trunk/framework/public/include/constants.h (original)
+++ incubator/celix/trunk/framework/public/include/constants.h Tue Jan 14 08:03:49 2014
@@ -45,6 +45,8 @@ static const char * const OSGI_FRAMEWORK
 static const char * const OSGI_FRAMEWORK_IMPORT_PACKAGE = "Import-Service";
 
 static const char * const OSGI_FRAMEWORK_FRAMEWORK_STORAGE = "org.osgi.framework.storage";
+static const char * const OSGI_FRAMEWORK_FRAMEWORK_STORAGE_CLEAN = "org.osgi.framework.storage.clean";
+static const char * const OSGI_FRAMEWORK_FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT = "onFirstInit";
 static const char * const OSGI_FRAMEWORK_FRAMEWORK_UUID = "org.osgi.framework.uuid";
 
 



Mime
View raw message