# HG changeset patch # User Tim Englich # Date 1271168781 0 # Node ID 95733e5648961fb674816ec84181b2de9b8b32d1 # Parent 28028979c813c875731673fa51167ffd6c093432 Bugfix: Put some Code that is responsible for Synchonization into the final-block to prevent that the lock is not released. gnv-artifacts/trunk@923 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 28028979c813 -r 95733e564896 gnv-artifacts/ChangeLog --- a/gnv-artifacts/ChangeLog Tue Apr 13 14:22:52 2010 +0000 +++ b/gnv-artifacts/ChangeLog Tue Apr 13 14:26:21 2010 +0000 @@ -1,3 +1,15 @@ +2010-04-13 Tim Englich + + * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java (getWMS): + Bugfix: Put some Code that is responsible for Synchonization into the + final-block to prevent that the lock is not released. + +2010-04-13 Tim Englich + + * doc/conf/products/layer/conf.xml, + src/main/java/de/intevation/gnv/state/layer/LayerOutputState.java : + Integrated the possibility to change the Title of an Layer in Product Layer. + 2010-04-13 Tim Englich * src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java: diff -r 28028979c813 -r 95733e564896 gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java Tue Apr 13 14:22:52 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java Tue Apr 13 14:26:21 2010 +0000 @@ -1,5 +1,21 @@ package de.intevation.gnv.state.profile.horizontalcrosssection; +import java.awt.Dimension; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; import com.vividsolutions.jts.geom.MultiLineString; @@ -8,29 +24,20 @@ import de.intevation.artifactdatabase.Config; import de.intevation.artifactdatabase.XMLUtils; - import de.intevation.artifacts.ArtifactNamespaceContext; import de.intevation.artifacts.CallContext; - import de.intevation.gnv.artifacts.cache.CacheFactory; - import de.intevation.gnv.artifacts.context.GNVArtifactContext; - import de.intevation.gnv.geobackend.base.Result; import de.intevation.gnv.geobackend.base.ResultDescriptor; - import de.intevation.gnv.geobackend.base.query.QueryExecutor; import de.intevation.gnv.geobackend.base.query.QueryExecutorFactory; - import de.intevation.gnv.geobackend.base.query.exception.QueryException; - import de.intevation.gnv.geobackend.sde.datasources.RasterObject; - import de.intevation.gnv.math.AreaInterpolation; import de.intevation.gnv.math.AttributedPoint2ds; import de.intevation.gnv.math.Point2d; import de.intevation.gnv.math.QueriedXYDepth; - import de.intevation.gnv.raster.ExternalIndexConverter; import de.intevation.gnv.raster.IsoAttributeGenerator; import de.intevation.gnv.raster.JTSMultiLineStringProducer; @@ -39,12 +46,9 @@ import de.intevation.gnv.raster.PaletteManager; import de.intevation.gnv.raster.Raster; import de.intevation.gnv.raster.Vectorizer; - import de.intevation.gnv.state.InputData; import de.intevation.gnv.state.OutputStateBase; - import de.intevation.gnv.state.exception.StateException; - import de.intevation.gnv.utils.ExclusiveExec; import de.intevation.gnv.utils.FileUtils; import de.intevation.gnv.utils.MapfileGenerator; @@ -54,25 +58,6 @@ import de.intevation.gnv.utils.StringUtils; import de.intevation.gnv.utils.WKTUtils; -import java.awt.Dimension; - -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.log4j.Logger; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - /** * @author Tim Englich * @author Sascha L. Teichmann @@ -349,13 +334,12 @@ else { AttributedPoint2ds result = getResult(uuid, callContext); ExclusiveExec.UniqueKey key = ExclusiveExec.INSTANCE.acquire(uuid); + try{ if (result != null && (path = writeToShapeFile(uuid, result, callContext)) != null) { - ExclusiveExec.INSTANCE.release(key); String paramType = findParameterType(callContext); - - InputData inputTitle = this.inputData.get("title"); + String title = getLayerTitle(inputData); if (title == null) { title = uuid; @@ -378,6 +362,9 @@ pathElement.setTextContent(path); } + }finally{ + ExclusiveExec.INSTANCE.release(key); + } } return document;