2018-05-17 12:51:56 +02:00
|
|
|
package org.gcube.data.access.storagehub;
|
|
|
|
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
import javax.jcr.Repository;
|
|
|
|
import javax.naming.Context;
|
|
|
|
import javax.naming.InitialContext;
|
|
|
|
|
2020-03-16 16:55:26 +01:00
|
|
|
import org.apache.jackrabbit.api.JackrabbitRepository;
|
2018-05-17 12:51:56 +02:00
|
|
|
import org.gcube.data.access.storagehub.services.RepositoryInitializer;
|
|
|
|
|
|
|
|
@Singleton
|
|
|
|
public class RepositoryInitializerImpl implements RepositoryInitializer{
|
|
|
|
|
|
|
|
private Repository repository;
|
|
|
|
|
2020-03-16 16:55:26 +01:00
|
|
|
|
2018-05-17 12:51:56 +02:00
|
|
|
@Override
|
2020-03-16 16:55:26 +01:00
|
|
|
public synchronized Repository getRepository(){
|
2018-05-17 12:51:56 +02:00
|
|
|
return repository;
|
|
|
|
}
|
|
|
|
|
2020-03-16 16:55:26 +01:00
|
|
|
protected RepositoryInitializerImpl() throws Exception{
|
2018-05-17 12:51:56 +02:00
|
|
|
InitialContext context = new InitialContext();
|
|
|
|
Context environment = (Context) context.lookup("java:comp/env");
|
|
|
|
repository = (Repository) environment.lookup("jcr/repository");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-03-16 16:55:26 +01:00
|
|
|
public void shutdown() {
|
|
|
|
((JackrabbitRepository)repository).shutdown();
|
|
|
|
}
|
2018-05-17 12:51:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|