Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAchim Loerke2013-03-20 09:40:03 +0000
committerAchim Loerke2013-03-20 09:40:03 +0000
commitfed6c24e0667207e89dcd47d8a6bc9c8eb3de116 (patch)
tree0c7eec1b8a5da442fd3597672d08ba4399e519f1
parent1bda6d80718ce4f400a741a04c9a3bc905f54d90 (diff)
downloadorg.eclipse.jubula.core-fed6c24e0667207e89dcd47d8a6bc9c8eb3de116.tar.gz
org.eclipse.jubula.core-fed6c24e0667207e89dcd47d8a6bc9c8eb3de116.tar.xz
org.eclipse.jubula.core-fed6c24e0667207e89dcd47d8a6bc9c8eb3de116.zip
Eclipse for Testers 1.2.2: Data not updated at places of reuse
https://bugs.eclipse.org/bugs/show_bug.cgi?id=399726 changed the refresh() to a better suited (and working) merge() in EditSupport clear()ed the Session data on Proeject reload extracted the ORM description from persistence.xml to orm.xml
-rw-r--r--org.eclipse.jubula.client.core/META-INF/orm.xml59
-rw-r--r--org.eclipse.jubula.client.core/META-INF/persistence.xml100
-rw-r--r--org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/EditSupport.java11
-rw-r--r--org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/ProjectPM.java1
4 files changed, 89 insertions, 82 deletions
diff --git a/org.eclipse.jubula.client.core/META-INF/orm.xml b/org.eclipse.jubula.client.core/META-INF/orm.xml
new file mode 100644
index 000000000..c85247c29
--- /dev/null
+++ b/org.eclipse.jubula.client.core/META-INF/orm.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="windows-1252" ?>
+<entity-mappings
+ xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm xsd/eclipselink_orm_1_0.xsd"
+ xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+ <entity
+ class="org.eclipse.jubula.client.core.persistence.locking.ApplicationPO" />
+ <entity class="org.eclipse.jubula.client.core.persistence.locking.DbGuardPO" />
+ <entity class="org.eclipse.jubula.client.core.model.DBVersionPO" />
+ <entity class="org.eclipse.jubula.client.core.persistence.locking.DbLockPO" />
+ <entity
+ class="org.eclipse.jubula.client.core.persistence.locking.LockedObjectPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestResultSummaryPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestResultPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ParameterDetailsPO" />
+ <entity class="org.eclipse.jubula.client.core.model.AUTConfigPO" />
+ <entity class="org.eclipse.jubula.client.core.model.NodePO" />
+ <entity class="org.eclipse.jubula.client.core.model.ProjectPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestJobPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestSuitePO" />
+ <entity class="org.eclipse.jubula.client.core.model.CapPO" />
+ <entity class="org.eclipse.jubula.client.core.model.CategoryPO" />
+ <entity class="org.eclipse.jubula.client.core.model.EventExecTestCasePO" />
+ <entity class="org.eclipse.jubula.client.core.model.ExecTestCasePO" />
+ <entity class="org.eclipse.jubula.client.core.model.ParamNodePO" />
+ <entity class="org.eclipse.jubula.client.core.model.RefTestSuitePO" />
+ <entity class="org.eclipse.jubula.client.core.model.SpecTestCasePO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestCasePO" />
+ <entity class="org.eclipse.jubula.client.core.model.AUTMainPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ParamDescriptionPO" />
+ <entity class="org.eclipse.jubula.client.core.model.CapParamDescriptionPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TcParamDescriptionPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ReusedProjectPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ProjectPropertiesPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestDataCubePO" />
+ <entity class="org.eclipse.jubula.client.core.model.TDManagerPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestDataPO" />
+ <entity class="org.eclipse.jubula.client.core.model.DataSetPO" />
+ <entity class="org.eclipse.jubula.client.core.model.CompIdentifierPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ObjectMappingPO" />
+ <entity
+ class="org.eclipse.jubula.client.core.model.ObjectMappingAssoziationPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ObjectMappingCategoryPO" />
+ <entity class="org.eclipse.jubula.client.core.model.CompNamesPairPO" />
+ <entity class="org.eclipse.jubula.client.core.model.AUTContPO" />
+ <entity class="org.eclipse.jubula.client.core.model.SpecObjContPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ExecObjContPO" />
+ <entity class="org.eclipse.jubula.client.core.model.TestDataCategoryPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ParamNamePO" />
+ <entity class="org.eclipse.jubula.client.core.model.ProjectNamePO" />
+ <entity class="org.eclipse.jubula.client.core.model.ComponentNamePO" />
+ <entity class="org.eclipse.jubula.client.core.model.UsedToolkitPO" />
+ <entity class="org.eclipse.jubula.client.core.model.ObjectMappingProfilePO" />
+ <entity class="org.eclipse.jubula.client.core.model.CheckConfContPO" />
+ <entity class="org.eclipse.jubula.client.core.model.CheckConfPO" />
+ <embeddable class="org.eclipse.jubula.client.core.model.MonitoringValuePO" />
+ <entity class="org.eclipse.jubula.client.core.model.MonitoringReportPO" />
+
+</entity-mappings>
diff --git a/org.eclipse.jubula.client.core/META-INF/persistence.xml b/org.eclipse.jubula.client.core/META-INF/persistence.xml
index 5ec5a27b5..11a4e2aec 100644
--- a/org.eclipse.jubula.client.core/META-INF/persistence.xml
+++ b/org.eclipse.jubula.client.core/META-INF/persistence.xml
@@ -1,85 +1,31 @@
-<?xml version="1.0" encoding="UTF-8" ?><!--
- Copyright (c) 2004, 2010 BREDEX GmbH.
- 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
- -->
+<?xml version="1.0" encoding="UTF-8" ?><!-- Copyright (c) 2004, 2010 BREDEX
+ GmbH. 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 -->
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
- <persistence-unit name="org.eclipse.jubula" transaction-type="RESOURCE_LOCAL">
- <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
- <class>org.eclipse.jubula.client.core.persistence.locking.ApplicationPO</class>
- <class>org.eclipse.jubula.client.core.persistence.locking.DbGuardPO</class>
- <class>org.eclipse.jubula.client.core.model.DBVersionPO</class>
- <class>org.eclipse.jubula.client.core.persistence.locking.DbLockPO</class>
- <class>org.eclipse.jubula.client.core.persistence.locking.LockedObjectPO</class>
- <class>org.eclipse.jubula.client.core.model.TestResultSummaryPO</class>
- <class>org.eclipse.jubula.client.core.model.TestResultPO</class>
- <class>org.eclipse.jubula.client.core.model.ParameterDetailsPO</class>
- <class>org.eclipse.jubula.client.core.model.AUTConfigPO</class>
- <class>org.eclipse.jubula.client.core.model.NodePO</class>
- <class>org.eclipse.jubula.client.core.model.ProjectPO</class>
- <class>org.eclipse.jubula.client.core.model.TestJobPO</class>
- <class>org.eclipse.jubula.client.core.model.TestSuitePO</class>
- <class>org.eclipse.jubula.client.core.model.CapPO</class>
- <class>org.eclipse.jubula.client.core.model.CategoryPO</class>
- <class>org.eclipse.jubula.client.core.model.EventExecTestCasePO</class>
- <class>org.eclipse.jubula.client.core.model.ExecTestCasePO</class>
- <class>org.eclipse.jubula.client.core.model.ParamNodePO</class>
- <class>org.eclipse.jubula.client.core.model.RefTestSuitePO</class>
- <class>org.eclipse.jubula.client.core.model.SpecTestCasePO</class>
- <class>org.eclipse.jubula.client.core.model.TestCasePO</class>
- <class>org.eclipse.jubula.client.core.model.AUTMainPO</class>
- <class>org.eclipse.jubula.client.core.model.ParamDescriptionPO</class>
- <class>org.eclipse.jubula.client.core.model.CapParamDescriptionPO</class>
- <class>org.eclipse.jubula.client.core.model.TcParamDescriptionPO</class>
- <class>org.eclipse.jubula.client.core.model.ReusedProjectPO</class>
- <class>org.eclipse.jubula.client.core.model.ProjectPropertiesPO</class>
- <class>org.eclipse.jubula.client.core.model.TestDataCubePO</class>
- <class>org.eclipse.jubula.client.core.model.TDManagerPO</class>
- <class>org.eclipse.jubula.client.core.model.TestDataPO</class>
- <class>org.eclipse.jubula.client.core.model.DataSetPO</class>
- <class>org.eclipse.jubula.client.core.model.CompIdentifierPO</class>
- <class>org.eclipse.jubula.client.core.model.ObjectMappingPO</class>
- <class>org.eclipse.jubula.client.core.model.ObjectMappingAssoziationPO</class>
- <class>org.eclipse.jubula.client.core.model.ObjectMappingCategoryPO</class>
- <class>org.eclipse.jubula.client.core.model.CompNamesPairPO</class>
- <class>org.eclipse.jubula.client.core.model.WrapperPO</class>
- <class>org.eclipse.jubula.client.core.model.AUTContPO</class>
- <class>org.eclipse.jubula.client.core.model.SpecObjContPO</class>
- <class>org.eclipse.jubula.client.core.model.ExecObjContPO</class>
- <class>org.eclipse.jubula.client.core.model.TestDataCategoryPO</class>
- <class>org.eclipse.jubula.client.core.model.ParamNamePO</class>
- <class>org.eclipse.jubula.client.core.model.ProjectNamePO</class>
- <class>org.eclipse.jubula.client.core.model.ComponentNamePO</class>
- <class>org.eclipse.jubula.client.core.model.UsedToolkitPO</class>
- <class>org.eclipse.jubula.client.core.model.ObjectMappingProfilePO</class>
- <class>org.eclipse.jubula.client.core.model.CheckConfContPO</class>
- <class>org.eclipse.jubula.client.core.model.CheckConfPO</class>
- <class>org.eclipse.jubula.client.core.model.MonitoringValuePO</class>
- <class>org.eclipse.jubula.client.core.model.MonitoringReportPO</class>
+ <persistence-unit name="org.eclipse.jubula"
+ transaction-type="RESOURCE_LOCAL">
+ <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+
<properties>
- <property name="eclipselink.logging.level" value="SEVERE"/>
- <property name="eclipselink.weaving" value="static"/>
- <property name="eclipselink.weaving.changetracking" value="false"/>
- <property name="eclipselink.weaving.fetchgroups" value="false"/>
- <property name="eclipselink.weaving.lazy" value="true"/>
- <!--
- disabled second level cache, as this may otherwise lead to some strange behavior:
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=339069
- -->
- <property name="eclipselink.cache.shared.default" value="false"/>
- <property name="eclipselink.session.customizer" value="org.eclipse.jubula.client.core.persistence.SessionCustomizer"/>
- <!--
- use the "old" JPQL parser due to
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=379221
- -->
- <property name="eclipselink.jpql.parser" value="org.eclipse.persistence.queries.ANTLRQueryBuilder"/>
- </properties>
-
+ <property name="eclipselink.logging.level" value="FINER" />
+ <property name="eclipselink.weaving" value="static" />
+ <property name="eclipselink.weaving.changetracking" value="false" />
+ <property name="eclipselink.weaving.fetchgroups" value="false" />
+ <property name="eclipselink.weaving.lazy" value="true" />
+ <!-- disabled second level cache, as this may otherwise lead to some strange
+ behavior: https://bugs.eclipse.org/bugs/show_bug.cgi?id=339069 -->
+ <property name="eclipselink.cache.shared.default" value="false" />
+ <property name="eclipselink.session.customizer"
+ value="org.eclipse.jubula.client.core.persistence.SessionCustomizer" />
+ <!-- use the "old" JPQL parser due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=379221 -->
+ <property name="eclipselink.jpql.parser"
+ value="org.eclipse.persistence.queries.ANTLRQueryBuilder" />
+ </properties>
+
</persistence-unit>
</persistence>
diff --git a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/EditSupport.java b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/EditSupport.java
index 1ef5e4c49..3ed00d6d7 100644
--- a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/EditSupport.java
+++ b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/EditSupport.java
@@ -389,7 +389,8 @@ public class EditSupport {
}
/**
- * because of Persistence (JPA / EclipseLink)-Bug HHH-1280 we can't use refresh<br>
+ * because of Persistence (JPA / EclipseLink)-Bug HHH-1280 we can't use
+ * refresh<br>
* therefore we use evict to remove the old object from master session and
* reload the object<br>
* please attend, that in this case the Java-IDs of the old and the reloaded
@@ -402,15 +403,15 @@ public class EditSupport {
private void refreshOriginalVersions() throws ProjectDeletedException {
try {
final EntityManager masterSession = GeneralStorage.getInstance()
- .getMasterSession();
+ .getMasterSession();
IPersistentObject original = getOriginal();
if (original != null) {
- masterSession.refresh(original);
+ masterSession.merge(getWorkVersion());
GeneralStorage.getInstance().fireDataModified(original);
}
} catch (PersistenceException e) {
- log.error(Messages.RefreshOfOriginalVersionFailed
- + StringConstants.DOT, e);
+ log.error(Messages.RefreshOfOriginalVersionFailed
+ + StringConstants.DOT, e);
GeneralStorage.getInstance().reloadMasterSession(
new NullProgressMonitor());
}
diff --git a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/ProjectPM.java b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/ProjectPM.java
index 5eb1ca11b..b58fbf146 100644
--- a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/ProjectPM.java
+++ b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/ProjectPM.java
@@ -610,6 +610,7 @@ public class ProjectPM extends PersistenceManager
GeneralStorage.getInstance().reset();
EntityManager s = GeneralStorage.getInstance().getMasterSession();
+ s.clear(); // get rid of all session (cached) data
try {
preloadData(s, project);

Back to the top