diff options
-rw-r--r-- | src/com/gitblit/GitBlit.java | 25 | ||||
-rw-r--r-- | src/com/gitblit/GitBlitServer.java | 32 | ||||
-rw-r--r-- | tests/de/akquinet/devops/GitBlit4UITests.java | 25 | ||||
-rw-r--r-- | tests/de/akquinet/devops/GitBlitServer4UITests.java | 62 | ||||
-rw-r--r-- | tests/de/akquinet/devops/GitblitRunnable.java | 2 |
5 files changed, 125 insertions, 21 deletions
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java index f47e76ca..4cfd61e4 100644 --- a/src/com/gitblit/GitBlit.java +++ b/src/com/gitblit/GitBlit.java @@ -3096,13 +3096,7 @@ public class GitBlit implements ServletContextListener { }
// schedule lucene engine
- boolean luceneIndexing = settings.getBoolean(Keys.web.allowLuceneIndexing, true);
- logger.info("Lucene indexing is " + (luceneIndexing ? "" : "not") + " activated");
-
- if (luceneIndexing) {
- scheduledExecutor.scheduleAtFixedRate(luceneExecutor, 1, 2, TimeUnit.MINUTES);
- logger.info("Lucene executor is scheduled to process indexed branches every 2 minutes.");
- }
+ enableLuceneIndexing();
// schedule gc engine
@@ -3184,6 +3178,23 @@ public class GitBlit implements ServletContextListener { }
}
+ protected void enableLuceneIndexing() {
+ scheduledExecutor.scheduleAtFixedRate(luceneExecutor, 1, 2, TimeUnit.MINUTES);
+ logger.info("Lucene executor is scheduled to process indexed branches every 2 minutes.");
+ }
+
+ protected final Logger getLogger() {
+ return logger;
+ }
+
+ protected final ScheduledExecutorService getScheduledExecutor() {
+ return scheduledExecutor;
+ }
+
+ protected final LuceneExecutor getLuceneExecutor() {
+ return luceneExecutor;
+ }
+
private void logTimezone(String type, TimeZone zone) {
SimpleDateFormat df = new SimpleDateFormat("z Z");
df.setTimeZone(zone);
diff --git a/src/com/gitblit/GitBlitServer.java b/src/com/gitblit/GitBlitServer.java index feddb93f..08c0d2a2 100644 --- a/src/com/gitblit/GitBlitServer.java +++ b/src/com/gitblit/GitBlitServer.java @@ -84,6 +84,8 @@ public class GitBlitServer { private static Logger logger;
public static void main(String... args) {
+ GitBlitServer server = new GitBlitServer();
+
// filter out the baseFolder parameter
List<String> filtered = new ArrayList<String>();
String folder = "data";
@@ -108,16 +110,16 @@ public class GitBlitServer { try {
jc.parse(filtered.toArray(new String[filtered.size()]));
if (params.help) {
- usage(jc, null);
+ server.usage(jc, null);
}
} catch (ParameterException t) {
- usage(jc, t);
+ server.usage(jc, t);
}
if (params.stop) {
- stop(params);
+ server.stop(params);
} else {
- start(params);
+ server.start(params);
}
}
@@ -127,7 +129,7 @@ public class GitBlitServer { * @param jc
* @param t
*/
- private static void usage(JCommander jc, ParameterException t) {
+ protected final void usage(JCommander jc, ParameterException t) {
System.out.println(Constants.BORDER);
System.out.println(Constants.getGitBlitVersion());
System.out.println(Constants.BORDER);
@@ -147,7 +149,7 @@ public class GitBlitServer { /**
* Stop Gitblt GO.
*/
- public static void stop(Params params) {
+ public void stop(Params params) {
try {
Socket s = new Socket(InetAddress.getByName("127.0.0.1"), params.shutdownPort);
OutputStream out = s.getOutputStream();
@@ -165,7 +167,7 @@ public class GitBlitServer { /**
* Start Gitblit GO.
*/
- private static void start(Params params) {
+ protected final void start(Params params) {
final File baseFolder = new File(Params.baseFolder).getAbsoluteFile();
FileSettings settings = params.FILESETTINGS;
if (!StringUtils.isEmpty(params.settingsfile)) {
@@ -378,7 +380,7 @@ public class GitBlitServer { server.setHandler(rootContext);
// Setup the GitBlit context
- GitBlit gitblit = GitBlit.self();
+ GitBlit gitblit = getGitBlitInstance();
gitblit.configureContext(settings, baseFolder, true);
rootContext.addEventListener(gitblit);
@@ -397,6 +399,10 @@ public class GitBlitServer { System.exit(100);
}
}
+
+ protected GitBlit getGitBlitInstance() {
+ return GitBlit.self();
+ }
/**
* Creates an http connector.
@@ -405,7 +411,7 @@ public class GitBlitServer { * @param port
* @return an http connector
*/
- private static Connector createConnector(boolean useNIO, int port) {
+ private Connector createConnector(boolean useNIO, int port) {
Connector connector;
if (useNIO) {
logger.info("Setting up NIO SelectChannelConnector on port " + port);
@@ -440,7 +446,7 @@ public class GitBlitServer { * @param requireClientCertificates
* @return an https connector
*/
- private static Connector createSSLConnector(String certAlias, File keyStore, File clientTrustStore,
+ private Connector createSSLConnector(String certAlias, File keyStore, File clientTrustStore,
String storePassword, File caRevocationList, boolean useNIO, int port,
boolean requireClientCertificates) {
GitblitSslContextFactory factory = new GitblitSslContextFactory(certAlias,
@@ -474,7 +480,7 @@ public class GitBlitServer { * @param port
* @return an ajp connector
*/
- private static Connector createAJPConnector(int port) {
+ private Connector createAJPConnector(int port) {
logger.info("Setting up AJP Connector on port " + port);
Ajp13SocketConnector ajp = new Ajp13SocketConnector();
ajp.setPort(port);
@@ -489,7 +495,7 @@ public class GitBlitServer { *
* @return true if this is a windows machine
*/
- private static boolean isWindows() {
+ private boolean isWindows() {
return System.getProperty("os.name").toLowerCase().indexOf("windows") > -1;
}
@@ -548,7 +554,7 @@ public class GitBlitServer { * JCommander Parameters class for GitBlitServer.
*/
@Parameters(separators = " ")
- private static class Params {
+ public static class Params {
public static String baseFolder;
diff --git a/tests/de/akquinet/devops/GitBlit4UITests.java b/tests/de/akquinet/devops/GitBlit4UITests.java new file mode 100644 index 00000000..130f2c96 --- /dev/null +++ b/tests/de/akquinet/devops/GitBlit4UITests.java @@ -0,0 +1,25 @@ +package de.akquinet.devops; + +import java.util.concurrent.TimeUnit; + +import com.gitblit.GitBlit; + +public class GitBlit4UITests extends GitBlit { + + private boolean luceneIndexingEnabled; + + public GitBlit4UITests(boolean luceneIndexingEnabled) { + this.luceneIndexingEnabled = luceneIndexingEnabled; + } + + @Override + protected void enableLuceneIndexing() { + if (luceneIndexingEnabled) { + getScheduledExecutor().scheduleAtFixedRate(getLuceneExecutor(), 1, + 2, TimeUnit.MINUTES); + getLogger() + .info("Lucene executor is scheduled to process indexed branches every 2 minutes."); + } + } + +} diff --git a/tests/de/akquinet/devops/GitBlitServer4UITests.java b/tests/de/akquinet/devops/GitBlitServer4UITests.java new file mode 100644 index 00000000..2d54be2a --- /dev/null +++ b/tests/de/akquinet/devops/GitBlitServer4UITests.java @@ -0,0 +1,62 @@ +package de.akquinet.devops; + +import java.util.ArrayList; +import java.util.List; + +import com.beust.jcommander.JCommander; +import com.beust.jcommander.ParameterException; +import com.gitblit.GitBlit; +import com.gitblit.GitBlitServer; + +public class GitBlitServer4UITests extends GitBlitServer { + + public static void main(String... args) { + GitBlitServer4UITests server = new GitBlitServer4UITests(); + + // filter out the baseFolder parameter + List<String> filtered = new ArrayList<String>(); + String folder = "data"; + for (int i = 0; i < args.length; i++) { + String arg = args[i]; + if (arg.equals("--baseFolder")) { + if (i + 1 == args.length) { + System.out.println("Invalid --baseFolder parameter!"); + System.exit(-1); + } else if (args[i + 1] != ".") { + folder = args[i + 1]; + } + i = i + 1; + } else { + filtered.add(arg); + } + } + + Params.baseFolder = folder; + Params params = new Params(); + JCommander jc = new JCommander(params); + try { + jc.parse(filtered.toArray(new String[filtered.size()])); + if (params.help) { + server.usage(jc, null); + } + } catch (ParameterException t) { + server.usage(jc, t); + } + + if (params.stop) { + server.stop(params); + } else { + server.start(params); + } + } + + private GitBlit4UITests instance; + + @Override + protected GitBlit getGitBlitInstance() { + if (instance == null) { + instance = new GitBlit4UITests(false); + } + return instance; + } +} diff --git a/tests/de/akquinet/devops/GitblitRunnable.java b/tests/de/akquinet/devops/GitblitRunnable.java index fc08f5af..66a31e3c 100644 --- a/tests/de/akquinet/devops/GitblitRunnable.java +++ b/tests/de/akquinet/devops/GitblitRunnable.java @@ -70,7 +70,7 @@ public class GitblitRunnable implements Runnable { } try { - GitBlitServer.main("--httpPort", "" + httpPort, "--httpsPort", "" + GitBlitServer4UITests.main("--httpPort", "" + httpPort, "--httpsPort", "" + httpsPort, "--shutdownPort", "" + shutdownPort, "--repositoriesFolder", "\"" + GitBlitSuite.REPOSITORIES.getAbsolutePath() + "\"", |