svn commit: r792830 - /sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java

2009-07-10 Thread cziegeler
Author: cziegeler
Date: Fri Jul 10 08:30:35 2009
New Revision: 792830

URL: http://svn.apache.org/viewvc?rev=792830view=rev
Log:
SLING-1040 : Better make scheduler volatile.

Modified:

sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java

Modified: 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java?rev=792830r1=792829r2=792830view=diff
==
--- 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
 (original)
+++ 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
 Fri Jul 10 08:30:35 2009
@@ -83,7 +83,7 @@
 static final String DATA_MAP_CONCURRENT_HANDLER = 
QuartzJobExecutor.ConcurrentHandler;
 
 /** Theq quartz scheduler. */
-protected org.quartz.Scheduler scheduler;
+protected volatile org.quartz.Scheduler scheduler;
 
 /** List of registrations while this service is not activated yet. */
 protected final ListRegistration registeredJobs = new 
ArrayListRegistration();




svn commit: r792833 - /sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/request/LinkTransformerFactory.java

2009-07-10 Thread cziegeler
Author: cziegeler
Date: Fri Jul 10 08:35:21 2009
New Revision: 792833

URL: http://svn.apache.org/viewvc?rev=792833view=rev
Log:
Add new dispose method.

Modified:

sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/request/LinkTransformerFactory.java

Modified: 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/request/LinkTransformerFactory.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/request/LinkTransformerFactory.java?rev=792833r1=792832r2=792833view=diff
==
--- 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/request/LinkTransformerFactory.java
 (original)
+++ 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/request/LinkTransformerFactory.java
 Fri Jul 10 08:35:21 2009
@@ -177,5 +177,12 @@
 return value;
 }
 }
+
+/**
+ * @see org.apache.sling.rewriter.Transformer#dispose()
+ */
+public void dispose() {
+// nothing to do
+}
 }
 }




svn commit: r792860 - in /sling/trunk/contrib/extensions/jcrinstall/service/src: main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverter.java test/java/org/apache/sling/jcr/jcrinstall/jcr

2009-07-10 Thread bdelacretaz
Author: bdelacretaz
Date: Fri Jul 10 09:56:15 2009
New Revision: 792860

URL: http://svn.apache.org/viewvc?rev=792860view=rev
Log:
SLING-1044 - jcrinstall should only accept .jar, .cfg and .properties files as 
installable resources, work in progress

Added:

sling/trunk/contrib/extensions/jcrinstall/service/src/test/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverterTest.java
   (with props)
Modified:

sling/trunk/contrib/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverter.java

Modified: 
sling/trunk/contrib/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverter.java?rev=792860r1=792859r2=792860view=diff
==
--- 
sling/trunk/contrib/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverter.java
 (original)
+++ 
sling/trunk/contrib/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverter.java
 Fri Jul 10 09:56:15 2009
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.sling.jcr.jcrinstall.jcr.impl;
 
 import javax.jcr.Node;
