app/models/SanMount.scala (18 lines of code) (raw):

package models import play.api.Logger import scala.xml.NodeSeq case class SanMount(mountPath:String, name:String, index:Int) object SanMount extends ((String,String,Int)=>SanMount) { private val logger = Logger(getClass) def fromXml(node:NodeSeq):Either[String, SanMount] = try { Right(new SanMount( node \@ "mountPath", node \@ "name", (node \@ "number").toInt )) } catch { case ex:Throwable=> logger.error("Could not create SAN mount information from xml: ", ex) Left(ex.toString) } }