Erro de compilação de herança ilegal usando Scala 2.7.7 e LIFT 1.1-SNAPSHOT

StackOverflow https://stackoverflow.com/questions/1830478

  •  11-09-2019
  •  | 
  •  

Pergunta

Estou usando JDK 1.6.0_16 e Scala 2.7.7, compilando com maven.

Eu faço mvn clean compile e recebo quatro erros, mas são idênticos, em modelos diferentes:

Erro] C: Usuários Proprietário Workspace ResumeApp Src Main Scala Jblack RameApp Lift Model ContactInFomodel.Scala: 13:erro:herança ilegal;

Info] autotype jblack.resumeapp.lift.model.contactinfomodel não está em conformidade com net.liftweb.mapper.crudify [long, jblack.resumeeapp.lift.model.contactinfomodel] 'stytype net.liftwebu.model.contactinfomodel]' stytype net.liftweb.model.model.contactinfomodel] 'stytype net.liftweb.model.model.contactinfomodel]' stytype net.liftweb.model.model.contactinfomodel] 'stytype net.liftweb.model.model.contactinfomodel]' stytype net.liftweb.model. Long, jblack.resumeapp.lift.model.contacti nfomodel] com jblack.resumeapp.lift.model.contactinfomodel com net.liftweb.map per.keyedmetamapper [long jblack.resumeApp.lift.model.COMPATPAPTRAPAPTER [LONGCLACKOMELOM

Info] com Crudify [Long, ContactInfomodel] {

E este é o meu código:

package jblack.resumeapp.lift.model

import net.liftweb.mapper._

object ContactInfoMetaData 
    extends ContactInfoModel 
        with KeyedMetaMapper[Long, ContactInfoModel] {
    override def dbTableName = "contactinfo"
    override def fieldOrder = List(key, data, display) 
}
class ContactInfoModel 
    extends KeyedMapper[Long, ContactInfoModel] 
        with CRUDify[Long, ContactInfoModel] {
    def getSingleton = ContactInfoMetaData
    def primaryKeyField = id

    object id extends MappedLongIndex(this)
    object key extends MappedString(this, 100)
    object data extends MappedString(this, 100)
    object display extends MappedBoolean(this)
}

Não tenho certeza do que estou fazendo de errado.

Infelizmente, como instalei o plugin noturno no Eclipse, não consigo instalar o IDE 2.7.7, então só posso compilar isso com o maven.

Há algum problema com a forma como estou usando CRUDify?

Foi útil?

Solução

CRUDify em lift-1.1 precisa ser misturado ao objeto MetaMapper em vez da classe Mapper.Portanto, deveria funcionar com este código:

package jblack.resumeapp.lift.model

import net.liftweb.mapper._

object ContactInfoMetaData 
    extends ContactInfoModel 
        with KeyedMetaMapper[Long, ContactInfoModel]
        with CRUDify[Long, ContactInfoModel] {
    override def dbTableName = "contactinfo"
    override def fieldOrder = List(key, data, display) 
}
class ContactInfoModel 
    extends KeyedMapper[Long, ContactInfoModel] {
    def getSingleton = ContactInfoMetaData
    def primaryKeyField = id

    object id extends MappedLongIndex(this)
    object key extends MappedString(this, 100)
    object data extends MappedString(this, 100)
    object display extends MappedBoolean(this)
}

Outras dicas

Finalmente consegui que funcionasse corretamente quando voltei a usar o LIFT 1.0 em vez do 1.1.Parece que há algumas mudanças que preciso analisar para o 1.1, mas pelo menos posso continuar com meu desenvolvimento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top