@@ -24,7 +40,7 @@
public InstallableData convertNode(Node n) throws RepositoryException {
InstallableData result = null;
if(n.hasProperty(FileInstallableData.JCR_CONTENT_DATA)  
n.hasProperty(FileInstallableData.JCR_CONTENT_LAST_MODIFIED)) {
-   if(filenameFilter.accept(n.getName())) {
+   if(acceptNodeName(n.getName())) {
result = new FileInstallableData(n, 
bundleStartLevel);
} else {
log.debug(Node {} ignored due to {}, 
n.getPath(), filenameFilter);
@@ -35,4 +51,8 @@
FileInstallableData.JCR_CONTENT_DATA +  or  + 
FileInstallableData.JCR_CONTENT_LAST_MODIFIED);
return null;
}
+   
+   boolean acceptNodeName(String name) {
+   return filenameFilter.accept(name);
+   }
 }
\ No newline at end of file

Added: 
sling/trunk/contrib/extensions/jcrinstall/service/src/test/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverterTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/jcrinstall/service/src/test/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverterTest.java?rev=792860view=auto
==
--- 
sling/trunk/contrib/extensions/jcrinstall/service/src/test/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverterTest.java
 (added)
+++ 
sling/trunk/contrib/extensions/jcrinstall/service/src/test/java/org/apache/sling/jcr/jcrinstall/jcr/impl/FileNodeConverterTest.java
 Fri Jul 10 09:56:15 2009
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.jcr.jcrinstall.jcr.impl;
+
+import junit.framework.TestCase;
+
+public class FileNodeConverterTest extends TestCase {
+private final FileNodeConverter fc = new FileNodeConverter(0);
+
+public void testAcceptedFilenames() {
+final String [] filenames = {
+

svn commit: r793010 - in /sling/trunk/contrib/extensions/jcrinstall: it/src/test/java/org/apache/sling/jcr/jcrinstall/it/ osgi/src/main/java/org/apache/sling/osgi/installer/ osgi/src/main/java/org/apa

2009-07-10 Thread bdelacretaz
Author: bdelacretaz
Date: Fri Jul 10 16:21:25 2009
New Revision: 793010

URL: http://svn.apache.org/viewvc?rev=793010view=rev
Log:
SLING-1042 - Optimize jcrinstall retry cycles

Added:

sling/trunk/contrib/extensions/jcrinstall/osgi/src/main/java/org/apache/sling/osgi/installer/OsgiControllerStatistics.java
   (with props)

sling/trunk/contrib/extensions/jcrinstall/osgi/src/main/java/org/apache/sling/osgi/installer/impl/EventsCounter.java
   (with props)

sling/trunk/contrib/extensions/jcrinstall/osgi/src/main/java/org/apache/sling/osgi/installer/impl/EventsCounterImpl.java
   (with props)
Modified:

sling/trunk/contrib/extensions/jcrinstall/it/src/test/java/org/apache/sling/jcr/jcrinstall/it/OsgiControllerTest.java

sling/trunk/contrib/extensions/jcrinstall/osgi/src/main/java/org/apache/sling/osgi/installer/impl/Activator.java

sling/trunk/contrib/extensions/jcrinstall/osgi/src/main/java/org/apache/sling/osgi/installer/impl/OsgiControllerImpl.java

sling/trunk/contrib/extensions/jcrinstall/osgi/src/main/java/org/apache/sling/osgi/installer/impl/OsgiControllerTask.java

sling/trunk/contrib/extensions/jcrinstall/osgi/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleStartTask.java

Modified: 
sling/trunk/contrib/extensions/jcrinstall/it/src/test/java/org/apache/sling/jcr/jcrinstall/it/OsgiControllerTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/jcrinstall/it/src/test/java/org/apache/sling/jcr/jcrinstall/it/OsgiControllerTest.java?rev=793010r1=793009r2=793010view=diff
==
--- 
sling/trunk/contrib/extensions/jcrinstall/it/src/test/java/org/apache/sling/jcr/jcrinstall/it/OsgiControllerTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/jcrinstall/it/src/test/java/org/apache/sling/jcr/jcrinstall/it/OsgiControllerTest.java
 Fri Jul 10 16:21:25 2009
@@ -30,12 +30,15 @@
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
 
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
 import java.util.Dictionary;
 import java.util.Hashtable;
 
 import org.apache.sling.osgi.installer.DictionaryInstallableData;
 import org.apache.sling.osgi.installer.OsgiController;
 import org.apache.sling.osgi.installer.OsgiControllerServices;
+import org.apache.sling.osgi.installer.OsgiControllerStatistics;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Inject;
@@ -43,9 +46,12 @@
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkEvent;
+import org.osgi.framework.FrameworkListener;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cm.Configuration;
 import org.osgi.service.cm.ConfigurationAdmin;
+import org.osgi.service.packageadmin.PackageAdmin;
 
 /** Test the OsgiController running in the OSGi framework
  *  
@@ -55,9 +61,10 @@
  *   
  */
 @RunWith(JUnit4TestRunner.class)
-public class OsgiControllerTest {
+public class OsgiControllerTest implements FrameworkListener {
public final static String POM_VERSION = 
System.getProperty(jcrinstall.pom.version);
public final static String JAR_EXT = .jar;
+   private int packageRefreshEventsCount;

 @Inject
 protected BundleContext bundleContext;
@@ -71,6 +78,61 @@
return result;
 }
 
+protected void generateBundleEvent() throws Exception {
+// install a bundle manually to generate a bundle event
+final File f = getTestBundle(org.apache.sling.jcr.jcrinstall.it- + 
POM_VERSION + -testbundle-1.0.jar);
+final InputStream is = new FileInputStream(f);
+Bundle b = null;
+try {
+b = bundleContext.installBundle(getClass().getName(), is);
+b.start();
+final long timeout = System.currentTimeMillis() + 2000L;
+while(b.getState() != Bundle.ACTIVE  System.currentTimeMillis() 
 timeout) {
+Thread.sleep(10L);
+}
+} finally {
+if(is != null) {
+is.close();
+}
+if(b != null) {
+b.uninstall();
+}
+}
+}
+
+public void frameworkEvent(FrameworkEvent event) {
+if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED) {
+packageRefreshEventsCount++;
+}
+}
+
+protected void refreshPackages() {
+bundleContext.addFrameworkListener(this);
+final int MAX_REFRESH_PACKAGES_WAIT_SECONDS = 5;
+final int targetEventCount = packageRefreshEventsCount + 1;
+final long timeout = System.currentTimeMillis() + 
MAX_REFRESH_PACKAGES_WAIT_SECONDS * 1000L;
+
+final PackageAdmin pa = getService(PackageAdmin.class);
+pa.refreshPackages(null);
+
+try {
+while(true) {
+