public void agregarImagenEncabezado(Sheet hoja, double x, double y, double width, double heigh, String rutaImagen) throws WriteException, IOException { InputStream is = this.getClass().getResourceAsStream(rutaImagen); // add picture data to this workbook. byte[] bytes = IOUtils.toByteArray(is); int pictureIdx = libro.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG); is.close(); CreationHelper helper = libro.getCreationHelper(); // Create the drawing patriarch. This is the top level container for all // shapes. Drawing drawing = hoja.createDrawingPatriarch(); // add a picture shape ClientAnchor anchor = helper.createClientAnchor(); // set top-left corner of the picture, // subsequent call of Picture#resize() will operate relative to it anchor.setCol1((int)x); anchor.setRow1((int)y); Picture pict = drawing.createPicture(anchor, pictureIdx); // auto-size picture relative to its top-left corner pict.resize(); }
En este blog hay ideas sobre la informática en general. Programación, resolución de problemas y un poco de todo lo que concierne a este mundo de las computadoras...
lunes, 12 de mayo de 2014
Estoy agregando una imagen a un archivo de Excel, cuando lo ejecuto desde eclipse, la imagen se agrega correctamente.
Pero al generar el jar lanza una excepción indicando que no puede encontrar el recurso.
Aquí el código para hacer la inserción.
Agregar una imagen desde un jar.
miércoles, 19 de marzo de 2014
Hibernate is not mapped
Trabajando en una aplicación que por azares del destino está con varias tecnologías de persistencia, entre algunos sabores: JDBC, Hibernate y ultimamente JPA, no me pregunten porqué, pero se tienen dos lugares donde se crean Entities, uno legado y otro donde se quiere unificar y poner orden.
Una de las tareas fue migrar un Entity para que poco a poco se vayan teniendo en un sólo lugar dentro de la Nueva estructura, sin embargo al ejecutar la aplicación lanzaba este problema:
entities.CalifConsarEnt , hacen que el EntityManager reconozca la ubicación de la nuevas clases, pues de manera automática no sabe donde encontrarlas.
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: andres is not mapped [SELECT CC FROM andres CC WHERE CC.gubernamentales=:guber AND CC.mercado=:mercado] at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1364) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1300) at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:309) at asar.analitics.db.hibernate.dao.impl.CalifConsarDAOImpl.getAllInstrumentoNoGubernamental(CalifConsarDAOImpl.java:232) at asar.analitics.service.impl.CalifConsarServiceImpl.getAllCalifConsarNoGubernamental(CalifConsarServiceImpl.java:50) at asar.analitics.vista.regimen.EsperanzaPerdidaScroolPane.calculaEsperanzaPerdida(EsperanzaPerdidaScroolPane.java:201) at asar.analitics.vista.regimen.EsperanzaPerdidaScroolPane.calculateAll(EsperanzaPerdidaScroolPane.java:169) at asar.analitics.vista.regimen.EsperanzaPerdidaScroolPane.getTablaEsperanzaPerdida(EsperanzaPerdidaScroolPane.java:323) at asar.analitics.Regimen.initComponents(Regimen.java:20911) at asar.analitics.Regimen.La solución fue poner en el persistence XML las siguientes lineas:(Regimen.java:672) at asar.analitics.Menu$105.actionPerformed(Menu.java:1811) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: andres is not mapped [SELECT CC FROM andres CC WHERE CC.gubernamentales=:guber AND CC.mercado=:mercado] at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:180) at org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:110) at org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:93) at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:324) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3291) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3180) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:706) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:562) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:299) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:247) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:248) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136) at org.hibernate.engine.query.spi.HQLQueryPlan. (HQLQueryPlan.java:105) at org.hibernate.engine.query.spi.HQLQueryPlan. (HQLQueryPlan.java:80) at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168) at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:221) at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:199) at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1735) at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:301) ... 44 more
Puesto que las entidades van anotadas, las lineasorg.hibernate.ejb.HibernatePersistence entities.CalifConsarEnt entities.CalifEmisorEnt entities.CatGruposEmisorEnt
@Entity @Table(name="CALIF_CONSAR") public class CalifConsarEnt { @Id @Column(name="INSTRUMENTO") . . .Espero que la solución le sirva. Cortesía de Vianey Reyes @VianeyItzayana
Suscribirse a:
Entradas (Atom)