# Markdown-Resource Java Conversion

**URL:** <https://forum.inductiveautomation.com/t/markdown-resource-java-conversion/62437>\
**Category:** Module Development\
**Tags:** ignition81\
**Created:** [July 28, 2022, 11:26pm UTC](https://forum.inductiveautomation.com/t/markdown-resource-java-conversion/62437 "2022-07-28T23:26:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kgamble](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kgamble/32/8019_2.png) [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Post date:** [July 28, 2022, 11:26pm UTC](https://forum.inductiveautomation.com/t/markdown-resource-java-conversion/62437/1 "2022-07-28T23:26:58Z")

</div>

I am working on adding a project resource to a module in Java, and working backwards from the [Markdown resource project example](https://github.com/paul-griffith/markdown-resources)

I am struggling in my conversion of the resource itself from:

### Kotlin

```python
data class MarkdownResource(val note: String) {
    companion object {
        val RESOURCE_TYPE = ResourceType(MODULE_ID, TYPE_ID)
        const val DATA_KEY = "note.md"
    }
}

```

And currently I have

### Java

```python
public class MarkdownResource {
    public static ResourceType RESOURCE_TYPE = new ResourceType(Constants.MODULE_ID, Constants.TYPE_ID);
    public static String DATA_KEY = "note.md";
    public String note = "";

    public MarkdownResource(String note) {
        this.note = note;
    }
}

```

Is this a valid conversion? My workspace is failing to initialize, and the error is leading me to believe I have something wrong with that resource.

### Exception

```python
15:10:37.893 [Designer-Startup] ERROR designer.main - Error starting up module Process Config Manager
java.lang.IncompatibleClassChangeError: Expected static field com.bwdesigngroup.ignition.configmanager.common.MarkdownResource.RESOURCE_TYPE
	at com.bwdesigngroup.ignition.configmanager.designer.ConfigManagerWorkspace.<init>(ConfigManagerWorkspace.java:40)
	at com.bwdesigngroup.ignition.configmanager.designer.ProcessConfigManagerDesignerHook.startup(ProcessConfigManagerDesignerHook.java:26)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner$LoadedModule.startup(IgnitionDesigner.java:1951)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.startupModule(IgnitionDesigner.java:1185)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.lambda$loadProject$9(IgnitionDesigner.java:1005)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.loadProject(IgnitionDesigner.java:1004)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner$StartupProjectDialogHandler.lambda$new$2(IgnitionDesigner.java:2015)
	at java.base/java.lang.Thread.run(Unknown Source)

```

It says that the field should be static, but the field is static?

---

<div class="post-metadata">

**Author:** ![kgamble](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kgamble/32/8019_2.png) [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Post date:** [July 28, 2022, 11:44pm UTC](https://forum.inductiveautomation.com/t/markdown-resource-java-conversion/62437/2 "2022-07-28T23:44:43Z")

</div>

They weren’t constants! derp

```auto
public class MarkdownResource {
    public static final ResourceType RESOURCE_TYPE = new ResourceType(Constants.MODULE_ID, Constants.TYPE_ID);
    public static final String DATA_KEY = "note.md";
    public String note = "";

    public MarkdownResource(String note) {
        this.note = note;
    }
}

```
