PSUtilities copy help - JZOOWildCardFilter class error

I copied PSUtilities package (all of its contents) to another package. During copying/saving process, get compiler error messages as below.

Error Msg:

D:\wM6QA\IntegrationServer\packages\Test\code\source\Test\PSUtilities_1\file.java:455: cannot resolve symbol

symbol : class JZOOWildCardFilter

location: class Test.PSUtilities_1.file

JZOOWildCardFilter filter = new JZOOWildCardFilter(filterString);


After this comapred files between PSUtilities and Copied folder, found JZOOWildCardFilter.java missing in copied folder. Manually copied this file and recompiled. But, still getting same error message. Checked compiling PSUtilities java service and it compiles without issues.

Any help how I can copy java services from PSUtilities.

Thanks,
Siva

HI Siva,

When you copy java service from other package only source code will be copied. In the 'Shared' tab 'Imports' have to be typed manually.

check with source service and then compile it.

Regards,
RDS

How did you solve this issue.

Yes, how did you end up resolving the issue?

I am trying to copy the PSUtilities.file:listFiles service out of PSUtilities and into a custom folder. It uses the JZOOWildCardFilter.class. I am copying the JZOOWildCardFilter.class file at the file level, and copying the code in Developer. The imports etc are exactly the same as the original.

It works fine if there is only 2 levels of folders.
EG: MyFolder1.file:listFiles

HOWEVER if i try and add a further sub folder, it cannot get it to work.
EG: MyFolder1.utilities.file:listFiles = no good.

Is there a limit to the amount of subfolders??

thanks

Northy

Northy,

There’s no limit. The thing is that if you move your listFiles, you also need to move JZOOWildCardFilter.class file (OR you need to import it in your service.)

Let’s take your example:

  • You created a service called MyFolder1.file:listFiles

  • In the background, the file code\classes\MyFolder1\file.class, which contains a listFiles method, was created

  • I’m assuming you then copied JZOOWildCardFilter.class to the same folder

  • Because the two classes are in the same folder, file.class doesn’t need to explicitly import JZOOWildCardFilter

  • Once you moved the service, this file got created: code\classes\MyFolder1\utilities\file.class

  • Now the two class files are in different folders so you should move JZOOWildCardFilter.class

  • Percio

Hi Percio,

Thanks for responding. I have got it working.
What you say below is correct. The only other change i had to make was to the actual JZOOWildCardFilter.class file.

I decompiled it, and at the top was PSUtilities as the package name (or whatever it is called - as you can tell i am no java expert). So i had to change that to: MyFolder1.utilities and then put the class file in: \code\classes\MyFolder1\utilities\

So in the end it was merely a java classpath issue (like the error was telling me) but being a java novice it took a bit of fiddling to get it working.

Thanks heaps though for your response. Always appreciated.

  • Northy

By the way, PSUtilities comes with the source, so you didn’t have to decompile the class. Look under code/source. Either way, glad to hear you got it to work.

  • Percio

Hi Percio,

Thanks for the tip. Indeed upon further investigation i found the source folder. Will keep that in mind for future use. At least i learnt how to decompile java class files as well!

You learn something new every day…:lol:

  • Northy

There is another way :

In your java service, shared tab source are, copy the class source code but dont forget to qualify it as private static

private static class JZOOWildCardFilter implements FilenameFilter
{
...