ApplicationDirectoryProducer.java
package org.ferris.riviera.console.application;
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import javax.enterprise.inject.Produces;
public class ApplicationDirectoryProducer {
ApplicationDirectory applicationDirectory;
@Produces
public ApplicationDirectory getApplicationDirectory() throws URISyntaxException {
if (applicationDirectory == null) {
URL jarURL = ApplicationDirectory.class.getProtectionDomain().getCodeSource().getLocation();
URI jarURI = jarURL.toURI();
File jarFile = new File(jarURI);
File appFile = jarFile.getParentFile().getParentFile();
applicationDirectory = new ApplicationDirectory(appFile.getAbsolutePath());
}
return applicationDirectory;
}
}