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

net.customware.license.atlassian.AtlassianLicenseManager Maven / Gradle / Ivy

The newest version!
package net.customware.license.atlassian;

import com.atlassian.event.api.EventPublisher;
import de.schlichtherle.license.LicenseContent;
import de.schlichtherle.license.LicenseNotary;
import net.customware.license.support.ValidatingLicenseManager;
import net.customware.license.support.event.LicenseInstalledEvent;
import net.customware.license.support.event.LicenseUninstalledEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class AtlassianLicenseManager extends ValidatingLicenseManager {

    private static final Logger log = LoggerFactory.getLogger(AtlassianLicenseManager.class);

    public EventPublisher eventPublisher;

    public AtlassianLicenseManager() {
        super();
    }

    public AtlassianLicenseManager(ClassLoader classLoader) {
        super(classLoader);
    }

    public AtlassianLicenseManager(AtlassianLicenseParam licenseParam, ClassLoader classLoader) {
        super(licenseParam, classLoader);
    }

    public AtlassianLicenseManager(AtlassianLicenseParam licenseParam , EventPublisher eventPublisher) {
        super(licenseParam);
        this.eventPublisher = eventPublisher;
    }

    protected AtlassianLicenseParam getAtlassianLicenseParam() {
        return (AtlassianLicenseParam) getLicenseParam();
    }

    public synchronized LicenseContent install(byte[] byteStream) throws Exception {
        LicenseContent licenseContent = install(byteStream, getLicenseNotary());
        return licenseContent;
    }

    @SuppressWarnings("deprecation")
    protected synchronized LicenseContent install( byte[] license, LicenseNotary notary ) throws Exception {
        LicenseContent licenseContent = super.install(license, notary);
        eventPublisher.publish(new LicenseInstalledEvent(licenseContent));
        return licenseContent;
    }

    @SuppressWarnings("deprecation")
    public synchronized void uninstall(){

        try {
            LicenseContent licenseContent = verify();
            eventPublisher.publish(new LicenseUninstalledEvent(licenseContent));
        } catch (Exception e) {
            if (log.isWarnEnabled()) {
                log.warn("Error occurred during uninstallation of license: " + e.getMessage(), e);
            }
        }

        setLicenseKey(null);
        setCertificate(null);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy