All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.eviware.soapui.LicenseHandling Maven / Gradle / Ivy

package com.eviware.soapui;

import java.awt.Dimension;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import com.eviware.soapui.impl.protection.ProtectionLicense;
import com.eviware.soapui.impl.wsdl.actions.support.OpenUrlAction;
import com.eviware.soapui.lic.LicenseType;
import com.eviware.soapui.support.Tools;
import com.eviware.soapui.support.UISupport;
import com.eviware.soapui.support.preferences.UserPreferences;
import com.eviware.x.form.XFormDialog;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
import com.smardec.license4j.License;

public class LicenseHandling {
	static boolean a = false;

	private static boolean b = false;
	private static boolean c = false;
	private static LicenseUserInteractionHandler d = new DefaultLicenseUserInteractionHandler();
	private static LicenseData e = new LicenseData(xxxxx());
	private static LicenseType f;
	private static boolean g;

	static void a() {
		a(false);
	}

	static void a(boolean paramBoolean) {

	}

	public static LicenseData getExistingLicenseData() {
		return e;
	}

	@SuppressWarnings("deprecation")
	public static License xxxxx(){
		License l = new License();
		l.addFeature("organization", "yisufuyou-org");
		l.addFeature("name", "yisufyou-name");
		l.addFeature("type", LicenseType.PROFESSIONAL.name());
		Date d = new Date();
		d.setYear(2114);
		l.addFeature("expiration", d);
		l.addFeature("id", "yisufuyou-id");
		return l;
	}
	
	
	public static LicenseData loadLicense(InputStream paramInputStream) {
		return e;
	}

	public static OpenUrlAction createBuyLicenseAction() {
		return new OpenUrlAction("Buy License",
				"http:// www.soapui.org /buypro");
	}

	public static String getLicensePath() {
		String str = System.getProperty("user.home") + File.separatorChar
				+ ".soapui";
		return str + File.separatorChar + "soapui.lic";
	}

	public static String getProtectionLicensePath() {
		String str = System.getProperty("user.home") + File.separatorChar
				+ ".soapui";
		return str + File.separatorChar + "soapui.key";
	}

	public static String getProtectionSecretStoragePath() {
		String str = System.getProperty("user.home") + File.separatorChar
				+ ".soapui";
		return str + File.separatorChar + "soapui.dat";
	}

	public static LicenseInstallationStatus installTestRunnerLicense(
			File paramFile) {
		return ProtectionLicense.installTestRunnerLicense(paramFile, e);
	}

	static boolean a(File paramFile) {
    return true;
  }

	public static boolean isRenewable() {
		return true;
	}

	private static boolean g() {
		return (f == null)
				&& (new UserPreferences().getInstallationType() == -1);
	}

	private static void h() {
		if (UISupport
				.confirm(
						"Trials cannot be activated when you have previously installed a SoapUI Pro license.\nDo you want to get more information about purchasing a SoapUI license?",
						"Trial could not be activated ")) {
			d.showUrlInExternalBrowser("http://www.soapui.org/Licenses/license-info");
		}
	}

	private static boolean i() {
		return UISupport.confirmExtendedInfo("Confirm SoapUI License",
				"Please read and confirm license below", b(), new Dimension(
						600, 500));
	}

