Author: tdraier
Date: Fri Sep 14 12:20:25 2007
New Revision: 18443
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18443&repname=
=3Djahia
Log:
fixes field creation (JAHIA-2125) (port 18135)
Modified:
trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.=
java
Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataMa=
nager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaFieldsDataManager.java&rev=3D18443&repname=
=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.=
java (original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.=
java Fri Sep 14 12:20:25 2007
@@ -823,10 +823,27 @@
}
=
public void updateField(JahiaField theField, JahiaSaveVersion saveVers=
ion) {
- JahiaFieldsData data =3D dao.findJahiaFieldsDataByPK(new JahiaFiel=
dsDataPK(new Integer(theField.getID()),
- new Long(theField.getVersionID()),
- new Integer(theField.getWorkflowState()),
- theField.getLanguageCode()));
+ JahiaFieldsDataPK pk =3D new JahiaFieldsDataPK();
+ pk.setLanguageCode(theField.getLanguageCode());
+ if (saveVersion.isStaging()) {
+ pk.setWorkflowState(new Integer(saveVersion.getWorkflowState()=
));
+ pk.setVersionId(new Long(0));
+ } else {
+ if (saveVersion.isVersioned()) {
+ dao.backupFieldsData(new Integer(theField.getID()));
+ }
+ pk.setWorkflowState(new Integer(1));
+ pk.setVersionId(new Long(saveVersion.getVersionID()));
+ }
+ pk.setId(new Integer(theField.getID()));
+
+ JahiaFieldsData data =3D dao.findJahiaFieldsDataByPK(pk);
+ boolean isNew =3D false;
+ if (data =3D=3D null) {
+ data =3D new JahiaFieldsData();
+ data.setComp_id(pk);
+ isNew =3D true;
+ }
data.setConnectType(new Integer(theField.getConnectType()));
data.setContainerId(new Integer(theField.getctnid()));
final JahiaFieldsDef fieldDefinition =3D definitionDAO.loadDefinit=
ion(new Integer(theField.getFieldDefID()));
@@ -844,21 +861,11 @@
value =3D "<empty>";
}
data.setValue(value);
- JahiaFieldsDataPK pk =3D new JahiaFieldsDataPK();
- pk.setLanguageCode(theField.getLanguageCode());
- if (saveVersion.isStaging()) {
- pk.setWorkflowState(new Integer(saveVersion.getWorkflowState()=
));
- pk.setVersionId(new Long(0));
+ if (isNew) {
+ dao.saveNewVersion(data);
} else {
- if (saveVersion.isVersioned()) {
- dao.backupFieldsData(new Integer(theField.getID()));
- }
- pk.setWorkflowState(new Integer(1));
- pk.setVersionId(new Long(saveVersion.getVersionID()));
+ dao.update(data);
}
- pk.setId(new Integer(theField.getID()));
- data.setComp_id(pk);
- dao.update(data);
theField.setID(data.getComp_id().getId().intValue());
flushCache(theField.getID(),data.getSiteId()!=3Dnull?data.getSiteI=
d().intValue():0,theField.getctnid());
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list