Looks like you're explicitely adding strings to list, I don't think you'd be able to easily avoid adding empty strings without custom derived list implementation. On the other hand you can easily filter out empty strings after the fact.
scala> val z = List("one", "", "three")
z: List[java.lang.String] = List(one, "", three)
scala> z.filter(p=> p!=null && !p.equals(""))
res2: List[java.lang.String] = List(one, three)