You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@streampipes.apache.org by Christofer Dutz <ch...@c-ware.de> on 2019/12/05 11:58:33 UTC
I18N Resources
Hi all,
today I cloned the new repos, updated SP to the latest released version and started work on the new EDE Enrichment Processor for BACnet/IP.
I have to admit that you dug a few little potholes for me to stumble into ;-) I’ll be submitting some PRs for things I found.
But one thing I noticed that should be changed globally, is not to create directories in the resources section with names containing “.”.
IntelliJ doesn’t show any differences between a normal package structure and a dotted directory:
src/main/resources/org.apache.plc4x.streampipes.processors/enrich/bacnetip/ede/strings.en
Guess why the LabelGenerator didn’t find my new and the moved resources.
Is there a reason for using “dotted directory names”?
Chris
Re: I18N Resources
Posted by Christofer Dutz <ch...@c-ware.de>.
Hi Dominik,
I found out what was going wrong and was able to fix it, however I wanted to suggest to change the way the path is calculated to using subdirectories as this causes confusion in IDEs (Not only IntelliJ)
For me there was no way to see the structure being different in the IDE and this will be something that confuses people. I am sure we'll be having lots of questions regarding this.
That was why I wanted to suggest to change this to "appId.replaceAll(".","/")" ... but it's just a suggestion.
Chris
Am 06.12.19, 19:55 schrieb "Dominik Riemer" <ri...@apache.org>:
Hi Chris,
yes, we use the appId (the identifier of the processing element) to manage assets such as icons and language files. The appId is the first parameter you provide in the ProcessingElementBuilder of the declareModel method (in your case, it's provided by the variable ID).
As this id is used internally to identify the pipeline element, it should use this dotted structure by convention (e.g., if you've started a pipeline element container, the description of the pipeline element will be available under this path).
So, for instance, if the ID of your processor is org.apache.plc4x.streampipes.processors.enrich.bacnetip.ede, then the assets that belong to this processor must be under a directory named org.apache.plc4x.streampipes.processors.enrich.bacnetip.ede (which is just a single directory) in your resources folder, otherwise they will not be found once you start the container.
Hope this helps!
Dominik
On 2019/12/05 11:58:33, Christofer Dutz <ch...@c-ware.de> wrote:
> Hi all,
>
> today I cloned the new repos, updated SP to the latest released version and started work on the new EDE Enrichment Processor for BACnet/IP.
> I have to admit that you dug a few little potholes for me to stumble into ;-) I’ll be submitting some PRs for things I found.
>
> But one thing I noticed that should be changed globally, is not to create directories in the resources section with names containing “.”.
> IntelliJ doesn’t show any differences between a normal package structure and a dotted directory:
> src/main/resources/org.apache.plc4x.streampipes.processors/enrich/bacnetip/ede/strings.en
>
> Guess why the LabelGenerator didn’t find my new and the moved resources.
>
> Is there a reason for using “dotted directory names”?
>
> Chris
>
>
>
Re: I18N Resources
Posted by Dominik Riemer <ri...@apache.org>.
Hi Chris,
yes, we use the appId (the identifier of the processing element) to manage assets such as icons and language files. The appId is the first parameter you provide in the ProcessingElementBuilder of the declareModel method (in your case, it's provided by the variable ID).
As this id is used internally to identify the pipeline element, it should use this dotted structure by convention (e.g., if you've started a pipeline element container, the description of the pipeline element will be available under this path).
So, for instance, if the ID of your processor is org.apache.plc4x.streampipes.processors.enrich.bacnetip.ede, then the assets that belong to this processor must be under a directory named org.apache.plc4x.streampipes.processors.enrich.bacnetip.ede (which is just a single directory) in your resources folder, otherwise they will not be found once you start the container.
Hope this helps!
Dominik
On 2019/12/05 11:58:33, Christofer Dutz <ch...@c-ware.de> wrote:
> Hi all,
>
> today I cloned the new repos, updated SP to the latest released version and started work on the new EDE Enrichment Processor for BACnet/IP.
> I have to admit that you dug a few little potholes for me to stumble into ;-) I’ll be submitting some PRs for things I found.
>
> But one thing I noticed that should be changed globally, is not to create directories in the resources section with names containing “.”.
> IntelliJ doesn’t show any differences between a normal package structure and a dotted directory:
> src/main/resources/org.apache.plc4x.streampipes.processors/enrich/bacnetip/ede/strings.en
>
> Guess why the LabelGenerator didn’t find my new and the moved resources.
>
> Is there a reason for using “dotted directory names”?
>
> Chris
>
>
>