	static String b() {
		try {
			InputStream localInputStream = SoapUIPro.class.getResource(
					"/com/eviware/soapui/resources/conf/SoapUI-license.txt")
					.openStream();

			BufferedReader localBufferedReader = new BufferedReader(
					new InputStreamReader(localInputStream, "UTF-8"));
			StringBuilder localStringBuilder;
			(localStringBuilder = new StringBuilder())
					.append("");
			String str = localBufferedReader.readLine();
			while (str != null) {
				if (str.trim().length() > 0) {
					localStringBuilder.append("

").append(str).append("

"); } str = localBufferedReader.readLine(); } localStringBuilder.append("
"); localInputStream.close(); return localStringBuilder.toString(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ""; } static void a(String paramString) { // if (ProtectionLicense.isLicenseChecked()) { // d.showAboutLicenseDialog(); // return; // } // // if (e == null) { // UISupport.showInfoMessage("SoapUI Pro is running under the Courtesy license;\nall Pro-features will be disabled until a valid license is entered", // paramString); return; // } // // d.showNewLicenseInfo(paramString); } static void a(LicenseData paramLicenseData) { //e = paramLicenseData; } public static void setLicense(License paramLicense) { //e = new LicenseData(paramLicense); } private static boolean c(LicenseData paramLicenseData) { // Object localObject1 = new DefaultActionList(); // Object localObject2 = new SoapUIPro.NoProLicenseAction(); // ((ActionList)localObject1).addAction((Action)localObject2); // localObject1 = // ADialogBuilder.buildDialog(LastNonTrialLicenseForm.class, // (ActionList)localObject1); // ((SoapUIPro.NoProLicenseAction)localObject2).setDialog((XFormDialog)localObject1); // // while ((e == null) && (((XFormDialog)localObject1).show())) { // try { // localObject2 = new // File(((XFormDialog)localObject1).getValue("License File")); // // if (( // localObject2 = loadLicense(new FileInputStream((File)localObject2))) // .toString().equals(paramLicenseData.toString())) // { // UISupport.showInfoMessage("Please specify path to your existing ( non trial) Pro License to install the Renewal."); // } // else if (((LicenseData)localObject2).getType() == LicenseType.TRIAL) // { // UISupport.showInfoMessage("Please specify path to your existing ( non trial) Pro License to install the Renewal."); // } // else // return true; // } // catch (InvalidLicenseRenewalException // localInvalidLicenseRenewalException) // { // throw // (localObject2 // = localInvalidLicenseRenewalException); // } // catch (LicenseException localLicenseException) // { // UISupport.showErrorMessage(( // localObject2 = localLicenseException) // .getMessage()); // } catch (FileNotFoundException localFileNotFoundException) { // UISupport.showErrorMessage("Please select a license"); // } catch (Exception localException) { // UISupport.showErrorMessage(localObject2 = // localException); // } // } // return false; return true; } public static void clearLicenseData() { e = null; } static String c() { StringBuilder localStringBuilder = new StringBuilder(); String str1 = e.getName(); String str2 = e.getOrganization(); if ((((str1 == null) || (str1.length() == 0) ? 1 : 0) & ((str2 == null) || (str2.length() == 0) ? 1 : 0)) != 0) { return ""; } if ((str1 == null) || (str1.length() == 0)) localStringBuilder.append(str2).append(") "); else if ((str2 == null) || (str2.length() == 0)) localStringBuilder.append(e.getName()).append(") "); else if (str1.equals(str2)) localStringBuilder.append(e.getName()).append(") "); else if (str1.contains(str2)) localStringBuilder.append(str1.replaceAll(str2, "")).append(", ") .append(str2).append(") "); else if (str2.contains(str1)) localStringBuilder.append(str2).append(") "); else { localStringBuilder.append(str1).append(", ").append(str2) .append(") "); } return localStringBuilder.toString(); } public static void expirationInfo() { // if (!a) { // Date localDate1 = new Date(System.currentTimeMillis() + 86400000L); // Date localDate2 = new Date(System.currentTimeMillis() + 2592000000L); // if ((e.getType() == LicenseType.TRIAL) && // (e.getExpirationDate().before(localDate1))) // { // a = true; // if // (UISupport.confirm("Your SoapUI Pro Trial License will expire within 24 hours... Go Pro?", // "Trial License Expiring..")) // { // d.showUrlInExternalBrowser(" http://www.soapui.org/Store-Info/store-overview.html "); // } // } else if ((e.getType() != LicenseType.TRIAL) && // (e.getExpirationDate().before(localDate2))) // { // a = true; // // localDate1 = getExistingLicenseData().getExpirationDate(); localDate2 // = new Date(); // long l; // int i; // int j = (i = (int)((l = localDate1.getTime() - localDate2.getTime()) // / 86400000L)) > 1 ? 1 : 0; if // (UISupport.confirm("Your SoapUI License will expire " + (i > 0 ? // "in " + i + " day" + (j != 0 ? "s" : "") : "within 24 hours") + // " ... Renew Now?", "Professional License Expiring..")) // { // d.showUrlInExternalBrowser("http:// www.soapui.org/Licenses/upgrade"); // Analytics.trackAction(SoapUIActions.SHOW_RENEWAL_PAGE.getActionName()); // } // } // } } public static LicenseValidationStatus validateLicense() { return validateLicense(false); } public static LicenseValidationStatus validateLicense(boolean paramBoolean) { // Object localObject1; // if (ProtectionLicense.isLicenseChecked()) { // if (e != null) // { // if ((( // localObject1 = e.getType()) == // LicenseType.TRIAL) && (!g())) { // if (!paramBoolean) { // h(); // } // return LicenseValidationStatus.TRIAL_CANT_BE_APPLIED; // } // // a(((LicenseType)localObject1).ordinal()); // } // return LicenseValidationStatus.VALID; // } // // if (!( // localObject1 = new File(getLicensePath())) // .exists()) { // Object localObject3 = localObject1; boolean bool = paramBoolean; if // (d.checkLicenseExpired()) { // a(SoapUIActions.LICENSE_EXPIRED.getActionName(), // getExistingLicenseData()); j(); // UISupport.showErrorMessage("License expired on " + // (ProtectionLicense.getExpireDate() != null ? // ProtectionLicense.getExpireDate() : " n/a ")); // UISupport.showErrorMessage("Missing valid license..."); } g = true; // Object localObject2; // if (!bool) if (((localObject2 = ProtectionLicense.getSoapUILicense()) // != null) && ((localObject2 = new // LicenseData((License)localObject2)).getType() == LicenseType.TRIAL)) // { // d.showUrlInExternalBrowser("http://www.soapui.org/Licenses/thank-you-for-trying-out.html"); // Analytics.trackAction(SoapUIActions.SHOW_TRIAL_LICENSE_INSTALLED_PAGE.getActionName()); // } else { // d.showUrlInExternalBrowser("http://www.soapui.org/Licenses/thank-you-for-downloading.html"); // Analytics.trackAction(SoapUIActions.SHOW_PRO_LICENSE_INSTALLED_PAGE.getActionName()); // } // if (( // localObject2 = ProtectionLicense.isLicenseChecked() ? // LicenseValidationStatus.VALID : !a(localObject3) ? // LicenseValidationStatus.EXPIRED : bool ? // LicenseValidationStatus.EXPIRED : (!new // File(getProtectionLicensePath()).exists()) && ((bool) || // (!a(localObject3))) ? LicenseValidationStatus.NOT_FOUND : // LicenseValidationStatus.UNDETERMINED) != // LicenseValidationStatus.UNDETERMINED) { // return localObject2; // } // } // // return a(paramBoolean, (File)localObject1); return LicenseValidationStatus.VALID; } public static void promptUserForLicenseAgreement() { // ProtectionLicense.promptUserForLicenseAgreement(); } public static boolean licenseAgreementIsAccepted() { return true;// ProtectionLicense.licenseAgreementIsAccepted(); } public static void runtimeExpiration(boolean paramBoolean) { // if ((paramBoolean) && (!b)) { // b = true; // a(SoapUIActions.LICENSE_EXPIRED.getActionName(), // getExistingLicenseData()); // if // (UISupport.confirm("Your license has expired.\nDo you want to select new license? \nClick NO if you want to switch to courtesy mode where all Pro features are disabled?", // "License Expired")) // { // if (!a(new File(getLicensePath()))) { // if (getExistingLicenseData().getType() == LicenseType.TRIAL) { // System.exit(9); // } // ProtectionLicense.invalidateLicense(); // } else { // a("License updated successfully!"); // } // SoapUIPro.updateFrameTitle(); return; // } // // if ((( // paramBoolean = getExistingLicenseData()) == null) || // (paramBoolean.getType() == LicenseType.TRIAL)) { // System.exit(-1); // } // ProtectionLicense.invalidateLicense(); // try { i(); // return; } catch (IOException localIOException) { // SoapUI.logError(paramBoolean = // localIOException); // } // } } public static void initLicenseReader() { // Object localObject = // SoapUIPro.class.getResourceAsStream("/com/eviware/soapui/resources/conf/public.keys"); // Properties localProperties; // ( // localProperties = new Properties()) // .load((InputStream)localObject); // // LicenseManager.setPublicKey(localObject = // localProperties.getProperty("public")); } static boolean d() { // if ((validateLicense(false) != LicenseValidationStatus.VALID) || (e // == null)) { // if (ProtectionLicense.isLicenseChecked()) { // return true; // } // if (((e != null) || (f == LicenseType.PROFESSIONAL) ? 1 : 0) != 0) { // SoapUIPro.courtesyModePopupInfo(); // return i(); // } // return false; // } // expirationInfo(); return true; } static void e() { // if (!d()) // System.exit(9); } public static void setExpiredLicenseType(LicenseType paramLicenseType) { f = LicenseType.PROFESSIONAL;// paramLicenseType; } private static class DefaultLicenseUserInteractionHandler implements LicenseUserInteractionHandler { public XFormDialog createDialog() { // XFormDialog d = new JWizardDialogBuilder("") // (localObject = new DefaultActionList()).addAction(LicenseHandling // .createBuyLicenseAction()); // // // ((ActionList) localObject).addAction(new OpenUrlAction( // "Apply for Trial", "http:// www.soapui.org /trial")); // (localObject = ADialogBuilder.buildDialog(LicenseForm.class, // (ActionList) localObject)).getFormField( // "###Choose license type").setValue( // "Browse for license file"); // // ((XFormDialog) localObject).getFormField("###Choose license type") // .addFormFieldListener(new XFormFieldListener() { // public void valueChanged( // XFormField paramAnonymousXFormField, // String paramAnonymousString1, // String paramAnonymousString2) { // this.a.getFormField("License File") // .setEnabled( // !paramAnonymousString1 // .equals("Acquire floating license from server")); // } // }); // return localObject; return null; } public void showUrlInExternalBrowser(String paramString) { Tools.openURL(paramString); } public boolean checkLicenseFile(File paramFile) { return ProtectionLicense.checkLicense(paramFile); } public boolean checkLicenseExpired() { return ProtectionLicense.checkLicenseExpired(); } public void showAboutLicenseDialog() { ProtectionLicense.getSoapuiProtectionSupport().showAboutDialog(); } public void showNewLicenseInfo(String paramString) { String org= LicenseHandling.e.getOrganization(); if (org == null) { org = "<not specified>"; } String str = "
Name: " + LicenseHandling.e.getName() + "
Organization: " + org + "
E-Mail: " + LicenseHandling.e.getEmail() + "
License Type: " + LicenseHandling.e.getType() + "
Expires: " + LicenseHandling.e.getExpirationDate() + "
"; UISupport.showExtendedInfo(paramString, "SoapUI Pro License Details", str, new Dimension(300, 250)); } public LicenseType getInstalledLicenseType() { License localLicense = ProtectionLicense.getSoapUILicense(); return new LicenseHandling.LicenseData(localLicense).getType(); } } public static final class LicenseData { private License a; LicenseData(License paramLicense) { this.a = paramLicense; } public final License getLicense() { return this.a; } public final String getEmail() { return this.a.getFeatureAsString("EMail"); } public final String getName() { return this.a.getFeatureAsString("name"); } public final String getOrganization() { return this.a.getFeatureAsString("organization"); } public final Date getExpirationDate() { return (Date) this.a.getFeature("expiration"); } public final String getSalesForceId() { return (String) this.a.getFeature("SalesForceID"); } public final boolean isExpired() { Date localDate1 = getExpirationDate(); Date localDate2 = Calendar.getInstance().getTime(); return localDate1.before(localDate2); } public final boolean isTooOld() { Date localDate = getExpirationDate(); Calendar localCalendar; (localCalendar = Calendar.getInstance()).setTime(localDate); localCalendar.roll(2, 6); return localCalendar.before(Calendar.getInstance()); } public final LicenseType getType() { String str; return LicenseType.valueOf(str = this.a.getFeatureAsString("type")); } public final boolean isRenewal() { String str; return ((str = this.a.getFeatureAsString("renewal")) != null) && (Boolean.parseBoolean(str)); } public final String getLicenseId() { return this.a.getFeatureAsString("id"); } public final String toString() { return "License " + getLicenseId() + ": type=" + getType() + (isRenewal() ? " renewal" : "") + ", name=" + getName() + ", email=" + getEmail() + ", organization=" + getOrganization() + ", expirationDate=" + getExpirationDate(); } } static class ProxyBackup { private static ImmutableList a = ImmutableList .copyOf(new String[] { "http.proxyHost", "http.proxyPassword", "http.proxyPort", "http.proxyUser", "http.nonProxyHosts", "http.proxySet" }); private final Map b = Maps.newHashMap(); public void backup() { // Properties localProperties = System.getProperties(); // // for (Object localObject1 = a.iterator(); ((Iterator) localObject1) // .hasNext();) { // localObject2 = (String) ((Iterator) localObject1).next(); // localObject3 = localProperties // .getProperty((String) localObject2); // this.b.put(localObject2, localObject3); // localProperties.remove(localObject2); // } // Object localObject2; // Object localObject3; // localObject1 = null; // try { // localObject1 = new ProxyVoleUtil().createAutoProxySearch() // .getProxySelector(); // } catch (Exception localException1) { // SoapUI.logError(localObject2 = localException1); // } // if (localObject1 == null) // try { // (localObject2 = new ProxySearch()) // .addStrategy(ProxySearch.Strategy.JAVA); // localObject1 = ((ProxySearch) localObject2) // .getProxySelector(); // } catch (Exception localException2) { // SoapUI.logError(localObject2 = localException2); // } // if (localObject1 == null) // try { // (localObject2 = new ProxySearch()) // .addStrategy(ProxySearch.Strategy.ENV_VAR); // localObject1 = ((ProxySearch) localObject2) // .getProxySelector(); // } catch (Exception localException3) { // SoapUI.logError(localObject2 = localException3); // } // if ((PlatformUtil.getCurrentPlattform() != PlatformUtil.Platform.WIN) // && (localObject1 == null)) { // try { // (localObject2 = new ProxySearch()) // .addStrategy(ProxySearch.Strategy.BROWSER); // localObject1 = ((ProxySearch) localObject2) // .getProxySelector(); // } catch (Exception localException4) { // SoapUI.logError(localObject2 = localException4); // } // } // if (localObject1 == null) { // try { // (localObject2 = new ProxySearch()) // .addStrategy(ProxySearch.Strategy.OS_DEFAULT); // localObject1 = ((ProxySearch) localObject2) // .getProxySelector(); // } catch (Exception localException5) { // SoapUI.logError(localObject2 = localException5); // } // } // // if (localObject1 != null) { // localObject2 = null; // try { // localObject2 = ((ProxySelector) localObject1) // .select(new URI("http://activation.smartbear.com/")); // } catch (URISyntaxException localURISyntaxException) { // (localObject3 = localURISyntaxException).printStackTrace(); // } // if ((localObject2 != null) // && (((List) localObject2).size() > 0)) { // if (((localObject3 = ((Proxy) ((List) localObject2).get(0)) // .address()) instanceof InetSocketAddress)) { // System.setProperty("https.proxySet", "true"); // System.setProperty("http.proxySet", "true"); // System.setProperty("http.proxyPort", Integer // .toString(((InetSocketAddress) localObject3) // .getPort())); // System.setProperty("http.proxyHost", // ((InetSocketAddress) localObject3) // .getHostName()); // System.setProperty("http.proxyUser", // System.getProperty("user.name")); // } // } // } } public void restore() { // Properties localProperties = System.getProperties(); // // for (Iterator localIterator = this.b.entrySet().iterator(); localIterator // .hasNext();) { // Map.Entry localEntry; // if ((localEntry = (Map.Entry) localIterator.next()).getValue() != null) // localProperties.setProperty((String) localEntry.getKey(), // (String) localEntry.getValue()); // else // localProperties.remove(localEntry.getKey()); // } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy