blog de julgo

recomendaciones para establecer relaciones en gorm

buenas noches a esta gran comunidad de programadores, para no entrar en detalles necesito de su ayuda ya que tengo una duda sobre que enfoque elegir para un proyecto en grails - gorm basicamente la duda es esta:

una empresa debe pertenecer a una sola categoria.

y tengo dos opciones:
Opcion A

class Empresa {
/* atributos */
 Categoria categoria

}
class Categoria {
 String nombre
}

Opcion B

class Categoria {
    String nombre
    static hasMany = [empresas: Empresa]
}
class Empresa {
   /*atributos*/

}

cual seria la mejor alternativa?de antemano les estare agradecido

problema con griffon

Hola q tal comunidad estoy teniendo un problema algo extraño con griffon y trata en que no puedo enviar argumentos a los closures del controller desde la vista lo intente desde un actionperformed y tambien desde las actions que maneja este marco , sin embargo si funcionan sin tener argumentos , en los closures hago pruebas con un println it y obtengo null , por el momento tengo que recurrir a la referencia view.dato dentro del closure del controlador.
- es decir (controller.miclosure ) funciona.
- y controller.miclosure('cadena') funciona pero con un println it dentro del closure imprime null.

groovy y propiedades enlazadas

hola comunidad quise hacer mi primer blog y empeze por este tema ya que estoy jugando con groovy ya un tiempesito , bueno todos sabemos que java a traves de los javabeans cuenta con PropertyChangeListeners que notifica a todos los oyentes antes registrados con (addPropertyChangeListener) de los cambios de valor de algunas de sus propiedades a traves de firePropertyChanged aqui hay un ejemplo del javabeans que llamaremos modelo

import java.beans.PropertyChangeSupport;
import java.beans.PropertyChangeListener;

public class Modelo{
    private String propiedad;

    PropertyChangeSupport pcs = new PropertyChangeSupport(this);

    public void addPropertyChangeListener(PropertyChangeListener l) {
        pcs.add(l);
    }

    public void removePropertyChangeListener(PropertyChangeListener l) {
        pcs.remove(l);
    }

    public String getProp() {
        return prop;
    }

    public void setProp(String propiedad) {
        pcs.firePropertyChanged("propiedad", this.propiedad, this.propiedad = propiedad);
    }
}

-las clases registradas a este modelo tienen que implementar la interfaz PropertyChangeListener con su metodo
 

Distribuir contenido