1. public final class TranslationInstallation extends ToolInstallation implements NodeSpecific<TranslationInstallation>, EnvironmentSpecific<TranslationInstallation> {
  2. private transient String pathToExe;
  3. private transient String languages;
  4. @DataBoundConstructor
  5. public TranslationInstallation(String name, String home, String languages) {
  6. super(name, home, null);
  7. this.languages = languages;
  8. }
  9. public String getLanguages() { return this.languages; }
  10. @Override
  11. public TranslationInstallation forNode(Node node, TaskListener log) throws IOException, InterruptedException {
  12. return new TranslationInstallation(getName(), translateFor(node, log), getLanguages());
  13. }
  14. @Override
  15. public TranslationInstallation forEnvironment(EnvVars environment) {
  16. return new TranslationInstallation(getName(), environment.expand(getHome()), getLanguages());
  17. }
  18. @Override
  19. protected Object readResolve() {
  20. if (this.pathToExe != null && this.languages != null) {
  21. return new TranslationInstallation(this.getName(), this.pathToExe, this.languages);
  22. }
  23. return this;
  24. }
  25. @Extension
  26. public static class DescriptorImpl extends ToolDescriptor<TranslationInstallation> {
  27. @Override
  28. public String getDisplayName() {
  29. return Messages.TranslationInstallation_DisplayName();
  30. }
  31. @Override
  32. public TranslationInstallation[] getInstallations() {
  33. return Jenkins.getInstance().getDescriptorByType(TranslationBuilder.DescriptorImpl.class).getInstallations();
  34. }
  35. @Override
  36. public void setInstallations(TranslationInstallation... installations) {
  37. Jenkins.getInstance().getDescriptorByType(TranslationBuilder.DescriptorImpl.class).setInstallations(installations);
  38. }
  39. }
  40. }

something's wrong

Comments powered by Disqus