Author: reschke Date: Wed Nov 7 14:01:00 2018 New Revision: 1846015 URL: http://svn.apache.org/viewvc?rev=1846015&view=rev Log: OAK-7669: OAK-7511: get rid of JSR 305 dependency - use jetbrains nullability annotations instead - oak-core-spi
Modified: jackrabbit/oak/branches/1.8/ (props changed) jackrabbit/oak/branches/1.8/oak-core-spi/pom.xml jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NameMapper.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/PathMapper.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/AggregatingDescriptors.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/GenericDescriptors.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfoProvider.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/DefinitionProvider.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeType.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeTypeProvider.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAware.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/package-info.java jackrabbit/oak/branches/1.8/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java Propchange: jackrabbit/oak/branches/1.8/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Nov 7 14:01:00 2018 @@ -1,3 +1,3 @@ /jackrabbit/oak/branches/1.0:1665962 -/jackrabbit/oak/trunk:1820660-1820661,1820729,1820734,1820859,1820861,1820878,1820888,1820947,1821027,1821130,1821140-1821141,1821178,1821237,1821240,1821249,1821258,1821325,1821358,1821361-1821362,1821370,1821375,1821393,1821477,1821487,1821516,1821617,1821663,1821665,1821668,1821681,1821847,1821975-1821983,1822121,1822201,1822207,1822527,1822723,1822808,1822850,1822934,1823135,1823163,1823169,1823172,1823655,1823669,1824196,1824198,1824253,1824255,1824896,1824962,1825065,1825362,1825381,1825442,1825448,1825466,1825470-1825471,1825475,1825523,1825525,1825561,1825619-1825621,1825651,1825654,1825992,1826079,1826090,1826096,1826216,1826237,1826338,1826516,1826532,1826551,1826560,1826638,1826640,1826730,1826932,1826957,1827423,1827472,1827486,1827816,1827977,1828349,1828439,1828502,1828529,1828948,1829527,1829534,1829546,1829569,1829587,1829665,1829854,1829864,1829978,1829985,1829987,1829998,1830019,1830048,1830160,1830171,1830197,1830209,1830239,1830347,1830748,1830911,1830923,1831157 -1831158,1831163,1831190,1831374,1831560,1831689,1832258,1832376,1832379,1832535,1833308,1833347,1833833,1834112,1834117,1834287,1834291,1834302,1834326,1834328,1834336,1834428,1834468,1834483,1834610,1834648-1834649,1834681,1834823,1834857-1834858,1835060,1835518,1835521,1835635,1835642,1835780,1835819,1836082,1836121,1836167-1836168,1836170-1836177,1836487,1836493,1837057,1837274,1837296,1837326,1837475,1837503,1837547,1837569,1837600,1837657,1837718,1837998,1838076,1838637,1839549,1839570,1839637,1839746,1840019,1840024,1840031,1840455,1840574,1841314,1841352,1842089,1842677,1843222,1843231,1843398,1843618,1843652,1843911,1844325,1844549,1844625,1844627,1844642,1844728,1844775,1844932,1845336 +/jackrabbit/oak/trunk:1820660-1820661,1820729,1820734,1820859,1820861,1820878,1820888,1820947,1821027,1821130,1821140-1821141,1821178,1821237,1821240,1821249,1821258,1821325,1821358,1821361-1821362,1821370,1821375,1821393,1821477,1821487,1821516,1821617,1821663,1821665,1821668,1821681,1821847,1821975-1821983,1822121,1822201,1822207,1822527,1822723,1822808,1822850,1822934,1823135,1823163,1823169,1823172,1823655,1823669,1824196,1824198,1824253,1824255,1824896,1824962,1825065,1825362,1825381,1825442,1825448,1825466,1825470-1825471,1825475,1825523,1825525,1825561,1825619-1825621,1825651,1825654,1825992,1826079,1826090,1826096,1826216,1826237,1826338,1826516,1826532,1826551,1826560,1826638,1826640,1826730,1826932,1826957,1827423,1827472,1827486,1827816,1827977,1828349,1828439,1828502,1828529,1828948,1829527,1829534,1829546,1829569,1829587,1829665,1829854,1829864,1829978,1829985,1829987,1829998,1830019,1830048,1830160,1830171,1830197,1830209,1830239,1830347,1830748,1830911,1830923,1831157 -1831158,1831163,1831190,1831374,1831560,1831689,1832258,1832376,1832379,1832535,1833308,1833347,1833833,1834112,1834117,1834287,1834291,1834302,1834326,1834328,1834336,1834428,1834468,1834483,1834610,1834648-1834649,1834681,1834823,1834857-1834858,1835060,1835518,1835521,1835635,1835642,1835780,1835819,1836082,1836121,1836167-1836168,1836170-1836178,1836487,1836493,1837057,1837274,1837296,1837326,1837475,1837503,1837547,1837569,1837600,1837657,1837718,1837998,1838076,1838637,1839549,1839570,1839637,1839746,1840019,1840024,1840031,1840455,1840574,1841314,1841352,1842089,1842677,1843222,1843231,1843398,1843618,1843652,1843911,1844325,1844549,1844625,1844627,1844642,1844728,1844775,1844932,1845336 /jackrabbit/trunk:1345480 Modified: jackrabbit/oak/branches/1.8/oak-core-spi/pom.xml URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/pom.xml?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/pom.xml (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/pom.xml Wed Nov 7 14:01:00 2018 @@ -144,10 +144,10 @@ <artifactId>slf4j-api</artifactId> </dependency> - <!-- Findbugs annotations --> + <!-- Nullability annotations --> <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> + <groupId>org.jetbrains</groupId> + <artifactId>annotations</artifactId> </dependency> <!-- Test dependencies --> @@ -181,4 +181,4 @@ </dependency> </dependencies> -</project> \ No newline at end of file +</project> Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java Wed Nov 7 14:01:00 2018 @@ -24,19 +24,18 @@ import static org.apache.jackrabbit.oak. import java.util.concurrent.TimeUnit; -import javax.annotation.Nonnull; - import com.google.common.base.Objects; import com.google.common.cache.CacheStats; import org.apache.jackrabbit.oak.api.jmx.CacheStatsMBean; import org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean; +import org.jetbrains.annotations.NotNull; /** * Abstract base class for providing cache statistic via the {@link CacheStatsMBean}. */ public abstract class AbstractCacheStats extends AnnotatedStandardMBean implements CacheStatsMBean { - @Nonnull + @NotNull private final String name; private CacheStats lastSnapshot = @@ -46,7 +45,7 @@ public abstract class AbstractCacheStats * Create a new {@code CacheStatsMBean} for a cache with the given {@code name}. * @param name */ - protected AbstractCacheStats(@Nonnull String name) { + protected AbstractCacheStats(@NotNull String name) { super(CacheStatsMBean.class); this.name = checkNotNull(name); } @@ -68,7 +67,7 @@ public abstract class AbstractCacheStats lastSnapshot = getCurrentStats(); } - @Nonnull + @NotNull @Override public String getName() { return name; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java Wed Nov 7 14:01:00 2018 @@ -30,9 +30,6 @@ import java.util.concurrent.ExecutionExc import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheStats; import com.google.common.cache.LoadingCache; @@ -41,6 +38,8 @@ import com.google.common.cache.Weigher; import com.google.common.collect.ImmutableMap; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.UncheckedExecutionException; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -103,7 +102,7 @@ public class CacheLIRS<K, V> implements * @param value the evicted item's value or {@code null} if non-resident * @param cause the cause of the eviction */ - void evicted(@Nonnull K key, @Nullable V value, @Nonnull RemovalCause cause); + void evicted(@NotNull K key, @Nullable V value, @NotNull RemovalCause cause); } final int cacheId = NEXT_CACHE_ID.getAndIncrement(); Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java Wed Nov 7 14:01:00 2018 @@ -22,12 +22,12 @@ import static com.google.common.base.Pre import java.util.Map; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - import com.google.common.cache.Cache; import com.google.common.cache.Weigher; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + /** * Cache statistics. */ @@ -46,8 +46,8 @@ public class CacheStats extends Abstract */ @SuppressWarnings("unchecked") public CacheStats( - @Nonnull Cache<?, ?> cache, - @Nonnull String name, + @NotNull Cache<?, ?> cache, + @NotNull String name, @Nullable Weigher<?, ?> weigher, long maxWeight) { super(name); Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.cache; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java Wed Nov 7 14:01:00 2018 @@ -42,7 +42,6 @@ import java.util.concurrent.FutureTask; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import javax.annotation.Nonnull; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeDataSupport; import javax.management.openmbean.CompositeType; @@ -55,6 +54,7 @@ import javax.management.openmbean.Tabula import com.google.common.base.Supplier; import com.google.common.base.Suppliers; import org.apache.jackrabbit.oak.commons.TimeDurationFormatter; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -72,10 +72,10 @@ public class ManagementOperation<R> exte protected final int id; - @Nonnull + @NotNull protected final String name; - @Nonnull + @NotNull private final Supplier<String> statusMessage; /** @@ -86,8 +86,8 @@ public class ManagementOperation<R> exte * @param task task to execute for this operation */ public static <R> ManagementOperation<R> newManagementOperation( - @Nonnull String name, - @Nonnull Callable<R> task) { + @NotNull String name, + @NotNull Callable<R> task) { return new ManagementOperation<R>(name, Suppliers.ofInstance(""), task); } @@ -101,9 +101,9 @@ public class ManagementOperation<R> exte * @param task task to execute for this operation */ public static <R> ManagementOperation<R> newManagementOperation( - @Nonnull String name, - @Nonnull Supplier<String> statusMessage, - @Nonnull Callable<R> task) { + @NotNull String name, + @NotNull Supplier<String> statusMessage, + @NotNull Callable<R> task) { return new ManagementOperation<R>(name, statusMessage, task); } @@ -114,7 +114,7 @@ public class ManagementOperation<R> exte * @param result result returned by the operation * @return a {@code ManagementOperation} instance that is already done. */ - @Nonnull + @NotNull public static <R> ManagementOperation<R> done(String name, final R result) { return new ManagementOperation<R>("done", Suppliers.ofInstance(""), new Callable<R>() { @@ -154,9 +154,9 @@ public class ManagementOperation<R> exte * @param task task to execute for this operation */ private ManagementOperation( - @Nonnull String name, - @Nonnull Supplier<String> statusMessage, - @Nonnull Callable<R> task) { + @NotNull String name, + @NotNull Supplier<String> statusMessage, + @NotNull Callable<R> task) { super(task); this.id = idGen.incrementAndGet(); this.name = checkNotNull(name); @@ -178,7 +178,7 @@ public class ManagementOperation<R> exte * Informal name * @return name of this operation */ - @Nonnull + @NotNull public String getName() { return name; } @@ -197,7 +197,7 @@ public class ManagementOperation<R> exte * * @return the current status of this operation */ - @Nonnull + @NotNull public Status getStatus() { if (isCancelled()) { return failed(this, name + " cancelled"); Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.commons.jmx; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NameMapper.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NameMapper.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NameMapper.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NameMapper.java Wed Nov 7 14:01:00 2018 @@ -18,10 +18,10 @@ package org.apache.jackrabbit.oak.namepa import java.util.Map; -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; import javax.jcr.RepositoryException; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.osgi.annotation.versioning.ProviderType; /** @@ -38,8 +38,8 @@ public interface NameMapper { * @param jcrName JCR name * @return Oak name, or {@code null} */ - @CheckForNull - String getOakNameOrNull(@Nonnull String jcrName); + @Nullable + String getOakNameOrNull(@NotNull String jcrName); /** * Returns the Oak name for the specified JCR name. In contrast to @@ -50,8 +50,8 @@ public interface NameMapper { * @return A valid Oak name. * @throws RepositoryException If the JCR name cannot be resolved. */ - @Nonnull - String getOakName(@Nonnull String jcrName) throws RepositoryException; + @NotNull + String getOakName(@NotNull String jcrName) throws RepositoryException; /** * Returns the local namespace prefix mappings, or an empty map if @@ -59,7 +59,7 @@ public interface NameMapper { * * @return local namespace prefix to URI mappings */ - @Nonnull + @NotNull Map<String, String> getSessionLocalMappings(); /** @@ -72,7 +72,7 @@ public interface NameMapper { * @param oakName Oak name * @return JCR name */ - @Nonnull - String getJcrName(@Nonnull String oakName); + @NotNull + String getJcrName(@NotNull String oakName); } Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NamePathMapper.java Wed Nov 7 14:01:00 2018 @@ -19,9 +19,9 @@ package org.apache.jackrabbit.oak.namepa import java.util.Collections; import java.util.Map; -import javax.annotation.Nonnull; import javax.jcr.RepositoryException; +import org.jetbrains.annotations.NotNull; import org.osgi.annotation.versioning.ProviderType; /** @@ -40,25 +40,25 @@ public interface NamePathMapper extends class Default implements NamePathMapper { @Override - public String getOakNameOrNull(@Nonnull String jcrName) { + public String getOakNameOrNull(@NotNull String jcrName) { return jcrName; } - @Nonnull + @NotNull @Override - public String getOakName(@Nonnull String jcrName) throws RepositoryException { + public String getOakName(@NotNull String jcrName) throws RepositoryException { return jcrName; } - @Nonnull + @NotNull @Override public Map<String, String> getSessionLocalMappings() { return Collections.emptyMap(); } - @Nonnull + @NotNull @Override - public String getJcrName(@Nonnull String oakName) { + public String getJcrName(@NotNull String oakName) { return oakName; } @@ -67,10 +67,10 @@ public interface NamePathMapper extends return jcrPath; } - @Nonnull + @NotNull @Override public String getJcrPath(String oakPath) { return oakPath; } } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/PathMapper.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/PathMapper.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/PathMapper.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/PathMapper.java Wed Nov 7 14:01:00 2018 @@ -16,9 +16,8 @@ */ package org.apache.jackrabbit.oak.namepath; -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; - +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.osgi.annotation.versioning.ProviderType; /** @@ -40,7 +39,7 @@ public interface PathMapper { * @param jcrPath JCR path * @return Oak path, or {@code null} */ - @CheckForNull + @Nullable String getOakPath(String jcrPath); /** @@ -54,7 +53,7 @@ public interface PathMapper { * @param oakPath Oak path * @return JCR path */ - @Nonnull + @NotNull String getJcrPath(String oakPath); } Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.namepath; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java Wed Nov 7 14:01:00 2018 @@ -34,12 +34,11 @@ import java.util.Map; import java.util.SortedMap; import java.util.concurrent.atomic.AtomicReference; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - import org.apache.jackrabbit.oak.spi.whiteboard.Registration; import org.apache.jackrabbit.oak.spi.whiteboard.Tracker; import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.osgi.framework.BundleContext; import org.osgi.framework.Filter; import org.osgi.framework.ServiceReference; @@ -59,7 +58,7 @@ public class OsgiWhiteboard implements W private final BundleContext context; - public OsgiWhiteboard(@Nonnull BundleContext context) { + public OsgiWhiteboard(@NotNull BundleContext context) { this.context = checkNotNull(context); } Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.osgi; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/AggregatingDescriptors.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/AggregatingDescriptors.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/AggregatingDescriptors.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/AggregatingDescriptors.java Wed Nov 7 14:01:00 2018 @@ -22,12 +22,12 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; import javax.jcr.Value; import org.apache.jackrabbit.oak.api.Descriptors; import org.apache.jackrabbit.oak.spi.whiteboard.Tracker; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * An AggregatingDescriptors is an implementation of Descriptors @@ -69,7 +69,7 @@ public class AggregatingDescriptors impl } @Override - public boolean isStandardDescriptor(@Nonnull String key) { + public boolean isStandardDescriptor(@NotNull String key) { for (Iterator<Descriptors> it = getDescriptors().iterator(); it.hasNext();) { Descriptors descriptors = it.next(); if (descriptors.isStandardDescriptor(key)) { @@ -80,7 +80,7 @@ public class AggregatingDescriptors impl } @Override - public boolean isSingleValueDescriptor(@Nonnull String key) { + public boolean isSingleValueDescriptor(@NotNull String key) { for (Iterator<Descriptors> it = getDescriptors().iterator(); it.hasNext();) { Descriptors descriptors = it.next(); if (descriptors.isSingleValueDescriptor(key)) { @@ -90,9 +90,9 @@ public class AggregatingDescriptors impl return false; } - @CheckForNull + @Nullable @Override - public Value getValue(@Nonnull String key) { + public Value getValue(@NotNull String key) { for (Iterator<Descriptors> it = getDescriptors().iterator(); it.hasNext();) { Descriptors descriptors = it.next(); Value value = descriptors.getValue(key); @@ -103,9 +103,9 @@ public class AggregatingDescriptors impl return null; } - @CheckForNull + @Nullable @Override - public Value[] getValues(@Nonnull String key) { + public Value[] getValues(@NotNull String key) { for (Iterator<Descriptors> it = getDescriptors().iterator(); it.hasNext();) { Descriptors descriptors = it.next(); Value[] values = descriptors.getValues(key); Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/GenericDescriptors.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/GenericDescriptors.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/GenericDescriptors.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/GenericDescriptors.java Wed Nov 7 14:01:00 2018 @@ -25,12 +25,11 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.jcr.Value; import org.apache.jackrabbit.oak.api.Descriptors; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * Default implementation of the {@link Descriptors} interface. Supports overlying of given default descriptors. @@ -62,7 +61,7 @@ public class GenericDescriptors implemen * Note: If this descriptors are based on default descriptors, the returns string array is a merge of this and the * base's keys. */ - @Nonnull + @NotNull @Override public String[] getKeys() { Set<String> keys = new HashSet<String>(descriptors.keySet()); @@ -78,7 +77,7 @@ public class GenericDescriptors implemen * Note: If the descriptor with {@code key} does not exist in this set, the call is delegated to the base descriptors. */ @Override - public boolean isStandardDescriptor(@Nonnull String key) { + public boolean isStandardDescriptor(@NotNull String key) { return descriptors.containsKey(key) && descriptors.get(key).standard || base != null && base.isStandardDescriptor(key); } @@ -89,7 +88,7 @@ public class GenericDescriptors implemen * Note: If the descriptor with {@code key} does not exist in this set, the call is delegated to the base descriptors. */ @Override - public boolean isSingleValueDescriptor(@Nonnull String key) { + public boolean isSingleValueDescriptor(@NotNull String key) { return descriptors.containsKey(key) && descriptors.get(key).singleValued || base != null && base.isSingleValueDescriptor(key); } @@ -99,9 +98,9 @@ public class GenericDescriptors implemen * * Note: If the descriptor with {@code key} does not exist in this set, the call is delegated to the base descriptors. */ - @CheckForNull + @Nullable @Override - public Value getValue(@Nonnull String key) { + public Value getValue(@NotNull String key) { Descriptor d = descriptors.get(key); if (d == null) { return base == null ? null : base.getValue(key); @@ -114,9 +113,9 @@ public class GenericDescriptors implemen * * Note: If the descriptor with {@code key} does not exist in this set, the call is delegated to the base descriptors. */ - @CheckForNull + @Nullable @Override - public Value[] getValues(@Nonnull String key) { + public Value[] getValues(@NotNull String key) { Descriptor d = descriptors.get(key); if (d == null) { return base == null ? null : base.getValues(key); @@ -133,7 +132,7 @@ public class GenericDescriptors implemen * @param standard flag indicating if this is a standard descriptor. see {@link Descriptors#isStandardDescriptor(String)} * @return {@code this} suitable for chaining. */ - public GenericDescriptors put(@Nonnull String name, @Nonnull Value[] values, boolean singleValued, boolean standard) { + public GenericDescriptors put(@NotNull String name, @NotNull Value[] values, boolean singleValued, boolean standard) { descriptors.put(name, new Descriptor(name, values, singleValued, standard)); return this; } @@ -147,7 +146,7 @@ public class GenericDescriptors implemen * @param standard flag indicating if this is a standard descriptor. see {@link Descriptors#isStandardDescriptor(String)} * @return {@code this} suitable for chaining. */ - public GenericDescriptors put(@Nonnull String name, @Nonnull Value value, boolean singleValued, boolean standard) { + public GenericDescriptors put(@NotNull String name, @NotNull Value value, boolean singleValued, boolean standard) { descriptors.put(name, new Descriptor(name, new Value[]{value}, singleValued, standard)); return this; } Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/descriptors/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.spi.descriptors; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java Wed Nov 7 14:01:00 2018 @@ -25,10 +25,9 @@ import static com.google.common.collect. import java.util.Collection; import java.util.Set; -import javax.annotation.Nonnull; - import com.google.common.collect.Sets; import org.apache.jackrabbit.oak.spi.whiteboard.Registration; +import org.jetbrains.annotations.NotNull; /** * This {@link GCMonitor} implementation simply delegates all its call @@ -41,7 +40,7 @@ public class DelegatingGCMonitor impleme * New instance with an initial set of delegates (which cannot be unregistered). * @param gcMonitors */ - public DelegatingGCMonitor(@Nonnull Collection<? extends GCMonitor> gcMonitors) { + public DelegatingGCMonitor(@NotNull Collection<? extends GCMonitor> gcMonitors) { this.gcMonitors = newConcurrentHashSet(); this.gcMonitors.addAll(gcMonitors); } @@ -59,7 +58,7 @@ public class DelegatingGCMonitor impleme * @return a {@link Registration} instance, which removes the registered * {@code GCMonitor} instance when called. */ - public Registration registerGCMonitor(@Nonnull final GCMonitor gcMonitor) { + public Registration registerGCMonitor(@NotNull final GCMonitor gcMonitor) { gcMonitors.add(checkNotNull(gcMonitor)); return new Registration() { @Override Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.spi.gc; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfoProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfoProvider.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfoProvider.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfoProvider.java Wed Nov 7 14:01:00 2018 @@ -21,9 +21,8 @@ package org.apache.jackrabbit.oak.spi.mo import java.util.Collection; -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; - +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.osgi.annotation.versioning.ProviderType; /** @@ -41,7 +40,7 @@ public interface MountInfoProvider { * @return mountInfo for the given path. If no explicit mount configured then * default mount would be returned */ - @Nonnull + @NotNull Mount getMountByPath(String path); /** @@ -49,7 +48,7 @@ public interface MountInfoProvider { * * @return a collection of mounts, possibly empty */ - @Nonnull + @NotNull Collection<Mount> getNonDefaultMounts(); /** @@ -59,7 +58,7 @@ public interface MountInfoProvider { * @return mount instance for given mount name. If no mount exists for given name * <tt>null</tt> would be returned */ - @CheckForNull + @Nullable Mount getMountByName(String name); /** @@ -77,7 +76,7 @@ public interface MountInfoProvider { * * @see Mount#isUnder(String) */ - @Nonnull + @NotNull Collection<Mount> getMountsPlacedUnder(String path); /** @@ -88,7 +87,7 @@ public interface MountInfoProvider { * * @see Mount#isDirectlyUnder(String) */ - @Nonnull + @NotNull Collection<Mount> getMountsPlacedDirectlyUnder(String path); /** @@ -96,6 +95,6 @@ public interface MountInfoProvider { * * @return the default mount */ - @Nonnull + @NotNull Mount getDefaultMount(); } Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/package-info.java Wed Nov 7 14:01:00 2018 @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -@Version("3.1.0") +@Version("3.1.1") package org.apache.jackrabbit.oak.spi.mount; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/DefinitionProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/DefinitionProvider.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/DefinitionProvider.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/DefinitionProvider.java Wed Nov 7 14:01:00 2018 @@ -16,7 +16,6 @@ */ package org.apache.jackrabbit.oak.spi.nodetype; -import javax.annotation.Nonnull; import javax.jcr.RepositoryException; import javax.jcr.nodetype.ConstraintViolationException; import javax.jcr.nodetype.NodeDefinition; @@ -24,6 +23,7 @@ import javax.jcr.nodetype.PropertyDefini import org.apache.jackrabbit.oak.api.PropertyState; import org.apache.jackrabbit.oak.api.Tree; +import org.jetbrains.annotations.NotNull; import org.osgi.annotation.versioning.ProviderType; /** @@ -32,7 +32,7 @@ import org.osgi.annotation.versioning.Pr @ProviderType public interface DefinitionProvider { - @Nonnull + @NotNull NodeDefinition getRootDefinition() throws RepositoryException; /** @@ -47,8 +47,8 @@ public interface DefinitionProvider { * @throws ConstraintViolationException If no matching definition can be found. * @throws RepositoryException If another error occurs. */ - @Nonnull - NodeDefinition getDefinition(@Nonnull Tree parent, @Nonnull String nodeName) + @NotNull + NodeDefinition getDefinition(@NotNull Tree parent, @NotNull String nodeName) throws ConstraintViolationException, RepositoryException; /** @@ -61,7 +61,7 @@ public interface DefinitionProvider { * @throws ConstraintViolationException If no matching definition can be found. * @throws RepositoryException If another error occurs. */ - @Nonnull + @NotNull NodeDefinition getDefinition(Tree parent, Tree targetNode) throws ConstraintViolationException, RepositoryException; @@ -75,9 +75,9 @@ public interface DefinitionProvider { * @throws ConstraintViolationException If no matching definition can be found. * @throws RepositoryException If another error occurs. */ - @Nonnull + @NotNull PropertyDefinition getDefinition( Tree parent, PropertyState propertyState, boolean exactTypeMatch) throws ConstraintViolationException, RepositoryException; -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeType.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeType.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeType.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeType.java Wed Nov 7 14:01:00 2018 @@ -16,7 +16,6 @@ */ package org.apache.jackrabbit.oak.spi.nodetype; -import javax.annotation.Nonnull; import javax.jcr.RepositoryException; import javax.jcr.UnsupportedRepositoryOperationException; import javax.jcr.nodetype.ConstraintViolationException; @@ -25,6 +24,7 @@ import javax.jcr.nodetype.PropertyDefini import org.apache.jackrabbit.oak.api.PropertyState; import org.apache.jackrabbit.oak.api.Tree; +import org.jetbrains.annotations.NotNull; import org.osgi.annotation.versioning.ProviderType; @ProviderType @@ -47,18 +47,18 @@ public interface EffectiveNodeType { Iterable<PropertyDefinition> getMandatoryPropertyDefinitions(); - @Nonnull + @NotNull Iterable<NodeDefinition> getNamedNodeDefinitions( String oakName); - @Nonnull + @NotNull Iterable<PropertyDefinition> getNamedPropertyDefinitions( String oakName); - @Nonnull + @NotNull Iterable<NodeDefinition> getResidualNodeDefinitions(); - @Nonnull + @NotNull Iterable<PropertyDefinition> getResidualPropertyDefinitions(); void checkSetProperty(PropertyState property) throws RepositoryException; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeTypeProvider.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeTypeProvider.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeTypeProvider.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/EffectiveNodeTypeProvider.java Wed Nov 7 14:01:00 2018 @@ -17,12 +17,12 @@ package org.apache.jackrabbit.oak.spi.nodetype; import java.util.Iterator; -import javax.annotation.Nonnull; import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.nodetype.NoSuchNodeTypeException; import org.apache.jackrabbit.oak.api.Tree; +import org.jetbrains.annotations.NotNull; import org.osgi.annotation.versioning.ProviderType; /** @@ -55,7 +55,7 @@ public interface EffectiveNodeTypeProvid * @throws RepositoryException If the given node type name is invalid or if * some other error occurs. */ - boolean isNodeType(@Nonnull String primaryTypeName, @Nonnull Iterator<String> mixinTypes, @Nonnull String nodeTypeName) throws NoSuchNodeTypeException, RepositoryException; + boolean isNodeType(@NotNull String primaryTypeName, @NotNull Iterator<String> mixinTypes, @NotNull String nodeTypeName) throws NoSuchNodeTypeException, RepositoryException; /** * Returns {@code true} if {@code typeName} is of the specified primary node @@ -90,4 +90,4 @@ public interface EffectiveNodeTypeProvid * @see <a href="http://www.jcp.org/en/jsr/detail?id=283">JCR 2.0 Specification, Section 3.7.6.5</a> */ EffectiveNodeType getEffectiveNodeType(Tree tree) throws RepositoryException; -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/nodetype/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.spi.nodetype; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java Wed Nov 7 14:01:00 2018 @@ -20,8 +20,6 @@ package org.apache.jackrabbit.oak.spi.ob import java.util.Set; -import javax.annotation.CheckForNull; - import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; @@ -30,6 +28,7 @@ import org.apache.jackrabbit.oak.commons import org.apache.jackrabbit.oak.commons.json.JsopReader; import org.apache.jackrabbit.oak.commons.json.JsopTokenizer; import org.apache.jackrabbit.oak.commons.json.JsopWriter; +import org.jetbrains.annotations.Nullable; /** * A ChangeSet is a collection of items that have been changed as part of a @@ -105,22 +104,22 @@ public final class ChangeSet { return hitsMaxPathDepth; } - @CheckForNull + @Nullable public Set<String> getParentPaths() { return parentPaths; } - @CheckForNull + @Nullable public Set<String> getParentNodeNames() { return parentNodeNames; } - @CheckForNull + @Nullable public Set<String> getParentNodeTypes() { return parentNodeTypes; } - @CheckForNull + @Nullable public Set<String> getPropertyNames() { return propertyNames; } @@ -129,7 +128,7 @@ public final class ChangeSet { return maxPathDepth; } - @CheckForNull + @Nullable public Set<String> getAllNodeTypes() { return allNodeTypes; } @@ -242,4 +241,4 @@ public final class ChangeSet { } json.endArray(); } -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java Wed Nov 7 14:01:00 2018 @@ -20,10 +20,9 @@ package org.apache.jackrabbit.oak.spi.ob import java.util.Set; -import javax.annotation.Nullable; - import com.google.common.collect.Sets; import org.apache.jackrabbit.oak.commons.PathUtils; +import org.jetbrains.annotations.Nullable; /** * Builder of a ChangeSet - only used by ChangeCollectorProvider (and tests..) Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.spi.observation; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java Wed Nov 7 14:01:00 2018 @@ -24,7 +24,7 @@ import static java.util.Collections.empt import java.util.List; -import javax.annotation.Nonnull; +import org.jetbrains.annotations.NotNull; /** * {@code AbstractServiceTracker} is a base class for composite components @@ -61,7 +61,7 @@ public abstract class AbstractServiceTra */ private volatile Tracker<T> tracker = stopped; - protected AbstractServiceTracker(@Nonnull Class<T> type) { + protected AbstractServiceTracker(@NotNull Class<T> type) { this.type = checkNotNull(type); } Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java Wed Nov 7 14:01:00 2018 @@ -16,8 +16,6 @@ */ package org.apache.jackrabbit.oak.spi.whiteboard; -import javax.annotation.Nonnull; - import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.collect.Maps.newHashMap; @@ -29,6 +27,8 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import org.jetbrains.annotations.NotNull; + public class DefaultWhiteboard implements Whiteboard { private final Map<Class<?>, Set<Service>> registry = newHashMap(); @@ -131,7 +131,7 @@ public class DefaultWhiteboard implement private final Map<?, ?> properties; - private Service(@Nonnull Object service, Map<?, ?> properties) { + private Service(@NotNull Object service, Map<?, ?> properties) { checkNotNull(service); this.service = service; this.properties = properties; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAware.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAware.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAware.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAware.java Wed Nov 7 14:01:00 2018 @@ -16,8 +16,8 @@ */ package org.apache.jackrabbit.oak.spi.whiteboard; -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * Marker interface for services than can hold a whiteboard. @@ -28,12 +28,12 @@ public interface WhiteboardAware { * Sets the whiteboard. * @param whiteboard the whiteboard */ - void setWhiteboard(@Nonnull Whiteboard whiteboard); + void setWhiteboard(@NotNull Whiteboard whiteboard); /** * Returns the whiteboard * @return the whiteboard */ - @CheckForNull + @Nullable Whiteboard getWhiteboard(); -} \ No newline at end of file +} Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor.java Wed Nov 7 14:01:00 2018 @@ -19,7 +19,7 @@ package org.apache.jackrabbit.oak.spi.whiteboard; import java.util.concurrent.Executor; -import javax.annotation.Nonnull; +import org.jetbrains.annotations.NotNull; /** * Dynamic {@link Executor} based on the available whiteboard services. @@ -37,7 +37,7 @@ public class WhiteboardExecutor extends //----------------------------------------------------------< Executor >-- @Override - public void execute(@Nonnull Runnable command) { + public void execute(@NotNull Runnable command) { for (Executor executor : getServices()) { // use the first executor to run the command executor.execute(command); Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java Wed Nov 7 14:01:00 2018 @@ -21,13 +21,12 @@ import java.util.Hashtable; import java.util.List; import java.util.Map; -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import org.apache.jackrabbit.oak.commons.jmx.JmxUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; @@ -128,8 +127,8 @@ public class WhiteboardUtils { * @param type the service type * @return a list of services */ - @Nonnull - public static <T> List<T> getServices(@Nonnull Whiteboard wb, @Nonnull Class<T> type) { + @NotNull + public static <T> List<T> getServices(@NotNull Whiteboard wb, @NotNull Class<T> type) { return getServices(wb, type, null); } @@ -140,8 +139,8 @@ public class WhiteboardUtils { * * @return one service or {@code null} */ - @CheckForNull - public static <T> T getService(@Nonnull Whiteboard wb, @Nonnull Class<T> type) { + @Nullable + public static <T> T getService(@NotNull Whiteboard wb, @NotNull Class<T> type) { return getService(wb, type, null); } @@ -156,8 +155,8 @@ public class WhiteboardUtils { * @param predicate filtering predicate or {@code null} * @return a list of services */ - @Nonnull - public static <T> List<T> getServices(@Nonnull Whiteboard wb, @Nonnull Class<T> type, @Nullable Predicate<T> predicate) { + @NotNull + public static <T> List<T> getServices(@NotNull Whiteboard wb, @NotNull Class<T> type, @Nullable Predicate<T> predicate) { Tracker<T> tracker = wb.track(type); try { if (predicate == null) { @@ -181,8 +180,8 @@ public class WhiteboardUtils { * @param predicate filtering predicate or {@code null} * @return one service or {@code null} */ - @CheckForNull - public static <T> T getService(@Nonnull Whiteboard wb, @Nonnull Class<T> type, @Nullable Predicate<T> predicate) { + @Nullable + public static <T> T getService(@NotNull Whiteboard wb, @NotNull Class<T> type, @Nullable Predicate<T> predicate) { Tracker<T> tracker = wb.track(type); try { for (T service : tracker.getServices()) { Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.spi.whiteboard; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java Wed Nov 7 14:01:00 2018 @@ -23,9 +23,8 @@ import java.io.Closeable; import java.io.IOException; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -49,7 +48,7 @@ public class StopwatchLogger implements * * @param clazz */ - public StopwatchLogger(@Nonnull final String clazz) { + public StopwatchLogger(@NotNull final String clazz) { this(null, checkNotNull(clazz)); } @@ -58,7 +57,7 @@ public class StopwatchLogger implements * * @param clazz */ - public StopwatchLogger(@Nonnull final Class<?> clazz) { + public StopwatchLogger(@NotNull final Class<?> clazz) { this(checkNotNull(clazz).getName().toString()); } @@ -69,7 +68,7 @@ public class StopwatchLogger implements * @param customLog * @param clazz */ - public StopwatchLogger(@Nullable final Logger customLog, @Nonnull final Class<?> clazz) { + public StopwatchLogger(@Nullable final Logger customLog, @NotNull final Class<?> clazz) { this(customLog, checkNotNull(clazz).getName().toString()); } @@ -80,7 +79,7 @@ public class StopwatchLogger implements * @param customLog * @param clazz */ - public StopwatchLogger(@Nullable final Logger customLog, @Nonnull final String clazz) { + public StopwatchLogger(@Nullable final Logger customLog, @NotNull final String clazz) { this.clazz = checkNotNull(clazz); this.customLog = customLog; } @@ -120,7 +119,7 @@ public class StopwatchLogger implements * @param clazz the class to be used during the tracking of times * @param message a custom message for the tracking. */ - private static void track(@Nonnull final StopwatchLogger swl, + private static void track(@NotNull final StopwatchLogger swl, @Nullable final String message) { checkNotNull(swl); Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/package-info.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/package-info.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/package-info.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/package-info.java Wed Nov 7 14:01:00 2018 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -@Version("1.0.0") +@Version("1.0.1") package org.apache.jackrabbit.oak.stats; -import org.osgi.annotation.versioning.Version; \ No newline at end of file +import org.osgi.annotation.versioning.Version; Modified: jackrabbit/oak/branches/1.8/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.8/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java?rev=1846015&r1=1846014&r2=1846015&view=diff ============================================================================== --- jackrabbit/oak/branches/1.8/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java (original) +++ jackrabbit/oak/branches/1.8/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java Wed Nov 7 14:01:00 2018 @@ -24,11 +24,10 @@ import static org.junit.Assert.assertTru import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; -import javax.annotation.Nonnull; - import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.cache.Weigher; +import org.jetbrains.annotations.NotNull; import org.junit.Before; import org.junit.Test; @@ -38,7 +37,7 @@ public class CacheStatsTest { private final Weigher<Integer, Integer> weigher = new Weigher<Integer, Integer>() { @Override - public int weigh(@Nonnull Integer key, @Nonnull Integer value) { + public int weigh(@NotNull Integer key, @NotNull Integer value) { return 1; } };