Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkCachingImpl.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkCachingImpl.java597
1 files changed, 0 insertions, 597 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkCachingImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkCachingImpl.java
deleted file mode 100644
index a6416c3132..0000000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkCachingImpl.java
+++ /dev/null
@@ -1,597 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0, which accompanies this distribution
- * and is available at http://www.eclipse.org/legal/epl-v10.html.
- *
- * Contributors:
- * Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.eclipselink.core.internal.context.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.context.PersistentType;
-import org.eclipse.jpt.core.context.java.JavaTypeMapping;
-import org.eclipse.jpt.core.internal.context.java.AbstractJavaJpaContextNode;
-import org.eclipse.jpt.core.jpa2.JpaFactory2_0;
-import org.eclipse.jpt.core.jpa2.context.CacheableHolder2_0;
-import org.eclipse.jpt.core.jpa2.context.java.JavaCacheable2_0;
-import org.eclipse.jpt.core.jpa2.context.java.JavaCacheableHolder2_0;
-import org.eclipse.jpt.core.jpa2.context.persistence.PersistenceUnit2_0;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.eclipselink.core.context.EclipseLinkCacheCoordinationType;
-import org.eclipse.jpt.eclipselink.core.context.EclipseLinkCacheType;
-import org.eclipse.jpt.eclipselink.core.context.EclipseLinkCaching;
-import org.eclipse.jpt.eclipselink.core.context.EclipseLinkExistenceType;
-import org.eclipse.jpt.eclipselink.core.context.EclipseLinkExpiryTimeOfDay;
-import org.eclipse.jpt.eclipselink.core.context.java.JavaEclipseLinkCaching;
-import org.eclipse.jpt.eclipselink.core.internal.DefaultEclipseLinkJpaValidationMessages;
-import org.eclipse.jpt.eclipselink.core.internal.EclipseLinkJpaValidationMessages;
-import org.eclipse.jpt.eclipselink.core.resource.java.EclipseLinkCacheAnnotation;
-import org.eclipse.jpt.eclipselink.core.resource.java.EclipseLinkExistenceCheckingAnnotation;
-import org.eclipse.jpt.eclipselink.core.resource.java.EclipseLinkTimeOfDayAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-public class JavaEclipseLinkCachingImpl
- extends AbstractJavaJpaContextNode
- implements
- JavaEclipseLinkCaching,
- JavaCacheableHolder2_0
-{
-
- protected EclipseLinkCacheType specifiedType;
- protected Integer specifiedSize;
- protected Boolean specifiedShared;
- protected Boolean specifiedAlwaysRefresh;
- protected Boolean specifiedRefreshOnlyIfNewer;
- protected Boolean specifiedDisableHits;
-
- protected boolean existenceChecking;
- protected EclipseLinkExistenceType specifiedExistenceType;
- protected EclipseLinkExistenceType defaultExistenceType;
-
- protected EclipseLinkCacheCoordinationType specifiedCoordinationType;
-
- protected Integer expiry;
- protected JavaEclipseLinkExpiryTimeOfDay expiryTimeOfDay;
-
- protected final JavaCacheable2_0 cacheable;
-
- protected JavaResourcePersistentType resourcePersistentType;
-
- public JavaEclipseLinkCachingImpl(JavaTypeMapping parent) {
- super(parent);
- this.cacheable = ((JpaFactory2_0) this.getJpaFactory()).buildJavaCacheable(this);
- }
-
- @Override
- public JavaTypeMapping getParent() {
- return (JavaTypeMapping) super.getParent();
- }
-
-
- //query for the cache annotation every time on setters.
- //call one setter and the CacheAnnotation could change.
- //You could call more than one setter before this object has received any notification
- //from the java resource model
- protected EclipseLinkCacheAnnotation getCacheAnnotation() {
- return (EclipseLinkCacheAnnotation) this.resourcePersistentType.
- getNonNullAnnotation(getCacheAnnotationName());
- }
-
- protected EclipseLinkExistenceCheckingAnnotation getExistenceCheckingAnnotation() {
- return (EclipseLinkExistenceCheckingAnnotation) this.resourcePersistentType.
- getAnnotation(getExistenceCheckingAnnotationName());
- }
-
- protected String getCacheAnnotationName() {
- return EclipseLinkCacheAnnotation.ANNOTATION_NAME;
- }
-
- protected String getExistenceCheckingAnnotationName() {
- return EclipseLinkExistenceCheckingAnnotation.ANNOTATION_NAME;
- }
-
- public EclipseLinkCacheType getType() {
- return (this.getSpecifiedType() == null) ? this.getDefaultType() : this.getSpecifiedType();
- }
-
- public EclipseLinkCacheType getDefaultType() {
- return DEFAULT_TYPE;
- }
-
- public EclipseLinkCacheType getSpecifiedType() {
- return this.specifiedType;
- }
-
- public void setSpecifiedType(EclipseLinkCacheType newSpecifiedType) {
- EclipseLinkCacheType oldSpecifiedType = this.specifiedType;
- this.specifiedType = newSpecifiedType;
- this.getCacheAnnotation().setType(EclipseLinkCacheType.toJavaResourceModel(newSpecifiedType));
- firePropertyChanged(SPECIFIED_TYPE_PROPERTY, oldSpecifiedType, newSpecifiedType);
- }
-
- /**
- * internal setter used only for updating from the resource model.
- * There were problems with InvalidThreadAccess exceptions in the UI
- * when you set a value from the UI and the annotation doesn't exist yet.
- * Adding the annotation causes an update to occur and then the exception.
- */
- protected void setSpecifiedType_(EclipseLinkCacheType newSpecifiedType) {
- EclipseLinkCacheType oldSpecifiedType = this.specifiedType;
- this.specifiedType = newSpecifiedType;
- firePropertyChanged(SPECIFIED_TYPE_PROPERTY, oldSpecifiedType, newSpecifiedType);
- }
-
- public int getSize() {
- return (this.getSpecifiedSize() == null) ? getDefaultSize() : this.getSpecifiedSize().intValue();
- }
-
- public int getDefaultSize() {
- return EclipseLinkCaching.DEFAULT_SIZE;
- }
-
- public Integer getSpecifiedSize() {
- return this.specifiedSize;
- }
-
- public void setSpecifiedSize(Integer newSpecifiedSize) {
- Integer oldSpecifiedSize = this.specifiedSize;
- this.specifiedSize = newSpecifiedSize;
- getCacheAnnotation().setSize(newSpecifiedSize);
- firePropertyChanged(SPECIFIED_SIZE_PROPERTY, oldSpecifiedSize, newSpecifiedSize);
- }
-
- protected void setSpecifiedSize_(Integer newSpecifiedSize) {
- Integer oldSpecifiedSize = this.specifiedSize;
- this.specifiedSize = newSpecifiedSize;
- firePropertyChanged(SPECIFIED_SIZE_PROPERTY, oldSpecifiedSize, newSpecifiedSize);
- }
-
-
- public boolean isShared() {
- return (this.specifiedShared == null) ? this.isDefaultShared() : this.specifiedShared.booleanValue();
- }
-
- public boolean isDefaultShared() {
- return EclipseLinkCaching.DEFAULT_SHARED;
- }
-
- public Boolean getSpecifiedShared() {
- return this.specifiedShared;
- }
-
- public void setSpecifiedShared(Boolean newSpecifiedShared) {
- Boolean oldShared = this.specifiedShared;
- this.specifiedShared = newSpecifiedShared;
- this.getCacheAnnotation().setShared(newSpecifiedShared);
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_SHARED_PROPERTY, oldShared, newSpecifiedShared);
-
- if (newSpecifiedShared == Boolean.FALSE) {
- setSpecifiedType(null);
- setSpecifiedSize(null);
- setSpecifiedAlwaysRefresh(null);
- setSpecifiedRefreshOnlyIfNewer(null);
- setSpecifiedDisableHits(null);
- setSpecifiedCoordinationType(null);
- setExpiry(null);
- if (this.expiryTimeOfDay != null) {
- removeExpiryTimeOfDay();
- }
- }
- }
-
- protected void setSpecifiedShared_(Boolean newSpecifiedShared) {
- Boolean oldSpecifiedShared = this.specifiedShared;
- this.specifiedShared = newSpecifiedShared;
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_SHARED_PROPERTY, oldSpecifiedShared, newSpecifiedShared);
- }
-
- public boolean isAlwaysRefresh() {
- return (this.specifiedAlwaysRefresh == null) ? this.isDefaultAlwaysRefresh() : this.specifiedAlwaysRefresh.booleanValue();
- }
-
- public boolean isDefaultAlwaysRefresh() {
- return EclipseLinkCaching.DEFAULT_ALWAYS_REFRESH;
- }
-
- public Boolean getSpecifiedAlwaysRefresh() {
- return this.specifiedAlwaysRefresh;
- }
-
- public void setSpecifiedAlwaysRefresh(Boolean newSpecifiedAlwaysRefresh) {
- Boolean oldAlwaysRefresh = this.specifiedAlwaysRefresh;
- this.specifiedAlwaysRefresh = newSpecifiedAlwaysRefresh;
- this.getCacheAnnotation().setAlwaysRefresh(newSpecifiedAlwaysRefresh);
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_ALWAYS_REFRESH_PROPERTY, oldAlwaysRefresh, newSpecifiedAlwaysRefresh);
- }
-
- protected void setSpecifiedAlwaysRefresh_(Boolean newSpecifiedAlwaysRefresh) {
- Boolean oldAlwaysRefresh = this.specifiedAlwaysRefresh;
- this.specifiedAlwaysRefresh = newSpecifiedAlwaysRefresh;
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_ALWAYS_REFRESH_PROPERTY, oldAlwaysRefresh, newSpecifiedAlwaysRefresh);
- }
-
- public boolean isRefreshOnlyIfNewer() {
- return (this.specifiedRefreshOnlyIfNewer == null) ? this.isDefaultRefreshOnlyIfNewer() : this.specifiedRefreshOnlyIfNewer.booleanValue();
- }
-
- public boolean isDefaultRefreshOnlyIfNewer() {
- return EclipseLinkCaching.DEFAULT_REFRESH_ONLY_IF_NEWER;
- }
-
- public Boolean getSpecifiedRefreshOnlyIfNewer() {
- return this.specifiedRefreshOnlyIfNewer;
- }
-
- public void setSpecifiedRefreshOnlyIfNewer(Boolean newSpecifiedRefreshOnlyIfNewer) {
- Boolean oldRefreshOnlyIfNewer = this.specifiedRefreshOnlyIfNewer;
- this.specifiedRefreshOnlyIfNewer = newSpecifiedRefreshOnlyIfNewer;
- this.getCacheAnnotation().setRefreshOnlyIfNewer(newSpecifiedRefreshOnlyIfNewer);
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_REFRESH_ONLY_IF_NEWER_PROPERTY, oldRefreshOnlyIfNewer, newSpecifiedRefreshOnlyIfNewer);
- }
-
- protected void setSpecifiedRefreshOnlyIfNewer_(Boolean newSpecifiedRefreshOnlyIfNewer) {
- Boolean oldRefreshOnlyIfNewer = this.specifiedRefreshOnlyIfNewer;
- this.specifiedRefreshOnlyIfNewer = newSpecifiedRefreshOnlyIfNewer;
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_REFRESH_ONLY_IF_NEWER_PROPERTY, oldRefreshOnlyIfNewer, newSpecifiedRefreshOnlyIfNewer);
- }
-
- public boolean isDisableHits() {
- return (this.specifiedDisableHits == null) ? this.isDefaultDisableHits() : this.specifiedDisableHits.booleanValue();
- }
-
- public boolean isDefaultDisableHits() {
- return EclipseLinkCaching.DEFAULT_DISABLE_HITS;
- }
-
- public Boolean getSpecifiedDisableHits() {
- return this.specifiedDisableHits;
- }
-
- public void setSpecifiedDisableHits(Boolean newSpecifiedDisableHits) {
- Boolean oldDisableHits = this.specifiedDisableHits;
- this.specifiedDisableHits = newSpecifiedDisableHits;
- this.getCacheAnnotation().setDisableHits(newSpecifiedDisableHits);
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_DISABLE_HITS_PROPERTY, oldDisableHits, newSpecifiedDisableHits);
- }
-
- protected void setSpecifiedDisableHits_(Boolean newSpecifiedDisableHits) {
- Boolean oldDisableHits = this.specifiedDisableHits;
- this.specifiedDisableHits = newSpecifiedDisableHits;
- firePropertyChanged(EclipseLinkCaching.SPECIFIED_DISABLE_HITS_PROPERTY, oldDisableHits, newSpecifiedDisableHits);
- }
-
- public EclipseLinkCacheCoordinationType getCoordinationType() {
- return (this.getSpecifiedCoordinationType() == null) ? this.getDefaultCoordinationType() : this.getSpecifiedCoordinationType();
- }
-
- public EclipseLinkCacheCoordinationType getDefaultCoordinationType() {
- return DEFAULT_COORDINATION_TYPE;
- }
-
- public EclipseLinkCacheCoordinationType getSpecifiedCoordinationType() {
- return this.specifiedCoordinationType;
- }
-
- public void setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType newSpecifiedCoordinationType) {
- EclipseLinkCacheCoordinationType oldSpecifiedCoordinationType = this.specifiedCoordinationType;
- this.specifiedCoordinationType = newSpecifiedCoordinationType;
- this.getCacheAnnotation().setCoordinationType(EclipseLinkCacheCoordinationType.toJavaResourceModel(newSpecifiedCoordinationType));
- firePropertyChanged(SPECIFIED_COORDINATION_TYPE_PROPERTY, oldSpecifiedCoordinationType, newSpecifiedCoordinationType);
- }
-
- /**
- * internal setter used only for updating from the resource model.
- * There were problems with InvalidThreadAccess exceptions in the UI
- * when you set a value from the UI and the annotation doesn't exist yet.
- * Adding the annotation causes an update to occur and then the exception.
- */
- protected void setSpecifiedCoordinationType_(EclipseLinkCacheCoordinationType newSpecifiedCoordinationType) {
- EclipseLinkCacheCoordinationType oldSpecifiedCoordinationType = this.specifiedCoordinationType;
- this.specifiedCoordinationType = newSpecifiedCoordinationType;
- firePropertyChanged(SPECIFIED_COORDINATION_TYPE_PROPERTY, oldSpecifiedCoordinationType, newSpecifiedCoordinationType);
- }
-
- public boolean hasExistenceChecking() {
- return this.existenceChecking;
- }
-
- public void setExistenceChecking(boolean newExistenceChecking) {
- boolean oldExistenceChecking = this.existenceChecking;
- this.existenceChecking = newExistenceChecking;
- if (newExistenceChecking) {
- this.resourcePersistentType.addAnnotation(getExistenceCheckingAnnotationName());
- }
- else {
- this.resourcePersistentType.removeAnnotation(getExistenceCheckingAnnotationName());
- }
- firePropertyChanged(EXISTENCE_CHECKING_PROPERTY, oldExistenceChecking, newExistenceChecking);
- setDefaultExistenceType(caclulateDefaultExistenceType());
- }
-
- protected void setExistenceChecking_(boolean newExistenceChecking) {
- boolean oldExistenceChecking = this.existenceChecking;
- this.existenceChecking = newExistenceChecking;
- firePropertyChanged(EXISTENCE_CHECKING_PROPERTY, oldExistenceChecking, newExistenceChecking);
- }
-
- protected EclipseLinkExistenceType caclulateDefaultExistenceType() {
- if (hasExistenceChecking()) {
- return EclipseLinkExistenceType.CHECK_CACHE;
- }
- return DEFAULT_EXISTENCE_TYPE;
- }
-
- public EclipseLinkExistenceType getExistenceType() {
- return (this.getSpecifiedExistenceType() == null) ? this.getDefaultExistenceType() : this.getSpecifiedExistenceType();
- }
-
- public EclipseLinkExistenceType getDefaultExistenceType() {
- return this.defaultExistenceType;
- }
-
- protected void setDefaultExistenceType(EclipseLinkExistenceType newDefaultExistenceType) {
- EclipseLinkExistenceType oldDefaultExistenceType = this.defaultExistenceType;
- this.defaultExistenceType = newDefaultExistenceType;
- firePropertyChanged(DEFAULT_EXISTENCE_TYPE_PROPERTY, oldDefaultExistenceType, newDefaultExistenceType);
- }
-
- public EclipseLinkExistenceType getSpecifiedExistenceType() {
- return this.specifiedExistenceType;
- }
-
- public void setSpecifiedExistenceType(EclipseLinkExistenceType newSpecifiedExistenceType) {
- if (!hasExistenceChecking()) {
- if (newSpecifiedExistenceType != null) {
- setExistenceChecking(true);
- }
- else {
- return;
- }
- }
- EclipseLinkExistenceType oldSpecifiedExistenceType = this.specifiedExistenceType;
- this.specifiedExistenceType = newSpecifiedExistenceType;
- this.getExistenceCheckingAnnotation().setValue(EclipseLinkExistenceType.toJavaResourceModel(newSpecifiedExistenceType));
- firePropertyChanged(SPECIFIED_EXISTENCE_TYPE_PROPERTY, oldSpecifiedExistenceType, newSpecifiedExistenceType);
- }
-
- /**
- * internal setter used only for updating from the resource model.
- * There were problems with InvalidThreadAccess exceptions in the UI
- * when you set a value from the UI and the annotation doesn't exist yet.
- * Adding the annotation causes an update to occur and then the exception.
- */
- protected void setSpecifiedExistenceType_(EclipseLinkExistenceType newSpecifiedExistenceType) {
- EclipseLinkExistenceType oldSpecifiedExistenceType = this.specifiedExistenceType;
- this.specifiedExistenceType = newSpecifiedExistenceType;
- firePropertyChanged(SPECIFIED_EXISTENCE_TYPE_PROPERTY, oldSpecifiedExistenceType, newSpecifiedExistenceType);
- }
-
- public Integer getExpiry() {
- return this.expiry;
- }
-
- public void setExpiry(Integer newExpiry) {
- Integer oldExpiry = this.expiry;
- this.expiry = newExpiry;
- getCacheAnnotation().setExpiry(newExpiry);
- firePropertyChanged(EXPIRY_PROPERTY, oldExpiry, newExpiry);
- if (newExpiry != null && this.expiryTimeOfDay != null) {
- removeExpiryTimeOfDay();
- }
- }
-
- protected void setExpiry_(Integer newExpiry) {
- Integer oldExpiry = this.expiry;
- this.expiry = newExpiry;
- firePropertyChanged(EXPIRY_PROPERTY, oldExpiry, newExpiry);
- }
-
- public EclipseLinkExpiryTimeOfDay getExpiryTimeOfDay() {
- return this.expiryTimeOfDay;
- }
-
- public EclipseLinkExpiryTimeOfDay addExpiryTimeOfDay() {
- if (this.expiryTimeOfDay != null) {
- throw new IllegalStateException("expiryTimeOfDay already exists, use getExpiryTimeOfDay()"); //$NON-NLS-1$
- }
- if (this.resourcePersistentType.getAnnotation(getCacheAnnotationName()) == null) {
- this.resourcePersistentType.addAnnotation(getCacheAnnotationName());
- }
- JavaEclipseLinkExpiryTimeOfDay newExpiryTimeOfDay = new JavaEclipseLinkExpiryTimeOfDay(this);
- this.expiryTimeOfDay = newExpiryTimeOfDay;
- EclipseLinkTimeOfDayAnnotation timeOfDayAnnotation = getCacheAnnotation().addExpiryTimeOfDay();
- newExpiryTimeOfDay.initialize(timeOfDayAnnotation);
- firePropertyChanged(EXPIRY_TIME_OF_DAY_PROPERTY, null, newExpiryTimeOfDay);
- setExpiry(null);
- return newExpiryTimeOfDay;
- }
-
- public void removeExpiryTimeOfDay() {
- if (this.expiryTimeOfDay == null) {
- throw new IllegalStateException("timeOfDayExpiry does not exist"); //$NON-NLS-1$
- }
- EclipseLinkExpiryTimeOfDay oldExpiryTimeOfDay = this.expiryTimeOfDay;
- this.expiryTimeOfDay = null;
- getCacheAnnotation().removeExpiryTimeOfDay();
- firePropertyChanged(EXPIRY_TIME_OF_DAY_PROPERTY, oldExpiryTimeOfDay, null);
- }
-
- protected void setExpiryTimeOfDay(JavaEclipseLinkExpiryTimeOfDay newExpiryTimeOfDay) {
- JavaEclipseLinkExpiryTimeOfDay oldExpiryTimeOfDay = this.expiryTimeOfDay;
- this.expiryTimeOfDay = newExpiryTimeOfDay;
- firePropertyChanged(EXPIRY_TIME_OF_DAY_PROPERTY, oldExpiryTimeOfDay, newExpiryTimeOfDay);
- }
-
- public JavaCacheable2_0 getCacheable() {
- return this.cacheable;
- }
-
- public boolean calculateDefaultCacheable() {
- CacheableHolder2_0 cacheableHolder = getCacheableSuperPersistentType(getParent().getPersistentType());
- if (cacheableHolder != null) {
- return cacheableHolder.getCacheable().isCacheable();
- }
- return ((PersistenceUnit2_0) getPersistenceUnit()).calculateDefaultCacheable();
- }
-
- protected CacheableHolder2_0 getCacheableSuperPersistentType(PersistentType persistentType) {
- PersistentType superPersistentType = persistentType.getSuperPersistentType();
- if (superPersistentType != null) {
- if (superPersistentType.getMapping() instanceof CacheableHolder2_0) {
- return (CacheableHolder2_0) superPersistentType.getMapping();
- }
- return getCacheableSuperPersistentType(superPersistentType);
- }
- return null;
- }
-
- public void initialize(JavaResourcePersistentType resourcePersistentType) {
- this.resourcePersistentType = resourcePersistentType;
- initialize(getCacheAnnotation());
- initialize(getExistenceCheckingAnnotation());
- this.cacheable.initialize(resourcePersistentType);
- }
-
- protected void initialize(EclipseLinkCacheAnnotation cache) {
- this.specifiedType = this.specifiedType(cache);
- this.specifiedSize = this.specifiedSize(cache);
- this.specifiedShared = this.specifiedShared(cache);
- this.specifiedAlwaysRefresh = this.specifiedAlwaysRefresh(cache);
- this.specifiedRefreshOnlyIfNewer = this.specifiedRefreshOnlyIfNewer(cache);
- this.specifiedDisableHits = this.specifiedDisableHits(cache);
- this.specifiedCoordinationType = this.specifiedCoordinationType(cache);
- this.initializeExpiry(cache);
- }
-
- protected void initialize(EclipseLinkExistenceCheckingAnnotation existenceChecking) {
- this.existenceChecking = existenceChecking != null;
- this.specifiedExistenceType = specifiedExistenceType(existenceChecking);
- this.defaultExistenceType = this.caclulateDefaultExistenceType();
- }
-
- protected void initializeExpiry(EclipseLinkCacheAnnotation cache) {
- if (cache.getExpiryTimeOfDay() == null) {
- this.expiry = cache.getExpiry();
- }
- else {
- if (cache.getExpiry() == null) { //handle with validation if both expiry and expiryTimeOfDay are set
- this.expiryTimeOfDay = new JavaEclipseLinkExpiryTimeOfDay(this);
- this.expiryTimeOfDay.initialize(cache.getExpiryTimeOfDay());
- }
- }
- }
-
- public void update(JavaResourcePersistentType resourcePersistentType) {
- this.resourcePersistentType = resourcePersistentType;
- update(getCacheAnnotation());
- update(getExistenceCheckingAnnotation());
- updateExpiry(getCacheAnnotation());
- this.cacheable.update(resourcePersistentType);
- }
-
- protected void update(EclipseLinkCacheAnnotation cache) {
- setSpecifiedType_(this.specifiedType(cache));
- setSpecifiedSize_(this.specifiedSize(cache));
- setSpecifiedShared_(this.specifiedShared(cache));
- setSpecifiedAlwaysRefresh_(this.specifiedAlwaysRefresh(cache));
- setSpecifiedRefreshOnlyIfNewer_(this.specifiedRefreshOnlyIfNewer(cache));
- setSpecifiedDisableHits_(this.specifiedDisableHits(cache));
- setSpecifiedCoordinationType_(this.specifiedCoordinationType(cache));
- }
-
- protected void update(EclipseLinkExistenceCheckingAnnotation existenceChecking) {
- setExistenceChecking_(existenceChecking != null);
- setSpecifiedExistenceType_(specifiedExistenceType(existenceChecking));
- setDefaultExistenceType(caclulateDefaultExistenceType());
- }
-
- protected void updateExpiry(EclipseLinkCacheAnnotation cache) {
- if (cache.getExpiryTimeOfDay() == null) {
- setExpiryTimeOfDay(null);
- setExpiry_(cache.getExpiry());
- }
- else {
- if (this.expiryTimeOfDay != null) {
- this.expiryTimeOfDay.update(cache.getExpiryTimeOfDay());
- }
- else if (cache.getExpiry() == null){
- setExpiryTimeOfDay(new JavaEclipseLinkExpiryTimeOfDay(this));
- this.expiryTimeOfDay.initialize(cache.getExpiryTimeOfDay());
- }
- else { //handle with validation if both expiry and expiryTimeOfDay are set
- setExpiryTimeOfDay(null);
- }
- }
- }
-
- protected EclipseLinkCacheType specifiedType(EclipseLinkCacheAnnotation cache) {
- return EclipseLinkCacheType.fromJavaResourceModel(cache.getType());
- }
-
- protected Integer specifiedSize(EclipseLinkCacheAnnotation cache) {
- return cache.getSize();
- }
-
- protected Boolean specifiedShared(EclipseLinkCacheAnnotation cache) {
- return cache.getShared();
- }
-
- protected Boolean specifiedAlwaysRefresh(EclipseLinkCacheAnnotation cache) {
- return cache.getAlwaysRefresh();
- }
-
- protected Boolean specifiedRefreshOnlyIfNewer(EclipseLinkCacheAnnotation cache) {
- return cache.getRefreshOnlyIfNewer();
- }
-
- protected Boolean specifiedDisableHits(EclipseLinkCacheAnnotation cache) {
- return cache.getDisableHits();
- }
-
- protected EclipseLinkCacheCoordinationType specifiedCoordinationType(EclipseLinkCacheAnnotation cache) {
- return EclipseLinkCacheCoordinationType.fromJavaResourceModel(cache.getCoordinationType());
- }
-
- protected Integer expiry(EclipseLinkCacheAnnotation cache) {
- return cache.getExpiry();
- }
-
- protected EclipseLinkExistenceType specifiedExistenceType(EclipseLinkExistenceCheckingAnnotation existenceChecking) {
- if (existenceChecking == null) {
- return null;
- }
- return EclipseLinkExistenceType.fromJavaResourceModel(existenceChecking.getValue());
- }
-
-
- public TextRange getValidationTextRange(CompilationUnit astRoot) {
- TextRange textRange = getCacheAnnotation().getTextRange(astRoot);
- return (textRange != null) ? textRange : this.getParent().getValidationTextRange(astRoot);
- }
-
- @Override
- public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateExpiry(messages, astRoot);
- }
-
- protected void validateExpiry(List<IMessage> messages, CompilationUnit astRoot) {
- EclipseLinkCacheAnnotation cache = getCacheAnnotation();
- if (cache.getExpiry() != null && cache.getExpiryTimeOfDay() != null) {
- messages.add(
- DefaultEclipseLinkJpaValidationMessages.buildMessage(
- IMessage.HIGH_SEVERITY,
- EclipseLinkJpaValidationMessages.CACHE_EXPIRY_AND_EXPIRY_TIME_OF_DAY_BOTH_SPECIFIED,
- new String[] {this.getParent().getPersistentType().getName()},
- this,
- getValidationTextRange(astRoot)
- )
- );
- }
- }
-}

Back to the top