-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'snapshot' of git@github.com:geckoprojects-org/org.gecko…
….emf.utils.git into snapshot
- Loading branch information
Showing
51 changed files
with
1,911 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"> | ||
<attributes> | ||
<attribute name="module" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="con" path="aQute.bnd.classpath.container"/> | ||
<classpathentry kind="src" output="bin" path="src"/> | ||
<classpathentry kind="output" path="bin"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
/bin/ | ||
/bin_test/ | ||
/generated/ | ||
/src/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>org.gecko.emf.converter.model</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>bndtools.core.bndbuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
<nature>bndtools.core.bndnature</nature> | ||
</natures> | ||
</projectDescription> |
8 changes: 8 additions & 0 deletions
8
org.gecko.emf.converter.model/.settings/org.eclipse.core.resources.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
eclipse.preferences.version=1 | ||
encoding//.settings/org.eclipse.core.resources.prefs=UTF-8 | ||
encoding//.settings/org.eclipse.jdt.core.prefs=UTF-8 | ||
encoding//.settings/org.eclipse.jdt.ui.prefs=UTF-8 | ||
encoding//model/converter.ecore=UTF-8 | ||
encoding//model/converter.genmodel=UTF-8 | ||
encoding/<project>=UTF-8 | ||
encoding/bnd.bnd=UTF-8 |
15 changes: 15 additions & 0 deletions
15
org.gecko.emf.converter.model/.settings/org.eclipse.jdt.core.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate | ||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 | ||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
org.eclipse.jdt.core.compiler.compliance=11 | ||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled | ||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning | ||
org.eclipse.jdt.core.compiler.release=disabled | ||
org.eclipse.jdt.core.compiler.source=11 |
8 changes: 8 additions & 0 deletions
8
org.gecko.emf.converter.model/.settings/org.eclipse.jdt.ui.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
content_assist_proposals_background=255,255,255 | ||
content_assist_proposals_foreground=0,0,0 | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.ui.formatterprofiles.version=13 | ||
org.eclipse.jdt.ui.javadoc=true | ||
spelling_locale_initialized=true | ||
useAnnotationsPrefPage=true | ||
useQuickDiffPrefPage=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# sets the usually required buildpath using the bnd library, you can extend it with the normal -buildpath to your liking | ||
-library: enable-emf | ||
|
||
# The code generation takes a bit of time and makes the build a bit slower. | ||
# It might be a good idea to put comments around it, when you don't need it | ||
|
||
-generate:\ | ||
model/converter.genmodel;\ | ||
generate=geckoEMF;\ | ||
genmodel=model/converter.genmodel;\ | ||
output=src;\ | ||
logfile=converter-genmodel.log;\ | ||
|
||
# If this is not done with a instruction namespace, bnd would think you like | ||
# to take full control over whats exported and imported and will ignore @Export | ||
# Bundle Annotations | ||
-includeresource.model: model=model | ||
|
||
Bundle-Version: 1.0.0.SNAPSHOT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="http://gecko.io/converter/1.0" nsPrefix="converter"> | ||
<eAnnotations source="Version"> | ||
<details key="value" value="1.0.0"/> | ||
</eAnnotations> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EShortArray" instanceClassName="short[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EIntArray" instanceClassName="int[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="ELongArray" instanceClassName="long[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EFloatArray" instanceClassName="float[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EDoubleArray" instanceClassName="double[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EBooleanArray" instanceClassName="boolean[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="ECharArray" instanceClassName="char[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EByteObjectArray" instanceClassName="java.lang.Byte[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EShortObjectArray" instanceClassName="java.lang.Short[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EIntegerObjectArray" instanceClassName="java.lang.Integer[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="ELongObjectArray" instanceClassName="java.lang.Long[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EFloatObjectArray" instanceClassName="java.lang.Float[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EDoubleObjectArray" instanceClassName="java.lang.Double[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EBooleanObjectArray" instanceClassName="java.lang.Boolean[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="ECharacterObjectArray" instanceClassName="java.lang.Character[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EStringArray" instanceClassName="java.lang.String[]"/> | ||
<eClassifiers xsi:type="ecore:EDataType" name="EOSGiFrameworkVersion" instanceClassName="org.osgi.framework.Version"/> | ||
</ecore:EPackage> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" | ||
modelDirectory="/org.gecko.emf.converter.model/src" modelPluginID="org.gecko.emf.converter.model" | ||
modelName="converter.ecore" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" | ||
importerID="org.eclipse.emf.importer.ecore" complianceLevel="11.0" suppressGenModelAnnotations="false" | ||
copyrightFields="false" operationReflection="true" importOrganizing="true" oSGiCompatible="true"> | ||
<foreignModel>converter.ecore</foreignModel> | ||
<genPackages prefix="Converter" basePackage="org.gecko.emf.converter" disposableProviderFactory="true" | ||
ecorePackage="converter.ecore#/"> | ||
<genDataTypes ecoreDataType="converter.ecore#//EShortArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EIntArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//ELongArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EFloatArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EDoubleArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EBooleanArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//ECharArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EByteObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EShortObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EIntegerObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//ELongObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EFloatObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EDoubleObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EBooleanObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//ECharacterObjectArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EStringArray"/> | ||
<genDataTypes ecoreDataType="converter.ecore#//EOSGiFrameworkVersion"/> | ||
</genPackages> | ||
</genmodel:GenModel> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"> | ||
<attributes> | ||
<attribute name="module" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="con" path="aQute.bnd.classpath.container"/> | ||
<classpathentry kind="src" output="bin" path="src"/> | ||
<classpathentry kind="output" path="bin"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/bin/ | ||
/bin_test/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>org.gecko.emf.csv.tests</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>bndtools.core.bndbuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
<nature>bndtools.core.bndnature</nature> | ||
</natures> | ||
</projectDescription> |
4 changes: 4 additions & 0 deletions
4
org.gecko.emf.converter.tests/.settings/org.eclipse.core.resources.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
eclipse.preferences.version=1 | ||
encoding/<project>=UTF-8 | ||
encoding/bnd.bnd=UTF-8 | ||
encoding/test.bndrun=UTF-8 |
14 changes: 14 additions & 0 deletions
14
org.gecko.emf.converter.tests/.settings/org.eclipse.jdt.core.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 | ||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
org.eclipse.jdt.core.compiler.compliance=11 | ||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled | ||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning | ||
org.eclipse.jdt.core.compiler.release=enabled | ||
org.eclipse.jdt.core.compiler.source=11 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
-library: enable-emf,\ | ||
enableOSGi-Test | ||
|
||
javac.source: 11 | ||
javac.target: 11 | ||
|
||
Bundle-Version: 1.0.0.SNAPSHOT | ||
|
||
-buildpath: \ | ||
org.gecko.emf.converter;version=snapshot,\ | ||
org.osgi.dto,\ | ||
org.osgi.util.converter;version=latest,\ | ||
org.osgi.util.function;version=latest | ||
|
||
-dependson: org.gecko.emf.converter |
136 changes: 136 additions & 0 deletions
136
...ecko.emf.converter.tests/src/org/gecko/emf/converter/tests/DTOToEObjectConverterTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
/** | ||
* Copyright (c) 2012 - 2022 Data In Motion and others. | ||
* All rights reserved. | ||
* | ||
* This program and the accompanying materials are made available under the terms of the | ||
* Eclipse Public License v2.0 which accompanies this distribution, and is available at | ||
* http://www.eclipse.org/legal/epl-v20.html | ||
* | ||
* Contributors: | ||
* Data In Motion - initial API and implementation | ||
*/ | ||
package org.gecko.emf.converter.tests; | ||
|
||
import static org.junit.jupiter.api.Assertions.assertNotNull; | ||
|
||
import org.eclipse.emf.ecore.EObject; | ||
import org.eclipse.emf.ecore.EPackage; | ||
import org.gecko.emf.converter.DTOToEObjectConverters; | ||
import org.gecko.emf.converter.DTOToEPackageConverter; | ||
import org.gecko.emf.converter.tests.helper.DTOToEMFConverterTestHelper.ConverterTestBasicDTO; | ||
import org.junit.jupiter.api.Test; | ||
import org.junit.jupiter.api.extension.ExtendWith; | ||
import org.junit.platform.commons.annotation.Testable; | ||
import org.osgi.test.junit5.context.BundleContextExtension; | ||
import org.osgi.test.junit5.service.ServiceExtension; | ||
import org.osgi.util.converter.Converter; | ||
import org.osgi.util.converter.ConverterBuilder; | ||
import org.osgi.util.function.Function; | ||
|
||
/** | ||
* Integration test for {@link org.gecko.emf.converter.DTOToEObjectConverters} | ||
* | ||
* @author Michal H. Siemaszko | ||
*/ | ||
@Testable | ||
@ExtendWith(BundleContextExtension.class) | ||
@ExtendWith(ServiceExtension.class) | ||
public class DTOToEObjectConverterTest { | ||
private static final String PACKAGE_NAME = "org.gecko.emf.converter"; | ||
private static final String NS_URI = "http://gecko.org/test/model/converter/1.0"; | ||
private static final String NS_PREFIX = "tests"; | ||
|
||
@Test | ||
public void testDTO2EObjectConverterWithBuiltInTypeRule() { | ||
|
||
ConverterTestBasicDTO dto = new ConverterTestBasicDTO(); | ||
dto.longPrimitiveField = Long.MIN_VALUE; | ||
dto.booleanPrimitiveField = true; | ||
dto.stringField = "hello"; | ||
|
||
EPackage dynamicEPackageFromDTOs = DTOToEPackageConverter.convert(PACKAGE_NAME, NS_URI, NS_PREFIX, | ||
dto.getClass()); | ||
assertNotNull(dynamicEPackageFromDTOs); | ||
|
||
EPackage.Registry.INSTANCE.put(dynamicEPackageFromDTOs.getNsURI(), dynamicEPackageFromDTOs); | ||
|
||
Converter dto2EObjectConverter = DTOToEObjectConverters.customConverter(dynamicEPackageFromDTOs); | ||
|
||
EObject mySimpleEObject = dto2EObjectConverter.convert(dto).to(EObject.class); | ||
assertNotNull(mySimpleEObject); | ||
} | ||
|
||
@Test | ||
public void testDTO2EObjectConverterBuilderWithBuiltInTypeRule() { | ||
|
||
ConverterTestBasicDTO dto = new ConverterTestBasicDTO(); | ||
dto.longPrimitiveField = Long.MIN_VALUE; | ||
dto.booleanPrimitiveField = true; | ||
dto.stringField = "hello"; | ||
|
||
EPackage dynamicEPackageFromDTOs = DTOToEPackageConverter.convert(PACKAGE_NAME, NS_URI, NS_PREFIX, | ||
dto.getClass()); | ||
assertNotNull(dynamicEPackageFromDTOs); | ||
|
||
EPackage.Registry.INSTANCE.put(dynamicEPackageFromDTOs.getNsURI(), dynamicEPackageFromDTOs); | ||
|
||
ConverterBuilder dto2EObjectConverterBuilder = DTOToEObjectConverters | ||
.newCustomConverterBuilder(dynamicEPackageFromDTOs); | ||
|
||
// .. add some more custom rules as needed | ||
|
||
Converter dto2EObjectConverter = dto2EObjectConverterBuilder.build(); | ||
|
||
EObject mySimpleEObject = dto2EObjectConverter.convert(dto).to(EObject.class); | ||
assertNotNull(mySimpleEObject); | ||
} | ||
|
||
@Test | ||
public void testDTO2EObjectConverterWithBuiltInFunction() throws Exception { | ||
|
||
ConverterTestBasicDTO dto = new ConverterTestBasicDTO(); | ||
dto.longPrimitiveField = Long.MIN_VALUE; | ||
dto.booleanPrimitiveField = true; | ||
dto.stringField = "hello"; | ||
|
||
EPackage dynamicEPackageFromDTOs = DTOToEPackageConverter.convert(PACKAGE_NAME, NS_URI, NS_PREFIX, | ||
dto.getClass()); | ||
assertNotNull(dynamicEPackageFromDTOs); | ||
|
||
EPackage.Registry.INSTANCE.put(dynamicEPackageFromDTOs.getNsURI(), dynamicEPackageFromDTOs); | ||
|
||
Converter dto2EObjectConverter = DTOToEObjectConverters.customConverter(dynamicEPackageFromDTOs); | ||
|
||
Function<Object, EObject> cf = dto2EObjectConverter.function().to(EObject.class); | ||
|
||
EObject mySimpleEObject = cf.apply(dto); | ||
assertNotNull(mySimpleEObject); | ||
} | ||
|
||
@Test | ||
public void testDTO2EObjectConverterBuilderWithBuiltInFunction() throws Exception { | ||
|
||
ConverterTestBasicDTO dto = new ConverterTestBasicDTO(); | ||
dto.longPrimitiveField = Long.MIN_VALUE; | ||
dto.booleanPrimitiveField = true; | ||
dto.stringField = "hello"; | ||
|
||
EPackage dynamicEPackageFromDTOs = DTOToEPackageConverter.convert(PACKAGE_NAME, NS_URI, NS_PREFIX, | ||
dto.getClass()); | ||
assertNotNull(dynamicEPackageFromDTOs); | ||
|
||
EPackage.Registry.INSTANCE.put(dynamicEPackageFromDTOs.getNsURI(), dynamicEPackageFromDTOs); | ||
|
||
ConverterBuilder dto2EObjectConverterBuilder = DTOToEObjectConverters | ||
.newCustomConverterBuilder(dynamicEPackageFromDTOs); | ||
|
||
// .. add some more custom rules as needed | ||
|
||
Converter dto2EObjectConverter = dto2EObjectConverterBuilder.build(); | ||
|
||
Function<Object, EObject> cf = dto2EObjectConverter.function().to(EObject.class); | ||
|
||
EObject mySimpleEObject = cf.apply(dto); | ||
assertNotNull(mySimpleEObject); | ||
} | ||
} |
Oops, something went wrong.