package org.gcube.data.access.storagehub; import javax.inject.Singleton; import javax.jcr.Repository; import javax.naming.Context; import javax.naming.InitialContext; import org.apache.jackrabbit.api.JackrabbitRepository; import org.gcube.data.access.storagehub.services.RepositoryInitializer; @Singleton public class RepositoryInitializerImpl implements RepositoryInitializer{ private Repository repository; @Override public synchronized Repository getRepository(){ return repository; } protected RepositoryInitializerImpl() throws Exception{ InitialContext context = new InitialContext(); Context environment = (Context) context.lookup("java:comp/env"); repository = (Repository) environment.lookup("jcr/repository"); } public void shutdown() { ((JackrabbitRepository)repository).shutdown(); } }