diff options
| author | Achim Loerke | 2013-03-20 09:40:03 +0000 |
|---|---|---|
| committer | Achim Loerke | 2013-03-20 09:40:03 +0000 |
| commit | fed6c24e0667207e89dcd47d8a6bc9c8eb3de116 (patch) | |
| tree | 0c7eec1b8a5da442fd3597672d08ba4399e519f1 | |
| parent | 1bda6d80718ce4f400a741a04c9a3bc905f54d90 (diff) | |
| download | org.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
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); |
