From: <fxp...@us...> - 2011-03-24 09:06:56
|
Revision: 7509 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=7509&view=rev Author: fxprunayre Date: 2011-03-24 09:06:49 +0000 (Thu, 24 Mar 2011) Log Message: ----------- Fix missing uuid param in ufo when creating a record. Fix compute extent missing parameter for processing. Modified Paths: -------------- trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java trunk/web/src/main/java/org/fao/geonet/kernel/harvest/harvester/ogcwxs/Harvester.java trunk/web/src/main/java/org/fao/geonet/services/metadata/AjaxEditUtils.java trunk/web/src/main/webapp/scripts/editor/metadata-editor.js Modified: trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java =================================================================== --- trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java 2011-03-23 17:28:23 UTC (rev 7508) +++ trunk/web/src/main/java/org/fao/geonet/kernel/DataManager.java 2011-03-24 09:06:49 UTC (rev 7509) @@ -1173,7 +1173,7 @@ //--- generate a new metadata id int serial = sf.getSerial(dbms, "Metadata"); - Element xml = updateFixedInfo(schema, Integer.toString(serial), Xml.loadString(data, false), parentUuid, DataManager.UpdateDatestamp.yes, dbms); + Element xml = updateFixedInfo(schema, Integer.toString(serial), uuid, Xml.loadString(data, false), parentUuid, DataManager.UpdateDatestamp.yes, dbms); //--- store metadata String id = XmlSerializer.insert(dbms, schema, xml, serial, source, uuid, owner, groupOwner); @@ -1227,7 +1227,7 @@ if (ufo && isTemplate.equals("n")) { String parentUuid = null; - metadata = updateFixedInfo(schema, Integer.toString(id), metadata, parentUuid, DataManager.UpdateDatestamp.no, dbms); + metadata = updateFixedInfo(schema, Integer.toString(id), null, metadata, parentUuid, DataManager.UpdateDatestamp.no, dbms); } if (source == null) { @@ -1412,7 +1412,7 @@ String schema = getMetadataSchema(dbms, id); if(ufo) { String parentUuid = null; - md = updateFixedInfo(schema, id, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); + md = updateFixedInfo(schema, id, null, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); } //--- write metadata to dbms XmlSerializer.update(dbms, id, md, changeDate); @@ -2011,9 +2011,12 @@ } /** - * + * Update metadata record (not template) using update-fixed-info.xsl + * + * * @param schema * @param id + * @param uuid If the metadata is a new record (not yet saved), provide the uuid for that record * @param md * @param parentUuid * @param updateDatestamp @@ -2021,20 +2024,23 @@ * @return * @throws Exception */ - public Element updateFixedInfo(String schema, String id, Element md, String parentUuid, UpdateDatestamp updateDatestamp, Dbms dbms) throws Exception { + public Element updateFixedInfo(String schema, String id, String uuid, Element md, String parentUuid, UpdateDatestamp updateDatestamp, Dbms dbms) throws Exception { boolean autoFixing = settingMan.getValueAsBool("system/autofixing/enable", true); if(autoFixing) { Log.debug(Geonet.DATA_MANAGER, "Autofixing is enabled, trying update-fixed-info"); - String query = "SELECT uuid, isTemplate FROM Metadata WHERE id = " + id; + + String query = "SELECT uuid, isTemplate FROM Metadata WHERE id = " + id; Element rec = dbms.select(query).getChild("record"); - Boolean isTemplate = !rec.getChildText("istemplate").equals("n"); + Boolean isTemplate = rec != null && !rec.getChildText("istemplate").equals("n"); + // don't process templates if(isTemplate) { Log.debug(Geonet.DATA_MANAGER, "Not applying update-fixed-info for a template"); return md; } else { - String uuid = rec.getChildText("uuid"); + uuid = uuid == null ? rec.getChildText("uuid") : uuid; + //--- setup environment Element env = new Element("env"); env.addContent(new Element("id").setText(id)); Modified: trunk/web/src/main/java/org/fao/geonet/kernel/harvest/harvester/ogcwxs/Harvester.java =================================================================== --- trunk/web/src/main/java/org/fao/geonet/kernel/harvest/harvester/ogcwxs/Harvester.java 2011-03-23 17:28:23 UTC (rev 7508) +++ trunk/web/src/main/java/org/fao/geonet/kernel/harvest/harvester/ogcwxs/Harvester.java 2011-03-24 09:06:49 UTC (rev 7509) @@ -598,7 +598,7 @@ reg.id = dataMan.insertMetadata(dbms, schema, xml, context.getSerialFactory().getSerial(dbms, "Metadata"), reg.uuid, userid, group, params.uuid, isTemplate, docType, title, category, date, date, ufo, indexImmediate); - xml = dataMan.updateFixedInfo(schema, reg.id, xml, null, DataManager.UpdateDatestamp.no, dbms); + xml = dataMan.updateFixedInfo(schema, reg.id, params.uuid, xml, null, DataManager.UpdateDatestamp.no, dbms); int iId = Integer.parseInt(reg.id); log.debug(" - Layer loaded in DB."); Modified: trunk/web/src/main/java/org/fao/geonet/services/metadata/AjaxEditUtils.java =================================================================== --- trunk/web/src/main/java/org/fao/geonet/services/metadata/AjaxEditUtils.java 2011-03-23 17:28:23 UTC (rev 7508) +++ trunk/web/src/main/java/org/fao/geonet/services/metadata/AjaxEditUtils.java 2011-03-24 09:06:49 UTC (rev 7509) @@ -518,7 +518,7 @@ editLib.removeEditingInfo(md); editLib.contractElements(md); String parentUuid = null; - md = dataManager.updateFixedInfo(schema, id, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); + md = dataManager.updateFixedInfo(schema, id, null, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); //--- do the validation on the metadata return dataManager.doValidate(session, dbms, schema, id, md, lang, false).one(); @@ -569,7 +569,7 @@ editLib.contractElements(md); String parentUuid = null; - md = dataManager.updateFixedInfo(schema, id, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); + md = dataManager.updateFixedInfo(schema, id, null, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); String changeDate = null; XmlSerializer.update(dbms, id, md, changeDate); @@ -624,7 +624,7 @@ editLib.contractElements(md); String parentUuid = null; - md = dataManager.updateFixedInfo(schema, id, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); + md = dataManager.updateFixedInfo(schema, id, null, md, parentUuid, DataManager.UpdateDatestamp.no, dbms); String changeDate = null; XmlSerializer.update(dbms, id, md, changeDate); Modified: trunk/web/src/main/webapp/scripts/editor/metadata-editor.js =================================================================== --- trunk/web/src/main/webapp/scripts/editor/metadata-editor.js 2011-03-23 17:28:23 UTC (rev 7508) +++ trunk/web/src/main/webapp/scripts/editor/metadata-editor.js 2011-03-24 09:06:49 UTC (rev 7509) @@ -556,7 +556,7 @@ var protoIn = $('_'+pref); // the protocol input field to be submitted var fileUploaded = (fileName != null && fileName.value.length > 0); - var protocol = protoSelect.value; + var protocol = protoIn.value; var protocolDownload = (protocol.startsWith('WWW:DOWNLOAD') && protocol.indexOf('http')>0); // don't let anyone change the protocol if a file has already been uploaded @@ -587,7 +587,7 @@ } // protocol change is ok so set the protocol value to that selected - protoIn.value = protoSelect.value; + //protoIn.value = protoSelect.value; } // called by upload button in file field of metadata form @@ -1666,7 +1666,11 @@ * @param mode If 0, bounding box will be added, If 1, replaced * @return */ + function computeExtentFromKeywords(mode) { - window.location.replace("metadata.processing?id=" + document.mainForm.id.value + - "&process=add-extent-from-geokeywords&url=" + Env.host + Env.locService + "&replace=" + mode); -}; + window.location.replace("metadata.processing?id=" + document.mainForm.id.value + + "&process=add-extent-from-geokeywords&url=" + Env.host + Env.locService + + "&gurl=" + Env.host + Env.url + + "&lang=" + Env.lang + + "&replace=" + mode); +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |