<commit_before>package omar.image.magick

import org.codehaus.groovy.grails.web.mapping.LinkGenerator

class ImageDownloadService 
{
	LinkGenerator grailsLinkGenerator

	def DEBUG = false
	def grailsApplication

	def command
	def serviceMethod( def imageUrl, def markerLocations )
	{
		def date = new Date().getTime()
		def tempFilesLocation = grailsApplication.config.export.workDir + "/"

		//##############################################################################################################################
		//############################################################ Image Download ##################################################
		//##############################################################################################################################
		if (DEBUG) { println "##### Image Download #####" }

		//########## Image filename once it is downloaded
		if (DEBUG) { println "Image filename once it is downloaded: " }
		def imageFile = "${tempFilesLocation}${date}omarImage.png";
		if (DEBUG) { println "${imageFile}" }

		//########## Download the image file
		if (DEBUG) { println "Download the image file:" }
		command = 
		[
				"curl", 
				"${imageUrl}", 
				"-o", 
				"${imageFile}"
		]
		if (DEBUG) { println "${command}" }
		executeCommand(command)

		//########## Change the image to RGB colorspace
		if (DEBUG) { println "Change the image to RGB colorspace:" }
		command = 
		[
				"convert",
				"${imageFile}",
				"-type",
				"TrueColor",
				"${tempFilesLocation}${date}omarImage.tif"
		]
		if (DEBUG) { println "${command}" }
		executeCommand(command)

		//######################################################################################################################
		//################################################## Marker Placement ##################################################
		//######################################################################################################################
		if (DEBUG) { println "##### Marker Placement #####" }
		if (markerLocations[0] != "null")
		{
			if (DEBUG) { println "Define marker image file:" }
			def markerImageFileLocation = grailsLinkGenerator.resource(absolute: true, dir: '/js/img', file: 'marker-blue.png', plugin: 'openlayers')
			if (DEBUG) { println "${markerImageFileLocation}" }
			
			if (DEBUG) { println "Determine the number of markers:" }
			def numberOfMarkers = (markerLocations.length / 2) - 1
			if (DEBUG) { println "${numberOfMarkers + 1}" }

			if (DEBUG) { println "Add markers to the image file:" }
			for (i in 0..numberOfMarkers)
			{
				command = 
				[
					"composite",
					markerImageFileLocation,
					"-gravity",
					"NorthWest",
					"-geometry",
					"+${markerLocations[2 * i]}+${markerLocations[2 * i + 1]}",
					"${tempFilesLocation}${date}omarImage.tif",
					"${tempFilesLocation}${date}omarImage.tif"
				]
				if (DEBUG) { println "${command}" }
				executeCommand(command)
			}
		}
		else 
		{
			if (DEBUG) { println "No markers to place." } 
		}

		//#############################################################################################################################
		//################################################## Temporary File Deletion ##################################################
		//#############################################################################################################################

		//########## Delete the image file
		if (DEBUG) { println "Delete the image file:" }
		command = "rm ${imageFile}"
		if (DEBUG) { println "${command}" }
		executeCommand(command)

		return "${tempFilesLocation}${date}omarImage.tif"
	}

	def executeCommand(def executableCommand)
	{
		def script = executableCommand.execute()
		script.waitFor()
		return script.text
	}
}
<commit_msg>The reference to the marker image file was to local host. I adjusted it to refer to the server IP.<commit_after>package omar.image.magick

import org.codehaus.groovy.grails.web.mapping.LinkGenerator

class ImageDownloadService 
{
	LinkGenerator grailsLinkGenerator

	def DEBUG = false
	def grailsApplication

	def command
	def serviceMethod( def imageUrl, def markerLocations )
	{
		def date = new Date().getTime()
		def tempFilesLocation = grailsApplication.config.export.workDir + "/"

		//##############################################################################################################################
		//############################################################ Image Download ##################################################
		//##############################################################################################################################
		if (DEBUG) { println "##### Image Download #####" }

		//########## Image filename once it is downloaded
		if (DEBUG) { println "Image filename once it is downloaded: " }
		def imageFile = "${tempFilesLocation}${date}omarImage.png";
		if (DEBUG) { println "${imageFile}" }

		//########## Download the image file
		if (DEBUG) { println "Download the image file:" }
		command = 
		[
				"curl", 
				"${imageUrl}", 
				"-o", 
				"${imageFile}"
		]
		if (DEBUG) { println "${command}" }
		executeCommand(command)

		//########## Change the image to RGB colorspace
		if (DEBUG) { println "Change the image to RGB colorspace:" }
		command = 
		[
				"convert",
				"${imageFile}",
				"-type",
				"TrueColor",
				"${tempFilesLocation}${date}omarImage.tif"
		]
		if (DEBUG) { println "${command}" }
		executeCommand(command)

		//######################################################################################################################
		//################################################## Marker Placement ##################################################
		//######################################################################################################################
		if (DEBUG) { println "##### Marker Placement #####" }
		if (markerLocations[0] != "null")
		{
			if (DEBUG) { println "Define marker image file:" }
			def markerImageFileLocation = grailsLinkGenerator.resource(absolute: true, base: grailsApplication.config.omar.serverURL, dir: '/js/img', file: 'marker-blue.png', plugin: 'openlayers')

			if (DEBUG) { println "${markerImageFileLocation}" }
			
			if (DEBUG) { println "Determine the number of markers:" }
			def numberOfMarkers = (markerLocations.length / 2) - 1
			if (DEBUG) { println "${numberOfMarkers + 1}" }

			if (DEBUG) { println "Add markers to the image file:" }
			for (i in 0..numberOfMarkers)
			{
				command = 
				[
					"composite",
					markerImageFileLocation,
					"-gravity",
					"NorthWest",
					"-geometry",
					"+${markerLocations[2 * i]}+${markerLocations[2 * i + 1]}",
					"${tempFilesLocation}${date}omarImage.tif",
					"${tempFilesLocation}${date}omarImage.tif"
				]
				if (DEBUG) { println "${command}" }
				executeCommand(command)
			}
		}
		else 
		{
			if (DEBUG) { println "No markers to place." } 
		}

		//#############################################################################################################################
		//################################################## Temporary File Deletion ##################################################
		//#############################################################################################################################

		//########## Delete the image file
		if (DEBUG) { println "Delete the image file:" }
		command = "rm ${imageFile}"
		if (DEBUG) { println "${command}" }
		executeCommand(command)

		return "${tempFilesLocation}${date}omarImage.tif"
	}

	def executeCommand(def executableCommand)
	{
		def script = executableCommand.execute()
		script.waitFor()
		return script.text
	}
}

{'fraction_non_alphanumeric': 0.3866012650058087, 'fraction_numerical': 0.002065315606041048, 'mean_word_length': 4.941717791411043, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3441377', 'n_tokens_mistral': 2364, 'n_tokens_neox': 1926, 'n_words': 469}