Home » Eclipse Projects » EclipseLink » @Id and @AttributeOverride
| |
Re: @Id and @AttributeOverride [message #945661 is a reply to message #945633] |
Mon, 15 October 2012 14:05 |
Christian Eugster Messages: 213 Registered: July 2009 Location: St. Gallen Switzerland |
Senior Member |
|
|
Hi Guy,
thank you for answering! Here my persistence.xml, orm.xml and the classes:
First, my persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="herakles" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/xaheraklesdb)</jta-data-source>
<non-jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/heraklesdb)</non-jta-data-source>
<mapping-file>META-INF/orm.xml</mapping-file>
<class>ch.eugster.herakles.persistence.model.AbstractEntity</class>
<class>ch.eugster.herakles.persistence.model.Agent</class>
<class>ch.eugster.herakles.persistence.model.AgentProperty</class>
<class>ch.eugster.herakles.persistence.model.Tectonics</class>
<class>ch.eugster.herakles.persistence.model.TectonicsLevel</class>
<class>ch.eugster.herakles.persistence.model.TectonicsLevelLink</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<!-- <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value=""/> -->
<property name="osgi.unit.name" value="herakles"/>
<property name="osgi.unit.version" value="1.0.0"/>
<property name="osgi.unit.provider" value="org.eclipse.persistence.jpa.PersistenceProvider"/>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
<property name="eclipselink.logging.level" value="FINEST"/>
<property name="eclipselink.weaving" value="false"/>
</properties>
</persistence-unit>
</persistence>
Then my orm.xml
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="2.3" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_4.xsd">
<persistence-unit-metadata>
<persistence-unit-defaults>
<access>FIELD</access>
</persistence-unit-defaults>
</persistence-unit-metadata>
<object-type-converter name="booleanConverter" data-type="java.lang.Integer" object-type="java.lang.Boolean"><conversion-value data-value="0" object-value="false"/><conversion-value data-value="1" object-value="true"/><default-object-value>true</default-object-value></object-type-converter>
<mapped-superclass class="ch.eugster.persistence.model.AbstractEntity" access="FIELD">
<pre-persist method-name="prePersist"></pre-persist>
<pre-update method-name="preUpdate"></pre-update>
<attributes>
<id name="id"><generated-value strategy="AUTO"/></id>
<basic name="persisted"><temporal>TIMESTAMP</temporal></basic>
<basic name="updated"><temporal>TIMESTAMP</temporal></basic>
<basic name="deleted"><convert>booleanConverter</convert></basic>
<version name="version"></version>
<one-to-one name="agent"></one-to-one>
<transient name="propertyChangeSupport"/>
</attributes>
</mapped-superclass>
<entity class="ch.eugster.herakles.persistence.model.Tectonics" name="Tectonics" access="FIELD">
<table name="HERAKLES_TECTONICS"/>
<table-generator name="TECTONICS_SEQ" table="HERAKLES_SEQUENCE"></table-generator>
<entity-listeners>
<entity-listener class="ch.eugster.herakles.persistence.event.TectonicsListener"></entity-listener>
</entity-listeners>
<attribute-override name="id"><column name="TECTONICS_ID" column-definition="BIGINT"/></attribute-override>
<attribute-override name="persisted"><column name="TECTONICS_PERSISTED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="updated"><column name="TECTONICS_UPDATED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="version"><column name="TECTONICS_VERSION" column-definition="INTEGER"/></attribute-override >
<attribute-override name="deleted"><column name="TECTONICS_DELETED" column-definition="SMALLINT"/></attribute-override >
<association-override name="agent"><join-column name="TECTONICS_AGENT_ID" column-definition="BIGINT"/></association-override>
<attributes>
<basic name="name"><column name="TECTONICS_NAME" column-definition="VARCHAR(255)"/></basic>
<basic name="image"><column name="TECTONICS_IMAGE"/><lob/></basic>
<basic name="description"><column name="TECTONICS_DESCRIPTION" /><lob/></basic>
<one-to-many name="levels" mapped-by="tectonics"><cascade><cascade-all/></cascade></one-to-many>
</attributes>
</entity>
<entity class="ch.eugster.herakles.persistence.model.TectonicsLevel" name="TectonicsLevel" access="FIELD">
<table name="HERAKLES_TECTONICS_LEVEL"/>
<table-generator name="TECTONICS_LEVEL_SEQ" table="HERAKLES_SEQUENCE"></table-generator>
<entity-listeners>
<entity-listener class="ch.eugster.herakles.persistence.event.TectonicsLevelListener"></entity-listener>
</entity-listeners>
<attribute-override name="id"><column name="TECTONICS_LEVEL_ID" column-definition="BIGINT"/></attribute-override>
<attribute-override name="persisted"><column name="TECTONICS_LEVEL_PERSISTED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="updated"><column name="TECTONICS_LEVEL_UPDATED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="version"><column name="TECTONICS_LEVEL_VERSION" column-definition="INTEGER"/></attribute-override >
<attribute-override name="deleted"><column name="TECTONICS_LEVEL_DELETED" column-definition="SMALLINT"/></attribute-override >
<association-override name="agent"><join-column name="TECTONICS_LEVEL_AGENT_ID" column-definition="BIGINT"/></association-override>
<attributes>
<basic name="name"><column name="TECTONICS_LEVEL_NAME" column-definition="VARCHAR(255)"/></basic>
<basic name="image"><column name="TECTONICS_LEVEL_IMAGE"/><lob/></basic>
<basic name="description"><column name="TECTONICS_LEVEL_DESCRIPTION" /><lob/></basic>
<one-to-many name="children" mapped-by="parent"><cascade><cascade-all/></cascade></one-to-many>
</attributes>
</entity>
<entity class="ch.eugster.herakles.persistence.model.TectonicsLevelLink" name="TectonicsLevelLink" access="FIELD">
<table name="HERAKLES_TECTONICS_LEVEL_LINK"/>
<table-generator name="TECTONICS_LEVEL_LINK_SEQ" table="HERAKLES_SEQUENCE"></table-generator>
<entity-listeners>
<entity-listener class="ch.eugster.herakles.persistence.event.TectonicsLevelLinkListener"></entity-listener>
</entity-listeners>
<attribute-override name="id"><column name="TECTONICS_LEVEL_LINK_ID" column-definition="BIGINT"/></attribute-override>
<attribute-override name="persisted"><column name="TECTONICS_LEVEL_LINK_PERSISTED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="updated"><column name="TECTONICS_LEVEL_LINK_UPDATED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="version"><column name="TECTONICS_LEVEL_LINK_VERSION" column-definition="INTEGER"/></attribute-override >
<attribute-override name="deleted"><column name="TECTONICS_LEVEL_LINK_DELETED" column-definition="SMALLINT"/></attribute-override >
<association-override name="agent"><join-column name="TECTONICS_LEVEL_LINK_AGENT_ID" column-definition="BIGINT"/></association-override>
<attributes>
<many-to-one name="parent"><join-column name="TECTONICS_LEVEL_LINK_PARENT_ID" column-definition="BIGINT"/></many-to-one>
<one-to-one name="child"><join-column name="TECTONICS_LEVEL_LINK_CHILD_ID" column-definition="BIGINT"/></one-to-one>
</attributes>
</entity>
<entity class="ch.eugster.herakles.persistence.model.Agent" name="Agent" access="FIELD">
<table name="HERAKLES_AGENT"/>
<table-generator name="AGENT_SEQ" table="HERAKLES_SEQUENCE"></table-generator>
<entity-listeners>
<entity-listener class="ch.eugster.persistence.event.AgentListener"></entity-listener>
</entity-listeners>
<attribute-override name="id"><column name="AGENT_ID" column-definition="BIGINT"/></attribute-override>
<attribute-override name="persisted"><column name="AGENT_PERSISTED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="updated"><column name="AGENT_UPDATED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="version"><column name="AGENT_VERSION" column-definition="INTEGER"/></attribute-override >
<attribute-override name="deleted"><column name="AGENT_DELETED" column-definition="SMALLINT"/></attribute-override >
<association-override name="agent"><join-column name="AGENT_AGENT_ID" column-definition="BIGINT"/></association-override>
<attributes>
<basic name="fullname"><column name="AGENT_FULLNAME" column-definition="VARCHAR(255)"/></basic>
<basic name="username"><column name="AGENT_USERNAME" column-definition="VARCHAR(255)"/></basic>
<basic name="password"><column name="AGENT_PASSWORD" column-definition="VARCHAR(255)"/></basic>
<basic name="state"><column name="AGENT_STATE" column-definition="INTEGER"/><enumerated>ORDINAL</enumerated></basic>
</attributes>
</entity>
<entity class="ch.eugster.herakles.persistence.model.AgentProperty" name="AgentProperty" access="FIELD">
<table name="HERAKLES_AGENT_PROPERTY"/>
<table-generator name="AGENT_PROPERTY_SEQ" table="HERAKLES_SEQUENCE"></table-generator>
<entity-listeners>
<entity-listener class="ch.eugster.persistence.event.AgentPropertyListener"></entity-listener>
</entity-listeners>
<attribute-override name="id"><column name="AGENT_PROPERTY_ID" column-definition="BIGINT"/></attribute-override>
<attribute-override name="persisted"><column name="AGENT_PROPERTY_PERSISTED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="updated"><column name="AGENT_PROPERTY_UPDATED" column-definition="TIMESTAMP"/></attribute-override >
<attribute-override name="version"><column name="AGENT_PROPERTY_VERSION" column-definition="INTEGER"/></attribute-override >
<attribute-override name="deleted"><column name="AGENT_PROPERTY_DELETED" column-definition="SMALLINT"/></attribute-override >
<association-override name="agent"><join-column name="AGENT_PROPERTY_AGENT_ID" column-definition="BIGINT"/></association-override>
<attributes>
<basic name="key"><column name="AGENT_PROPERTY_KEY" column-definition="VARCHAR(255)"/></basic>
<basic name="value"><column name="AGENT_PROPERTY_VALUE"/><lob/></basic>
<many-to-one name="agent"><join-column name="AGENT_PROPERTY_AGENT_ID" column-definition="BIGINT"/></many-to-one>
</attributes>
</entity>
</entity-mappings>
Then my AbstractEntity.class
package ch.eugster.herakles.persistence.model;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.math.BigInteger;
import java.util.Calendar;
public abstract class AbstractEntity<E extends IEntity<E>> implements IEntity<E>
{
/**
*
*/
private static final long serialVersionUID = 1L;
public static boolean isId(final BigInteger id)
{
return id != null && id.longValue() > 0L;
}
protected static IEntity<?> newInstance(final IEntity<?> entity)
{
return entity;
}
protected PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
protected BigInteger id;
protected Calendar persisted;
protected Calendar updated;
protected int version;
protected boolean deleted;
private Agent agent;
public AbstractEntity()
{
super();
}
public void addPropertyChangeListener(final String propertyName, final PropertyChangeListener listener)
{
propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
}
protected IEntity<E> copy(final IEntity<E> entity)
{
entity.setId(getId());
entity.setPersisted(getPersisted());
entity.setUpdated(getUpdated());
entity.setDeleted(isDeleted());
return entity;
}
@Override
public boolean equals(final Object other)
{
if (other instanceof IEntity)
{
@SuppressWarnings("unchecked")
final IEntity<E> entity = (IEntity<E>) other;
if (entity.getId() != null && getId() != null)
{
return entity.getId().equals(getId());
}
return entity.hashCode() == hashCode();
}
return false;
}
public BigInteger getId()
{
return id;
}
public Calendar getPersisted()
{
return persisted;
}
public Calendar getUpdated()
{
return updated;
}
public int getVersion()
{
return version;
}
public boolean hasId()
{
return AbstractEntity.isId(getId());
}
public boolean isDeleted()
{
return deleted;
}
protected void prePersist()
{
setPersisted(Calendar.getInstance());
}
protected void preUpdate()
{
setUpdated(Calendar.getInstance());
}
public void removePropertyChangeListener(final String propertyName, final PropertyChangeListener listener)
{
propertyChangeSupport.removePropertyChangeListener(listener);
}
public void setDeleted(final boolean deleted)
{
propertyChangeSupport.firePropertyChange("deleted", this.deleted, this.deleted = deleted);
}
public void setId(final BigInteger id)
{
propertyChangeSupport.firePropertyChange("id", this.id, this.id = id);
}
public void setPersisted(final Calendar persisted)
{
propertyChangeSupport.firePropertyChange("persisted", this.persisted, this.persisted = persisted);
}
public void setUpdated(final Calendar updated)
{
propertyChangeSupport.firePropertyChange("updated", this.updated, this.updated = updated);
}
protected void setVersion(final int version)
{
this.version = version;
}
protected String stringValueOf(final String value)
{
return value == null ? "" : value;
}
public void update(final E source)
{
setDeleted(source.isDeleted());
// setId(source.getId());
setPersisted(getPersisted());
setUpdated(source.getUpdated());
setVersion(source.getVersion());
}
public boolean equals(E other)
{
if (other.getClass().equals(this.getClass()))
{
if (other.getId() == null && this.getId() == null)
{
return other.hashCode() == this.hashCode();
}
else if (other.getId() != null && this.getId() != null)
{
return other.getId().equals(this.getId());
}
}
return false;
}
public Agent getAgent()
{
return agent;
}
public void setAgent(Agent agent)
{
this.agent = agent;
}
}
and last but not least my TectonicsLevel.class
package ch.eugster.herakles.persistence.model;
import java.util.List;
import java.util.Vector;
public class TectonicsLevel extends AbstractEntity<TectonicsLevel> {
/**
*
*/
private static final long serialVersionUID = 1L;
private Tectonics tectonics;
private final List<TectonicsLevelLink> parents = new Vector<TectonicsLevelLink>();
private final List<TectonicsLevelLink> children = new Vector<TectonicsLevelLink>();
private String description;
private byte[] image;
private String name;
private TectonicsLevel() {
}
private TectonicsLevel(Tectonics tectonics)
{
this.tectonics = tectonics;
}
public void addChildLevel(final TectonicsLevelLink level)
{
propertyChangeSupport.firePropertyChange("addChildLevel", children,
children.add(level));
}
public void addParentLevel(final TectonicsLevelLink level)
{
propertyChangeSupport.firePropertyChange("addParentLevel", parents,
parents.add(level));
}
public List<TectonicsLevelLink> getChildLevels()
{
return children;
}
public List<TectonicsLevelLink> getParentLevels()
{
return parents;
}
public String getDescription() {
return description;
}
public byte[] getImage()
{
return image;
}
public String getName() {
return name;
}
public void removeChildLevel(final TectonicsLevel level)
{
propertyChangeSupport.firePropertyChange("removeChildLevel", children,
children.remove(level));
}
public void removeParentLevel(final TectonicsLevel level)
{
propertyChangeSupport.firePropertyChange("removeParentLevel", parents,
parents.remove(level));
}
public void setDescription(final String description) {
propertyChangeSupport.firePropertyChange("description",
this.description, this.description = (description == null
|| description.isEmpty() ? null : description));
}
public void setImage(final byte[] image)
{
this.propertyChangeSupport.firePropertyChange("image", this.image, this.image = image);
}
public void setName(final String name) {
propertyChangeSupport.firePropertyChange("name", this.name,
this.name = (name == null || name.isEmpty() ? null : name));
}
@Override
public void update(final TectonicsLevel source) {
super.update(source);
setName(source.getDescription());
setDescription(source.getDescription());
setImage(source.getImage());
// final Collection<TectonicsLevel> sourceLevels = source
// .getLevels();
// for (final TectonicsLevel sourceLevel : sourceLevels) {
// if (sourceLevel.getId() == null) {
// final TectonicsLevel targetLevel = TectonicsLevel
// .newInstance();
// targetLevel.update(sourceLevel);
// addLevel(targetLevel);
// } else {
// final Collection<TectonicsLevel> levels = getLevels();
// for (final TectonicsLevel level : levels) {
// if (level.getId().equals(sourceLevel.getId())) {
// level.update(sourceLevel);
// }
// }
// }
// }
}
public static TectonicsLevel newInstance()
{
return (TectonicsLevel) AbstractEntity
.newInstance(new TectonicsLevel());
}
public static TectonicsLevel newInstance(Tectonics tectonics)
{
return (TectonicsLevel) AbstractEntity
.newInstance(new TectonicsLevel(tectonics));
}
public Tectonics getTectonics() {
return tectonics;
}
public void setTectonics(Tectonics tectonics)
{
propertyChangeSupport.firePropertyChange("tectonics", this.tectonics,
this.tectonics = tectonics);
}
}
The following tectonics.class is another class, but has the same configuration concerning my problem. eclipselink does not complain here, may be it stops directly after it has found the "error":
package ch.eugster.herakles.persistence.model;
import java.util.List;
import java.util.Vector;
public class TectonicsLevel extends AbstractEntity<TectonicsLevel> {
/**
*
*/
private static final long serialVersionUID = 1L;
private Tectonics tectonics;
private final List<TectonicsLevelLink> parents = new Vector<TectonicsLevelLink>();
private final List<TectonicsLevelLink> children = new Vector<TectonicsLevelLink>();
private String description;
private byte[] image;
private String name;
private TectonicsLevel() {
}
private TectonicsLevel(Tectonics tectonics)
{
this.tectonics = tectonics;
}
public void addChildLevel(final TectonicsLevelLink level)
{
propertyChangeSupport.firePropertyChange("addChildLevel", children,
children.add(level));
}
public void addParentLevel(final TectonicsLevelLink level)
{
propertyChangeSupport.firePropertyChange("addParentLevel", parents,
parents.add(level));
}
public List<TectonicsLevelLink> getChildLevels()
{
return children;
}
public List<TectonicsLevelLink> getParentLevels()
{
return parents;
}
public String getDescription() {
return description;
}
public byte[] getImage()
{
return image;
}
public String getName() {
return name;
}
public void removeChildLevel(final TectonicsLevel level)
{
propertyChangeSupport.firePropertyChange("removeChildLevel", children,
children.remove(level));
}
public void removeParentLevel(final TectonicsLevel level)
{
propertyChangeSupport.firePropertyChange("removeParentLevel", parents,
parents.remove(level));
}
public void setDescription(final String description) {
propertyChangeSupport.firePropertyChange("description",
this.description, this.description = (description == null
|| description.isEmpty() ? null : description));
}
public void setImage(final byte[] image)
{
this.propertyChangeSupport.firePropertyChange("image", this.image, this.image = image);
}
public void setName(final String name) {
propertyChangeSupport.firePropertyChange("name", this.name,
this.name = (name == null || name.isEmpty() ? null : name));
}
@Override
public void update(final TectonicsLevel source) {
super.update(source);
setName(source.getDescription());
setDescription(source.getDescription());
setImage(source.getImage());
// final Collection<TectonicsLevel> sourceLevels = source
// .getLevels();
// for (final TectonicsLevel sourceLevel : sourceLevels) {
// if (sourceLevel.getId() == null) {
// final TectonicsLevel targetLevel = TectonicsLevel
// .newInstance();
// targetLevel.update(sourceLevel);
// addLevel(targetLevel);
// } else {
// final Collection<TectonicsLevel> levels = getLevels();
// for (final TectonicsLevel level : levels) {
// if (level.getId().equals(sourceLevel.getId())) {
// level.update(sourceLevel);
// }
// }
// }
// }
}
public static TectonicsLevel newInstance()
{
return (TectonicsLevel) AbstractEntity
.newInstance(new TectonicsLevel());
}
public static TectonicsLevel newInstance(Tectonics tectonics)
{
return (TectonicsLevel) AbstractEntity
.newInstance(new TectonicsLevel(tectonics));
}
public Tectonics getTectonics() {
return tectonics;
}
public void setTectonics(Tectonics tectonics)
{
propertyChangeSupport.firePropertyChange("tectonics", this.tectonics,
this.tectonics = tectonics);
}
}
|
|
| |
Re: @Id and @AttributeOverride [message #945745 is a reply to message #945741] |
Mon, 15 October 2012 15:45 |
Christian Eugster Messages: 213 Registered: July 2009 Location: St. Gallen Switzerland |
Senior Member |
|
|
Here's the logging output:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://209.fwk1701693537:1/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://209.fwk1701693537:2/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://209.fwk1701693537:3/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://209.fwk1701693537:4/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
15.10.2012 17:34:53 org.apache.aries.jndi.startup.Activator start
INFO: It was not possible to register an InitialContextFactoryBuilder with the NamingManager because another builder called org.apache.aries.jndi.OSGiInitialContextFactoryBuilder was already registered. Support for calling new InitialContext() will not be enabled.
15.10.2012 17:34:53 org.apache.aries.jndi.startup.Activator start
INFO: It was not possible to register an ObjectFactoryBuilder with the NamingManager because another builder called org.apache.aries.jndi.OSGiInitialContextFactoryBuilder was already registered. Looking up certain objects may not work correctly.
15.10.2012 17:34:53 org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry addingService
INFO: A TransactionSynchronizationRegistry service is now available in the runtime. Managed persistence contexts will now integrate with JTA transactions using {javax.transaction.TransactionManager, javax.transaction.TransactionSynchronizationRegistry, javax.transaction.UserTransaction, org.apache.geronimo.transaction.manager.RecoverableTransactionManager}={service.id=45}.
15.10.2012 17:34:53 org.apache.aries.jpa.container.impl.PersistenceBundleManager initConfig
INFO: The file org.apache.aries.jpa.container.properties was not found in bundle org.apache.aries.jpa.container/1.0.0. The default properties {} will be used.
[EL Finest]: 2012-10-15 17:34:53.296--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--Begin predeploying Persistence Unit herakles; session bundleresource://261.fwk1701693537/_herakles; state Initial; factoryCount 0
[EL Finest]: 2012-10-15 17:34:53.306--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--property=eclipselink.orm.throw.exceptions; default value=true
[EL Finest]: 2012-10-15 17:34:53.306--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--property=eclipselink.multitenant.tenants-share-emf; default value=true
[EL Finest]: 2012-10-15 17:34:53.306--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--property=eclipselink.multitenant.tenants-share-cache; default value=false
[EL Finer]: 2012-10-15 17:34:53.318--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--Searching for default mapping file in bundleresource://261.fwk1701693537/ (There is no English translation for this message.)
[EL Finer]: 2012-10-15 17:34:53.322--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--Found a default mapping file at bundleresource://261.fwk1701693537/META-INF/orm.xml for root URL bundleresource://261.fwk1701693537/ (There is no English translation for this message.)
[EL Finer]: 2012-10-15 17:34:53.823--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--Searching for default mapping file in bundleresource://261.fwk1701693537/ (There is no English translation for this message.)
[EL Config]: 2012-10-15 17:34:53.853--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the one to many mapping element [field children] is being defaulted to: class ch.eugster.herakles.persistence.model.TectonicsLevelLink.
[EL Config]: 2012-10-15 17:34:53.857--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The element [field parents] is being defaulted to a one to many mapping.
[EL Config]: 2012-10-15 17:34:53.861--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the one to many mapping element [field parents] is being defaulted to: class ch.eugster.herakles.persistence.model.TectonicsLevelLink.
[EL Config]: 2012-10-15 17:34:53.861--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The element [field tectonics] is being defaulted to a one to one mapping.
[EL Config]: 2012-10-15 17:34:53.862--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the one to one mapping element [field tectonics] is being defaulted to: class ch.eugster.herakles.persistence.model.Tectonics.
[EL Config]: 2012-10-15 17:34:53.863--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the one to many mapping element [field levels] is being defaulted to: class ch.eugster.herakles.persistence.model.TectonicsLevel.
[EL Config]: 2012-10-15 17:34:53.863--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the many to one mapping element [field agent] is being defaulted to: class ch.eugster.herakles.persistence.model.Agent.
[EL Config]: 2012-10-15 17:34:53.863--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the many to one mapping element [field parent] is being defaulted to: class ch.eugster.herakles.persistence.model.TectonicsLevel.
[EL Config]: 2012-10-15 17:34:53.864--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the one to one mapping element [field child] is being defaulted to: class ch.eugster.herakles.persistence.model.TectonicsLevel.
[EL Finest]: 2012-10-15 17:34:53.883--ServerSession(321891948)--Thread(Thread[Start Level Event Dispatcher,5,main])--End predeploying Persistence Unit herakles; session bundleresource://261.fwk1701693537/_herakles; state PredeployFailed; factoryCount 0
[EL Finest]: 2012-10-15 17:34:53.889--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.proxy_218 (There is no English translation for this message.)
!SESSION 2012-10-15 17:34:52.025 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_35
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=de_DE
Command-line arguments: -dev file:/Users/ceugster/Projekte/Herakles-4.2/Workspace-4.2/.metadata/.plugins/org.eclipse.pde.core/OSGi Runtime/dev.properties -os macosx -ws cocoa -arch x86_64 -consoleLog -console
!ENTRY org.apache.aries.jpa.container 4 0 2012-10-15 17:34:53.891
!MESSAGE FrameworkEvent ERROR
[EL Finest]: 2012-10-15 17:34:53.892--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.jmx.blueprint.api_219 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:53.892--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.blueprint_220 (There is no English translation for this message.)
!STACK 0
org.osgi.framework.BundleException: Exception in org.apache.aries.jpa.container.impl.PersistenceBundleManager.start() of bundle org.apache.aries.jpa.container.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [herakles] failed.
Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Entity class [class ch.eugster.herakles.persistence.model.TectonicsLevel] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1441)
at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:208)
at org.apache.aries.jpa.eclipselink.adapter.EclipseLinkProviderService$1.createContainerEntityManagerFactory(EclipseLinkProviderService.java:70)
at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.createEntityManagerFactories(EntityManagerFactoryManager.java:329)
at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.bundleStateChange(EntityManagerFactoryManager.java:175)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.setupManager(PersistenceBundleManager.java:394)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.addingBundle(PersistenceBundleManager.java:154)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerAdding(BundleHookBundleTracker.java:185)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerAdding(BundleHookBundleTracker.java:128)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.trackAdding(BundleHookBundleTracker.java:492)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.trackInitial(BundleHookBundleTracker.java:374)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker.open(BundleHookBundleTracker.java:81)
at org.apache.aries.util.tracker.RecursiveBundleTracker.open(RecursiveBundleTracker.java:92)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.open(PersistenceBundleManager.java:134)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.start(PersistenceBundleManager.java:624)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
... 12 more
Caused by: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [herakles] failed.
Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Entity class [class ch.eugster.herakles.persistence.model.TectonicsLevel] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
at org.eclipse.persistence.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:221)
... 30 more
Caused by: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Entity class [class ch.eugster.herakles.persistence.model.TectonicsLevel] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
at org.eclipse.persistence.exceptions.ValidationException.noPrimaryKeyAnnotationsFound(ValidationException.java:1392)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.validatePrimaryKey(EntityAccessor.java:1336)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.processMappingAccessors(EntityAccessor.java:1067)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.process(EntityAccessor.java:631)
at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processStage2(MetadataProject.java:1685)
at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:532)
at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:546)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1376)
... 29 more
Root exception:
javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [herakles] failed.
Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Entity class [class ch.eugster.herakles.persistence.model.TectonicsLevel] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1441)
at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:208)
at org.apache.aries.jpa.eclipselink.adapter.EclipseLinkProviderService$1.createContainerEntityManagerFactory(EclipseLinkProviderService.java:70)
at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.createEntityManagerFactories(EntityManagerFactoryManager.java:329)
at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.bundleStateChange(EntityManagerFactoryManager.java:175)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.setupManager(PersistenceBundleManager.java:394)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.addingBundle(PersistenceBundleManager.java:154)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerAdding(BundleHookBundleTracker.java:185)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerAdding(BundleHookBundleTracker.java:128)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.trackAdding(BundleHookBundleTracker.java:492)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.trackInitial(BundleHookBundleTracker.java:374)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker.open(BundleHookBundleTracker.java:81)
at org.apache.aries.util.tracker.RecursiveBundleTracker.open(RecursiveBundleTracker.java:92)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.open(PersistenceBundleManager.java:134)
at org.apache.aries.jpa.container.impl.PersistenceBundleManager.start(PersistenceBundleManager.java:624)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [herakles] failed.
Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Entity class [class ch.eugster.herakles.persistence.model.TectonicsLevel] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
at org.eclipse.persistence.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:221)
... 30 more
Caused by: Exception [EclipseLink-7161] (Eclipse Persistence Services - 2.4.0.v20120229-r10915): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Entity class [class ch.eugster.herakles.persistence.model.TectonicsLevel] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
at org.eclipse.persistence.exceptions.ValidationException.noPrimaryKeyAnnotationsFound(ValidationException.java:1392)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.validatePrimaryKey(EntityAccessor.java:1336)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.processMappingAccessors(EntityAccessor.java:1067)
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.process(EntityAccessor.java:631)
at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processStage2(MetadataProject.java:1685)
at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:532)
at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:546)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1376)
... 29 more
[EL Finest]: 2012-10-15 17:34:53.95--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.quiesce.manager_222 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:53.956--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.jmx.core_225 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:53.983--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.proxy.api_226 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:53.983--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.blueprint.core_227 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.068--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.blueprint.api_228 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.069--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.jpa.api_229 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.07--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.blueprint.cm_230 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.072--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.jmx.core.whiteboard_231 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.093--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.jmx.blueprint.core_232 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.097--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.aries.jndi.url_234 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.101--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.eclipse.osgi.services_243 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.102--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.eclipse.equinox.preferences_244 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.133--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.felix.gogo.command_245 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.14--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.eclipse.equinox.console_247 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.152--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.felix.gogo.runtime_249 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.164--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.apache.felix.gogo.shell_248 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.175--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: org.eclipse.equinox.util_250 (There is no English translation for this message.)
[EL Finest]: 2012-10-15 17:34:54.182--Thread(Thread[Start Level Event Dispatcher,5,main])--EclipseLink OSGi - examining bundle: ch.eugster.herakles.persistence_261 (There is no English translation for this message.)
15.10.2012 17:34:54 org.apache.aries.blueprint.container.BlueprintContainerImpl doRun
INFO: Bundle ch.eugster.herakles.persistence is waiting for namespace handlers [http://aries.apache.org/xmlns/transactions/v1.0.0, http://aries.apache.org/xmlns/jpa/v1.1.0]
!ENTRY org.eclipse.osgi 4 0 2012-10-15 17:34:54.190
!MESSAGE Bundle org.apache.aries.jpa.container_1.0.0 [217] is not active.
15.10.2012 17:34:54 org.apache.aries.blueprint.container.BlueprintContainerImpl doRun
INFO: Bundle ch.eugster.herakles.persistence is waiting for dependencies [(&(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=herakles))(objectClass=javax.persistence.EntityManagerFactory))]
osgi> 15.10.2012 17:39:54 org.apache.aries.blueprint.container.BlueprintContainerImpl$1 run
SCHWERWIEGEND: Unable to start blueprint container for bundle ch.eugster.herakles.persistence due to unresolved dependencies [(&(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=herakles))(objectClass=javax.persistence.EntityManagerFactory))]
java.util.concurrent.TimeoutException
at org.apache.aries.blueprint.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:302)
at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
And sorry about the second posting of TectonicsLevel. I post the Tectonics.class now
package ch.eugster.herakles.persistence.model;
import java.util.List;
import java.util.Vector;
public class Tectonics extends AbstractEntity<Tectonics> {
/**
*
*/
private static final long serialVersionUID = 1L;
private final List<TectonicsLevel> levels = new Vector<TectonicsLevel>();
private String description;
private byte[] image;
private String name;
private Tectonics() {
}
public void addLevel(final TectonicsLevel level) {
propertyChangeSupport.firePropertyChange("addLevel", levels,
levels.add(level));
}
public void removeLevel(final TectonicsLevel level) {
propertyChangeSupport.firePropertyChange("removeLevel", levels,
levels.remove(level));
}
public List<TectonicsLevel> getLevels() {
return levels;
}
public String getDescription() {
return description;
}
public byte[] getImage() {
// Image image = null;
// try {
// if (this.image != null) {
// final InputStream in = new ByteArrayInputStream(this.image);
// final ImageData imageData = new ImageData(in);
// image = new Image(Display.getCurrent(), imageData);
// }
// } catch (final Exception e) {
// e.printStackTrace();
// }
return image;
}
public String getName() {
return name;
}
// public void removeLevel(final TectonicsLevel level) {
// propertyChangeSupport.firePropertyChange("removeLevel", levels,
// levels.remove(level));
// }
public void setDescription(final String description) {
propertyChangeSupport.firePropertyChange("description",
this.description, this.description = (description == null
|| description.isEmpty() ? null : description));
}
public void setImage(final byte[] image) {
// final Image oldImage = this.getImage();
// if (image == null) {
// this.image = null;
// } else {
// try {
// final ByteArrayOutputStream out = new ByteArrayOutputStream(
// 1024);
// final ImageLoader imageLoader = new ImageLoader();
// imageLoader.data = new ImageData[] { image.getImageData() };
// imageLoader.save(out, SWT.IMAGE_PNG);
// this.image = out.toByteArray();
// } catch (final Exception e) {
// e.printStackTrace();
// }
// }
// this.propertyChangeSupport.firePropertyChange("image", oldImage, image);
// if (oldImage != null) {
// oldImage.dispose();
// }
}
public void setName(final String name) {
propertyChangeSupport.firePropertyChange("name", this.name,
this.name = (name == null || name.isEmpty() ? null : name));
}
@Override
public void update(final Tectonics source) {
super.update(source);
setName(source.getDescription());
setDescription(source.getDescription());
setImage(source.getImage());
// final Collection<TectonicsLevel> sourceLevels = source
// .getLevels();
// for (final TectonicsLevel sourceLevel : sourceLevels) {
// if (sourceLevel.getId() == null) {
// final TectonicsLevel targetLevel = TectonicsLevel
// .newInstance();
// targetLevel.update(sourceLevel);
// addLevel(targetLevel);
// } else {
// final Collection<TectonicsLevel> levels = getLevels();
// for (final TectonicsLevel level : levels) {
// if (level.getId().equals(sourceLevel.getId())) {
// level.update(sourceLevel);
// }
// }
// }
// }
}
public static Tectonics newInstance() {
return (Tectonics) AbstractEntity
.newInstance(new Tectonics());
}
}
|
|
| | | | |
Goto Forum:
Current Time: Tue Sep 24 10:29:06 GMT 2024
Powered by FUDForum. Page generated in 0.04149 seconds
|