|
54 | 54 | $java_alternative_path = undef, |
55 | 55 | $java_home = undef |
56 | 56 | ) { |
57 | | - include java::params |
| 57 | + include ::java::params |
58 | 58 |
|
59 | 59 | validate_re($version, 'present|installed|latest|^[.+_0-9a-zA-Z:~-]+$') |
60 | 60 |
|
61 | 61 | if $package_options != undef { |
62 | 62 | validate_array($package_options) |
63 | 63 | } |
64 | 64 |
|
65 | | - if has_key($java::params::java, $distribution) { |
66 | | - $default_package_name = $java::params::java[$distribution]['package'] |
67 | | - $default_alternative = $java::params::java[$distribution]['alternative'] |
68 | | - $default_alternative_path = $java::params::java[$distribution]['alternative_path'] |
69 | | - $default_java_home = $java::params::java[$distribution]['java_home'] |
70 | | - } else { |
71 | | - fail("Java distribution ${distribution} is not supported.") |
| 65 | + $default_package_name = has_key($java::params::java, $distribution) ? { |
| 66 | + false => undef, |
| 67 | + default => $java::params::java[$distribution]['package'], |
72 | 68 | } |
73 | 69 |
|
74 | 70 | $use_java_package_name = $package ? { |
75 | 71 | undef => $default_package_name, |
76 | 72 | default => $package, |
77 | 73 | } |
78 | 74 |
|
| 75 | + |
| 76 | + ## Weird logic........ |
79 | 77 | ## If $java_alternative is set, use that. |
80 | 78 | ## Elsif the DEFAULT package is being used, then use $default_alternative. |
81 | 79 | ## Else undef |
82 | 80 | $use_java_alternative = $java_alternative ? { |
83 | | - undef => $use_java_package_name ? { |
84 | | - $default_package_name => $default_alternative, |
| 81 | + undef => $use_java_package_name ? { |
| 82 | + $default_package_name => has_key($java::params::java, $distribution) ? { |
| 83 | + default => $java::params::java[$distribution]['alternative'], |
| 84 | + false => undef, |
| 85 | + }, |
85 | 86 | default => undef, |
86 | 87 | }, |
87 | 88 | default => $java_alternative, |
88 | 89 | } |
89 | 90 |
|
90 | 91 | ## Same logic as $java_alternative above. |
91 | 92 | $use_java_alternative_path = $java_alternative_path ? { |
92 | | - undef => $use_java_package_name ? { |
93 | | - $default_package_name => $default_alternative_path, |
| 93 | + undef => $use_java_package_name ? { |
| 94 | + $default_package_name => has_key($java::params::java, $distribution) ? { |
| 95 | + default => $java::params::java[$distribution]['alternative_path'], |
| 96 | + false => undef, |
| 97 | + }, |
94 | 98 | default => undef, |
95 | 99 | }, |
96 | 100 | default => $java_alternative_path, |
97 | 101 | } |
98 | 102 |
|
99 | 103 | $use_java_home = $java_home ? { |
100 | | - undef => $use_java_package_name ? { |
101 | | - $default_package_name => $default_java_home, |
| 104 | + undef => $use_java_package_name ? { |
| 105 | + $default_package_name => has_key($java::params::java, $distribution) ? { |
| 106 | + default => $java::params::java[$distribution]['java_home'], |
| 107 | + false => undef, |
| 108 | + }, |
102 | 109 | default => undef, |
103 | 110 | }, |
104 | 111 | default => $java_home, |
105 | 112 | } |
106 | 113 |
|
| 114 | + ## This should only be required if we did not override all the information we need. |
| 115 | + # One of the defaults is missing and its not intentional: |
| 116 | + if (( |
| 117 | + $use_java_package_name == undef or $use_java_alternative == undef or |
| 118 | + $use_java_alternative_path == undef or $use_java_home == undef |
| 119 | + ) and ( |
| 120 | + ! has_key($::java::params::java, $distribution) |
| 121 | + )) { |
| 122 | + fail("Java distribution ${distribution} is not supported. Missing default values.") |
| 123 | + } |
| 124 | + |
107 | 125 | $jre_flag = $use_java_package_name ? { |
108 | 126 | /headless/ => '--jre-headless', |
109 | 127 | default => '--jre' |
|
0 commit comments