in flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/DownloadRetriever.java [446:506]
protected void confirmLicenseAcceptance(SdkType type) throws RetrieverException {
final Properties questionProps = new Properties();
try {
questionProps.load(DownloadRetriever.class.getClassLoader().getResourceAsStream("message.properties"));
} catch (IOException e) {
throw new RetrieverException("Error reading message.properties file", e);
}
String property = "com.adobe.systemIdsForWhichTheTermsOfTheAdobeLicenseAgreementAreAccepted";
// Implement the accepting the license by providing a system-id as system-property.
// Check a java property first ...
String acceptedSystemIds = System.getProperty(property);
// Check an environment variable second ...
if(acceptedSystemIds == null) {
acceptedSystemIds = System.getenv("com.adobe.systemIdsForWhichTheTermsOfTheAdobeLicenseAgreementAreAccepted");
}
if(acceptedSystemIds != null) {
String systemId = SystemIdHelper.getSystemId();
if(systemId != null) {
for (String acceptedSystemId : acceptedSystemIds.split(",")) {
if (systemId.equals(acceptedSystemId)) {
System.out.println(questionProps.getProperty("ACCEPTED_USING_SYSTEM_ID"));
return;
}
}
}
}
final String question;
if(type.equals(SdkType.FLASH)) {
question = questionProps.getProperty("ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC");
} else if(type.equals(SdkType.AIR)) {
question = questionProps.getProperty("ASK_ADOBE_AIR_SDK");
} else if(type.equals(SdkType.FONTKIT)) {
question = questionProps.getProperty("ASK_ADOBE_FONTKIT");
} else {
throw new RetrieverException("Unknown SdkType");
}
final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
while (true) {
System.out.println(
MessageFormat.format(questionProps.getProperty("SYSTEM_ID"), SystemIdHelper.getSystemId()));
System.out.println(question);
System.out.println(MessageFormat.format(questionProps.getProperty("ACCEPT_USING_SYSTEM_ID"),
property, SystemIdHelper.getSystemId()));
System.out.print(questionProps.getProperty("DO_YOU_ACCEPT_QUESTION") + " ");
final String answer = reader.readLine();
if ("YES".equalsIgnoreCase(answer) || "Y".equalsIgnoreCase(answer)) {
return;
}
if ("NO".equalsIgnoreCase(answer) || "N".equalsIgnoreCase(answer)) {
System.out.println("You have to accept the license agreement in order to proceed.");
throw new RetrieverException("You have to accept the license agreement in order to proceed.");
}
}
} catch(IOException e) {
throw new RetrieverException("Couldn't read from Stdin.");
}
}