<resource schema="lensunion">
	<meta name="creationDate">2010-11-30T10:25:00</meta>
	<meta name="schema-rank">100</meta>

	<meta name="subject">quasars</meta>
	<meta name="subject">observational-cosmology</meta>
	<meta name="subject">strong-gravitational-lensing</meta>

	<meta name="coverage.waveband">Optical</meta>

	<meta name="description">A collection of images of lensed quasars from
		various sources.  Included are images from Maidanak Observatory
		(ivo://org.gavo.dc/maidanak/res/rawframes/siap), Apache Point Observatory,
		from the MiNDSTEp project (ivo://org.gavo.dc/danish/red/q), and
		from the Liverpool Robotic Telescope
		(ivo://org.gavo.dc/liverpool/res/rawframes/q).
	</meta>

	<table id="main" mixin="//siap#pgs" onDisk="True">
		<property name="forceStats">True</property>
		<column name="object" type="text"
			tablehead="Target Object"
			description="Object being observed, Simbad-resolvable form"
			ucd="meta.id" verbLevel="5"/>
		<viewStatement>
			CREATE VIEW \qName AS ((
				SELECT \colNames FROM maidanak.reduced)
			UNION ALL (
				SELECT \colNames FROM apo.frames)
			UNION  ALL (
				SELECT \colNames FROM liverpool.rawframes)
			UNION  ALL (
				SELECT \colNames FROM danish.data))
		</viewStatement>
	</table>

	<coverage>
		<updater sourceTable="main"/>
	</coverage>

	<data id="import">
		<make table="main"/>
	</data>


	<service id="im" allowed="form,siap.xml">
		<meta name="shortName">lenses_web</meta>
		<meta name="title">Lens Image Archive</meta>
		<meta name="sia.type">Pointed</meta>
		
		<meta name="testQuery.pos.ra">185.412</meta>
		<meta name="testQuery.pos.dec">75.330</meta>
		<meta name="testQuery.size.ra">0.1</meta>
		<meta name="testQuery.size.dec">0.1</meta>

		<publish render="siap.xml" sets="ivo_managed"/>
		<publish render="form" sets="local,ivo_managed"/>

		<dbCore id="qlenses2" queriedTable="main">
			<condDesc original="//siap#protoInput"/>
			<condDesc original="//siap#humanInput"/>
			<condDesc buildFrom="dateObs"/>
			<condDesc buildFrom="bandpassId" />
			<condDesc>
				<inputKey name="object" type="text"
						tablehead="Target Object"
						description="Object being observed, Simbad-resolvable form"
						ucd="meta.id" verbLevel="5" required="True">
						<values fromdb="object FROM lensunion.main"/>
				</inputKey>
			</condDesc>
		</dbCore>

		<outputTable>
			<LOOP listItems="accref accsize dateObs object
					centerAlpha centerDelta imageTitle">
				<events>
					<outputField original="\item"/>
				</events>
			</LOOP>
			<outputField original="bandpassLo" displayHint="displayUnit=nm"/>
			<outputField original="bandpassHi" displayHint="displayUnit=nm"/>
			<outputField original="pixelScale" displayHint="displayUnit=arcsec/pix"/>
		</outputTable>
	</service>

	<regSuite title="Lensunion DaCHS regression">
		<regTest title="Additional fields show up in HTML responses">
			<url parSet="form" _ADDITEM="coverage"
				object="Q2237+0305">im/form</url>
			<code>
				self.assertHasStrings(">Coverage&lt;br")
			</code>
		</regTest>

		<regTest title="Invalid additional fields give an at least
				remotely useful message">
			<url parSet="form" _ADDITEM="junkfield" object="QSO B0957+5608A"
				>im/form</url>
			<code><![CDATA[
				self.assertHasStrings(
				"</strong>Field _OUTPUT: The additional field 'junkfield'"
				" you requested does not",
				"Lens Image Archive")
			]]></code>
		</regTest>

		<regTest title="Invalid output format is correctly complained about">
			<url parSet="form" _FORMAT="junk" object="QSO B0957+5608A"
				>im/form</url>
			<code>
				self.assertHasStrings("Unknown format 'junk'.",
					"Lens Image Archive")
			</code>
		</regTest>

		<regTest title="CSV output format works">
			<url parSet="form" _FORMAT="CSV" object="QSO B0957+5608A"
				dateObs="2007-05-01 .. 2007-05-31">im/form</url>
			<code>
				self.assertHasStrings("accref,mime,accsize,centerAlpha,centerDelta",
					"c_e_20070516_38_1_1_1.fits,application/fits,2122560",
					'[1024, 1024]',
					',"[150.2925')
			</code>
		</regTest>
	</regSuite>
</resource>
