diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/config/XPlanCliContext.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/config/XPlanCliContext.java index 6020c05e4107e5d733b253fbe169f4510d538093..bd34ff3628d20b1dd06c41e145711957291bda76 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/config/XPlanCliContext.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/config/XPlanCliContext.java @@ -1,17 +1,13 @@ package de.latlon.xplanbox.cli.config; -import de.latlon.xplanbox.cli.manage.config.ApplicationContext; -import de.latlon.xplanbox.cli.validate.config.XPlanValidatorCliSpringConfig; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; /** * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a> */ @Configuration @ComponentScan({ "de.latlon.xplanbox.cli.validate", "de.latlon.xplanbox.cli.main" }) -@Import({ XPlanValidatorCliSpringConfig.class, ApplicationContext.class }) public class XPlanCliContext { } diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/main/MainCommand.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/main/MainCommand.java index 756c649ef755711302acdd50fc4ee7a53d63c4ea..078fd133f009bf8e85c7a3ce1cae553fbd5101c6 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/main/MainCommand.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/main/MainCommand.java @@ -20,6 +20,7 @@ */ package de.latlon.xplanbox.cli.main; +import de.latlon.xplanbox.cli.manage.ManageCommand; import de.latlon.xplanbox.cli.validate.XPlanValidateCommand; import org.springframework.stereotype.Component; import picocli.CommandLine; @@ -29,7 +30,7 @@ import picocli.CommandLine; */ @Component @CommandLine.Command(name = "xbp", description = "XPlanCLI", - subcommands = { CommandLine.HelpCommand.class, XPlanValidateCommand.class }) + subcommands = { CommandLine.HelpCommand.class, XPlanValidateCommand.class, ManageCommand.class }) public class MainCommand implements Runnable { @Override diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageDeleteSubcommand.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageDeleteSubcommand.java index d4d8796b08dec21d378e076171d14228ebd894b9..3d8ceb614224380343812b5f79520f4d9778bcce 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageDeleteSubcommand.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageDeleteSubcommand.java @@ -19,9 +19,6 @@ public class ManageDeleteSubcommand extends ManagerSubcommand { private static final Logger LOG = LoggerFactory.getLogger(ManageDeleteSubcommand.class); - @Autowired - private XPlanManager xPlanManager; - @CommandLine.Option(names = { "-i", "--id" }, split = ",", description = "Die ID des Plans der geloescht werden soll.", required = true) private String[] ids; diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageExportSubcommand.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageExportSubcommand.java index a78bbbc5f72b5a0a38c9312ead7b19fc017671cb..68864412ff0e567fa16a81099359a0ec097d276d 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageExportSubcommand.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageExportSubcommand.java @@ -1,9 +1,7 @@ package de.latlon.xplanbox.cli.manage; -import de.latlon.xplan.manager.XPlanManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import picocli.CommandLine; @@ -24,9 +22,6 @@ public class ManageExportSubcommand extends ManagerSubcommand { private static final Logger LOG = LoggerFactory.getLogger(ManageExportSubcommand.class); - @Autowired - private XPlanManager xPlanManager; - @CommandLine.Option(names = { "-i", "--id" }, split = ",", description = "Die ID des Plans der exportiert werden soll.", required = true) private String[] ids; diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageImportSubcommand.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageImportSubcommand.java index d777eec6f76f453ace860c9e2df93669068a607f..3235884b7198bfcc80eb1af22e65038a60e57d00 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageImportSubcommand.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageImportSubcommand.java @@ -1,11 +1,9 @@ package de.latlon.xplanbox.cli.manage; -import de.latlon.xplan.manager.XPlanManager; import de.latlon.xplan.manager.web.shared.RasterEvaluationResult; import org.deegree.cs.coordinatesystems.ICRS; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import picocli.CommandLine; @@ -22,9 +20,6 @@ public class ManageImportSubcommand extends ManagerSubcommand { private static final Logger LOG = LoggerFactory.getLogger(ManageImportSubcommand.class); - @Autowired - private XPlanManager xPlanManager; - @CommandLine.Option(names = { "-f", "--file" }, required = true) private List<File> files; diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageListSubcommand.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageListSubcommand.java index 2520b15aa5cdacf95d53d5b0d3530765ddcd020c..80b5d2c442e16586e78dafc21ecc0b6368bed6e0 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageListSubcommand.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManageListSubcommand.java @@ -1,10 +1,8 @@ package de.latlon.xplanbox.cli.manage; -import de.latlon.xplan.manager.XPlanManager; import de.latlon.xplan.manager.web.shared.XPlan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import picocli.CommandLine; @@ -19,9 +17,6 @@ public class ManageListSubcommand extends ManagerSubcommand { private static final Logger LOG = LoggerFactory.getLogger(ManageListSubcommand.class); - @Autowired - private XPlanManager xPlanManager; - @Override public Integer callSubcommand() { System.out.println("---------------------------------------"); diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManagerSubcommand.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManagerSubcommand.java index bf661087509b16f91ddc355d9e1c757c1f6e2e78..236aca3d64d1ab93c6023799ceaa9c84a2a65560 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManagerSubcommand.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/manage/ManagerSubcommand.java @@ -1,6 +1,9 @@ package de.latlon.xplanbox.cli.manage; +import de.latlon.xplan.manager.XPlanManager; import de.latlon.xplan.manager.log.SystemLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import picocli.CommandLine; import java.util.concurrent.Callable; @@ -13,6 +16,10 @@ public abstract class ManagerSubcommand implements Callable<Integer> { @CommandLine.Option(names = { "-v", "--verbose" }, defaultValue = "false") private boolean verbose; + @Autowired + @Lazy + protected XPlanManager xPlanManager; + @Override public Integer call() { if (verbose) diff --git a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/validate/XPlanValidateFileSubcommand.java b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/validate/XPlanValidateFileSubcommand.java index 5744249bcb7e023273df3aa20b72e001d53e2455..cde6cf7ca7ee3ab70d3862a3e9ae952236f87d26 100644 --- a/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/validate/XPlanValidateFileSubcommand.java +++ b/xplan-cli/xplan-cli-tools/src/main/java/de/latlon/xplanbox/cli/validate/XPlanValidateFileSubcommand.java @@ -29,6 +29,7 @@ import de.latlon.xplan.validator.web.shared.ValidationType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import picocli.CommandLine; @@ -55,6 +56,7 @@ public class XPlanValidateFileSubcommand implements Callable<Integer> { private static final Logger LOG = LoggerFactory.getLogger(XPlanValidateFileSubcommand.class); @Autowired + @Lazy private XPlanValidator xPlanValidator; @CommandLine.Option(names = { "-f", "--file" }, required = true)