Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Использование дизайн-файлов BIRT в IntelliJ / 7 сообщений из 7, страница 1 из 1
24.08.2015, 10:51
    #39034767
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование дизайн-файлов BIRT в IntelliJ
Хотел поинтересоваться, возможно ли сделать сей финт ушами. Есть файл rptdesign, созданный в Eclipse с помощью генератора отчетов BIRT, есть простой пример:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
public class ExecuteBIRTReport {
	static void executeReport() throws EngineException {

		EngineConfig config = null;
		IReportEngine engine = null;
		try {
			config = new EngineConfig();
			config.setLogConfig("/logs", java.util.logging.Level.WARNING);

			Platform.startup(config);
			IReportEngineFactory factory = (IReportEngineFactory) Platform
					.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
			engine = factory.createReportEngine(config);
			IReportRunnable report = null;
			String reportFilepath = "C://Users//user//workspace//TestProject//Products.rptdesign";
			try {
				report = engine.openReportDesign(reportFilepath);
			} catch (Exception e) {
				System.err.println("Report " + reportFilepath + " not found!\n");
				engine.destroy();
				return;
			}

			IRunAndRenderTask task = engine.createRunAndRenderTask(report);

			PDFRenderOption options = new PDFRenderOption();
			options.setOutputFormat("pdf");
			options.setOutputFileName("C:/Users/user/workspace/TestProject/REPORT.pdf");

			task.setRenderOption(options);

			try {
				task.run();
			} catch (EngineException e1) {
				System.err.println("Report " + reportFilepath + " run failed.\n");
				System.err.println(e1.toString());
			}
			engine.destroy();
			return;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			executeReport();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


Чтобы скомпилировать это в IntelliJ, импортировал jar-файлы:

com.ibm.icu_54.1.1.v201501272100.jar
org.eclipse.birt.core_4.5.0.v201506092134.jar
org.eclipse.birt.data_4.5.0.v201506092134.jar
org.eclipse.birt.report.data.adapter_4.5.0.v201506092134.jar
org.eclipse.birt.report.engine_4.5.0.v201506092134.jar
org.eclipse.birt.report.model_4.5.0.v201506092134.jar
org.eclipse.core.runtime_3.11.0.v20150405-1723.jar
org.eclipse.datatools.connectivity.oda_3.4.3.v201405301249.jar
org.eclipse.equinox.common_3.7.0.v20150402-1709.jar
org.eclipse.equinox.common_3.7.0.v20150402-1709.jar
org.eclipse.osgi_3.10.100.v20150529-1857.jar

Все отрабатывает, но на этапе создания файла, т.е. на строчке

Код: java
1.
task.run();



происходит ошибка: The output format <...> is not supported. Из Eclipse файл отчета создается без проблем. Подскажите, есть ли смысл бодаться с этим дальше или дело безнадежное? Может, не хватает еще каких-нибудь jar'ов?
...
Рейтинг: 0 / 0
24.08.2015, 10:55
    #39034773
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование дизайн-файлов BIRT в IntelliJ
Полуламер,

Похоже что не все jar-ы подключены. А не проще ли зависимости через Maven протащить?
...
Рейтинг: 0 / 0
24.08.2015, 11:24
    #39034813
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование дизайн-файлов BIRT в IntelliJ
Blazkowicz,

а не подскажете, как это попроще сделать? Я с Eclipse не работал и там pom.xml для приведенного примера совсем маленький, зависимостей практически никаких нет, вот он на всякий случай:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>TestProject</groupId>
	<artifactId>TestProject</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.3</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<repositories>
		<repository>
			<id>central</id>
			<url>http://repo1.maven.org/maven2/</url>
		</repository>
		<repository>
			<id>codelds</id>
			<url>https://code.lds.org/nexus/content/groups/main-repo</url>
		</repository>
		<repository>
			<id>jboss</id>
			<name>JBoss Repository</name>
			<url>https://repository.jboss.org/nexus/content/groups/public/</url>
		</repository>

		<repository>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<id>sonatype-nexus-snapshots</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</repository>

		<repository>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<id>sonatype-nexus-releases</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/releases</url>
		</repository>

	</repositories>
	<dependencies>

		<dependency>
			<groupId>org.eclipse.birt.runtime</groupId>
			<artifactId>org.eclipse.birt.runtime</artifactId>
			<version>4.3.0</version>
			<exclusions>
				<exclusion>
					<artifactId>org.apache.poi</artifactId>
					<groupId>org.eclipse.birt.runtime</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.9</version>
		</dependency>
	</dependencies>
</project>



Вероятно, есть смысл использовать какой-нибудь еще инструментарий, чтобы посмотреть на этапе выполнения, какие jar пытается найти этот файл проекта?
...
Рейтинг: 0 / 0
24.08.2015, 11:50
    #39034839
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование дизайн-файлов BIRT в IntelliJ
Если погуглить класс PDFEmitter, то он находится в неком org.eclipse.birt.runtime
http://mvnrepository.com/artifact/org.eclipse.birt.runtime
Похоже что именно BIRT Runtime в classpath и нет.
...
Рейтинг: 0 / 0
24.08.2015, 13:06
    #39034899
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование дизайн-файлов BIRT в IntelliJ
Подключил org.eclipse.birt.runtime, этот jar потребовал еще нескольких, доходит в новом составе до пресловутой строчки и явно пытается что-сделать - процесс идет, но потом валится с сообщением:

Error happened while running the report.

Опять чего-то не хватает, а вот чего?
...
Рейтинг: 0 / 0
24.08.2015, 16:50
    #39035006
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование дизайн-файлов BIRT в IntelliJ
Тупо скопировал имена jar'ов из Eclipse-проекта (Maven Dependencies), нашел их в репозитории, подсоединил - вроде работает, вывел отчет в разных форматах (pdf, xlsx, docx, html). Для тех, кому вдруг понадобится, вот список:

авторorg.eclipse.birt.runtime-4.3.0.jar
org.eclipse.core.contenttype-3.4.200.v20130326-1255.jar
org.eclipse.equinox.registry-3.5.300.v20130327-1442.jar
org.eclipse.osgi.services-3.3.100.v20130513-1956.jar
org.eclipse.update.configurator-3.3.200.v20130326-1319.jar
org.eclipse.osgi-3.9.0.v20130529-1710.jar
org.apache.commons.logging-1.1.1.v201101211721.jar
org.eclipse.equinox.app-1.3.100.v20130327-1442.jar
org.eclipse.core.resources-3.8.100.v20130521-2026.jar
org.eclipse.datatools.connectivity.oda-3.4.0.v201305170924.jar
org.eclipse.core.runtime-3.9.0.v20130326-1255.jar
org.eclipse.datatools.connectivity.oda.flatfile-3.1.5.v201305221644.jar
org.eclipse.core.jobs-3.5.300.v20130429-1813.jar
org.eclipse.emf.common-2.9.0.v20130528-0742.jar
org.eclipse.emf-2.6.0.v20130610-0406.jar
org.eclipse.datatools.connectivity.oda.consumer-3.2.6.v201305170644.jar
org.eclipse.orbit.mongodb-2.10.1.v20130422-1135.jar
org.eclipse.datatools.enablement.oda.ws-1.2.5.v201305031101.jar
org.eclipse.emf.ecore-2.9.0.v20130528-0742.jar
org.eclipse.core.expressions-3.4.500.v20130515-1343.jar
org.eclipse.datatools.connectivity-1.2.8.v201305301230.jar
org.eclipse.equinox.preferences-3.5.100.v20130422-1538.jar
org.eclipse.core.filesystem-1.4.0.v20130514-1240.jar
org.eclipse.emf.ecore.change-2.9.0.v20130528-0742.jar
org.eclipse.equinox.common-3.6.200.v20130402-1505.jar
org.eclipse.emf.ecore.xmi-2.9.0.v20130528-0742.jar
org.eclipse.datatools.enablement.oda.xml-1.2.5.v201305031101.jar
com.ibm.icu-50.1.1.v201304230130.jar
org.eclipse.datatools.connectivity.oda.profile-3.2.8.v201209080429.jar
org.w3c.dom.smil-1.0.0.jar
org.eclipse.datatools.enablement.hsqldb.dbdefinition-1.0.0.v201107221502.jar
org.eclipse.datatools.modelbase.derby-1.0.0.v201107221519.jar
org.apache.batik.parser-1.6.0.jar
org.apache.batik.util.gui-1.6.0.jar
javax.xml.stream-1.0.1.v201004272200.jar
org.eclipse.datatools.enablement.ibm.informix-1.0.1.v201107221502.jar
derby-10.5.1000001.jar
org.apache.batik.svggen-1.6.0.jar
commons-cli-1.0.jar
commons-logging-1.0.jar
commons-lang-1.0.jar
junit-3.7.jar
org.apache.batik.pdf-1.6.0.jar
org.eclipse.datatools.connectivity.dbdefinition.genericJDBC-1.0.1.v201107221459.jar
org.eclipse.datatools.connectivity.sqm.core-1.2.6.v201212070447.jar
org.apache.batik.dom-1.6.0.jar
org.apache.batik.css-1.6.0.jar
org.eclipse.datatools.enablement.ibm.db2.luw-1.0.2.v201107221502.jar
poi-ooxml-3.9.jar
org.eclipse.datatools.connectivity.oda.design-3.3.6.v201212070447.jar
org.eclipse.datatools.enablement.mysql-1.0.4.v201212120617.jar
poi-ooxml-schemas-3.9.jar
org.eclipse.datatools.connectivity.db.generic-1.0.1.v201107221459.jar
org.eclipse.datatools.enablement.hsqldb-1.0.0.v201107221502.jar
org.apache.xml.resolver-1.2.0.jar
org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition-1.0.1.v201201240505.jar
org.eclipse.datatools.enablement.ibm.informix.dbdefinition-1.0.4.v201107221502.jar
org.eclipse.datatools.modelbase.sql-1.0.6.v201208230744.jar
org.w3c.dom.svg-1.1.0.jar
org.apache.batik.dom.svg-1.6.0.jar
org.apache.batik.ext.awt-1.6.0.jar
org.eclipse.datatools.enablement.msft.sqlserver-1.0.2.v201212120617.jar
dom4j-1.6.1.jar
xml-apis-1.0.b2.jar
org.mozilla.javascript-1.7.2.jar
org.eclipse.datatools.enablement.postgresql-1.1.1.v201205252207.jar
org.apache.batik.transcoder-1.6.0.jar
org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition-1.0.4.v201107221502.jar
org.eclipse.datatools.connectivity.apache.derby.dbdefinition-1.0.2.v201107221459.jar
org.eclipse.datatools.enablement.oracle-1.0.0.v201107221506.jar
org.apache.batik.util-1.6.0.jar
org.eclipse.datatools.enablement.oracle.dbdefinition-1.0.103.v201206010214.jar
xmlbeans-2.3.0.jar
stax-api-1.0.1.jar
org.apache.batik.xml-1.6.0.jar
org.apache.xml.serializer-2.7.1.jar
org.apache.xerces-2.9.0.jar
org.eclipse.datatools.modelbase.sql.query-1.1.4.v201212120619.jar
org.eclipse.datatools.modelbase.dbdefinition-1.0.2.v201107221519.jar
org.eclipse.datatools.enablement.mysql.dbdefinition-1.0.4.v201109022331.jar
javax.wsdl-1.5.1.jar
Tidy-1.jar
org.eclipse.datatools.enablement.postgresql.dbdefinition-1.0.2.v201110070445.jar
org.w3c.css.sac-1.3.0.jar
flute-1.3.jar
org.eclipse.datatools.connectivity.apache.derby-1.0.103.v201212070447.jar
org.eclipse.datatools.connectivity.console.profile-1.0.10.v201109250955.jar
org.apache.commons.codec-1.3.0.jar
com.lowagie.text-2.1.7.jar
org.apache.batik.bridge-1.6.0.jar
poi-3.9.jar
commons-codec-1.5.jar
...
Рейтинг: 0 / 0
25.08.2015, 11:28
    #39035418
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование дизайн-файлов BIRT в IntelliJ
Жаль, что не могу удалить тупой список jar'ов, который запостил перед этим - зачем все это искать и собирать, maven на что? Все эти jar'ы полезны только тому, кто принципиально не желает работать с этой мощной вещью. Как и предполагал уважаемый Blazkowicz , org.eclipse.birt.runtime - первопричина всего. Всего-то навсего надо добавить в pom.xml для проекта в IntelliJ следующую зависимость (с учетом того, что org.eclipse.birt.runtime_<номер>.jar находится в репозитории по указанному адресу):

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
      <dependency>
          <groupId>org.eclipse.birt.runtime</groupId>
          <artifactId>org.eclipse.birt.runtime</artifactId>
          <version>4.3.0</version>
          <exclusions>
              <exclusion>
                  <artifactId>org.apache.poi</artifactId>
                  <groupId>org.eclipse.birt.runtime</groupId>
              </exclusion>
          </exclusions>
      </dependency>



И после можно спокойно использовать эти самые созданные в Eclipse c помощью BIRT rptdesign-файлы, генеря из них отчеты.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Использование дизайн-файлов BIRT в IntelliJ / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]