Skip to content

Commit

Permalink
Bug 565923 - [Passage] remove NtpPermissionEmitter
Browse files Browse the repository at this point in the history
Remove NtpPermissionEmitter
Rework TimeConditions to IsLocalFuture
Bump LIC Net to 1.0.0

Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
  • Loading branch information
ruspl-afed committed Aug 9, 2020
1 parent abdfea9 commit 2deafa4
Show file tree
Hide file tree
Showing 10 changed files with 36 additions and 185 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,25 @@

import java.util.TimerTask;

import org.eclipse.passage.lic.net.TimeConditions;
import org.eclipse.passage.lic.internal.base.time.IsLocalFuture;

abstract class ConditionTimerTask extends TimerTask {

private boolean isStopped = false;
private final String timeToLive;
private final IsLocalFuture predicate;

public ConditionTimerTask(String timeToLive) {
this.timeToLive = timeToLive;
this.predicate = new IsLocalFuture();
}

@Override
public void run() {
if (isStopped) {
return;
}
if (TimeConditions.isFutureLocalDateTime(timeToLive)) {
if (predicate.test(timeToLive)) {
isStopped = true;
timeExpired();
}
Expand Down
1 change: 1 addition & 0 deletions bundles/org.eclipse.passage.lic.base/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ Export-Package: org.eclipse.passage.lic.base,
org.eclipse.passage.lic.internal.base.registry;x-internal:=true,
org.eclipse.passage.lic.internal.base.requirements;x-internal:=true,
org.eclipse.passage.lic.internal.base.restrictions;x-internal:=true,
org.eclipse.passage.lic.internal.base.time;x-friends:="org.eclipse.passage.lic.base.tests",
org.eclipse.passage.lic.internal.base.version;x-internal:=true
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2018, 2020 ArSysOp
* Copyright (c) 2020 ArSysOp
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
Expand All @@ -10,22 +10,21 @@
* Contributors:
* ArSysOp - initial API and implementation
*******************************************************************************/
package org.eclipse.passage.lic.internal.net;
package org.eclipse.passage.lic.internal.base.time;

import org.eclipse.passage.lic.base.access.BasePermissionEmitter;
import org.eclipse.passage.lic.net.TimeConditions;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.function.Predicate;

public class NtpPermissionEmitter extends BasePermissionEmitter {

public NtpPermissionEmitter() {
}
public class IsLocalFuture implements Predicate<String> {

@Override
protected boolean evaluateSegment(String key, String value) {
switch (key) {
case TimeConditions.PROPERTY_LOCALTIMESTAMP:
return TimeConditions.isFutureLocalDateTime(value);
default:
public boolean test(String value) {
try {
return !Duration.between(//
LocalDateTime.now(), //
LocalDateTime.parse(value)).isNegative();
} catch (Exception e) {
return false;
}
}
Expand Down
4 changes: 1 addition & 3 deletions bundles/org.eclipse.passage.lic.net/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,5 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.osgi;bundle-version="0.0.0",
org.eclipse.osgi.services;bundle-version="0.0.0",
org.eclipse.passage.lic.equinox;bundle-version="1.0.0"
Export-Package: org.eclipse.passage.lic.internal.net;x-internal:=true,
org.eclipse.passage.lic.net
Export-Package: org.eclipse.passage.lic.internal.net;x-internal:=true
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/*.xml

This file was deleted.

This file was deleted.

4 changes: 2 additions & 2 deletions tests/org.eclipse.passage.lic.api.tests/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ Manifest-Version: 1.0
Automatic-Module-Name: org.eclipse.passage.lic.api.tests
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.passage.lic.api.tests
Bundle-Version: 0.1.0.qualifier
Bundle-Version: 1.0.0.qualifier
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
Bundle-Copyright: %Bundle-Copyright
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.junit;bundle-version="4.12.0",
org.eclipse.passage.lic.api;bundle-version="0.7.0"
org.eclipse.passage.lic.api;bundle-version="1.0.0"
Export-Package: org.eclipse.passage.lic.api.tests;x-internal:=true,
org.eclipse.passage.lic.api.tests.conditions;x-internal:=true,
org.eclipse.passage.lic.api.tests.conditions.evaluation;x-internal:=true,
Expand Down
8 changes: 4 additions & 4 deletions tests/org.eclipse.passage.lic.base.tests/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ Manifest-Version: 1.0
Automatic-Module-Name: org.eclipse.passage.lic.base.tests
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.passage.lic.base.tests
Bundle-Version: 0.5.100.qualifier
Bundle-Version: 1.0.0.qualifier
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
Bundle-Copyright: %Bundle-Copyright
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.junit;bundle-version="0.0.0",
org.eclipse.passage.lic.base;bundle-version="0.0.0",
org.eclipse.passage.lic.api.tests;bundle-version="0.1.0"
Require-Bundle: org.eclipse.passage.lic.api.tests;bundle-version="1.0.0",
org.eclipse.passage.lic.base;bundle-version="1.0.0",
org.junit;bundle-version="4.12.0"
Export-Package: org.eclipse.passage.lic.internal.base.tests.requirements;x-internal:=true
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2018, 2020 ArSysOp
* Copyright (c) 2020 ArSysOp
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
Expand All @@ -10,25 +10,28 @@
* Contributors:
* ArSysOp - initial API and implementation
*******************************************************************************/
package org.eclipse.passage.lic.net.tests;
package org.eclipse.passage.lic.internal.base.tests.time;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.eclipse.passage.lic.net.TimeConditions;
import org.eclipse.passage.lic.internal.base.time.IsLocalFuture;
import org.junit.Test;

public class TimeConditionsTest {

public class IsLocalFutureTest {

private final IsLocalFuture predicate = new IsLocalFuture();

@Test
public void testIsFutureLocalTimeNegative() {
assertFalse(TimeConditions.isFutureLocalDateTime(null));
assertFalse(TimeConditions.isFutureLocalDateTime(new String()));
assertFalse(predicate.test(null));
assertFalse(predicate.test(new String()));
}

@Test
public void testIsFutureLocalTimePositive() {
assertFalse(TimeConditions.isFutureLocalDateTime("2018-11-20T17:00:00")); //$NON-NLS-1$
assertTrue(TimeConditions.isFutureLocalDateTime("2028-11-20T17:00:00")); //$NON-NLS-1$
assertFalse(predicate.test("2018-11-20T17:00:00")); //$NON-NLS-1$
assertTrue(predicate.test("2028-11-20T17:00:00")); //$NON-NLS-1$
}

}

This file was deleted.

0 comments on commit 2deafa4

Please sign in to comment.