The home folder of the plug-in contains five Maven modules.

Folder Description
o11nplugin-redis The o11nplugin-redis folder contains the plug-in deliverables.
.dar archive
  • Contains the plug-in JAR files and the dependable JAR files.
  • Contains the plug-in icons.
  • Contains the .package archive that includes the workflows and actions.
.vmoapp file
  • Contains one or multiple DAR archives.
  • Contains the End-User License Agreement.
vso.xml descriptor file
  • Contains information about the plug-in.
  • Contains system information about the plug-in, such as name, scripting objects, inventory objects, name of the .package file.
Images folder Contains icons that you can associate inventory objects with.
o11nplugin-redis-core The o11nplugin-redis-core folder contains implementations that are related to the persistence, inventory objects and their mutual relations, scripting objects, caching, unit tests, and others. The o11nplugin-redis-core folder also includes the PluginAdaptor class, which is the entry point for the plug-in, and PluginFactory, which is a method of finding inventory objects but model-driven does not use this method.
plugin.xml file The plugin.xml file is a spring configuration file. This file defines a set of beans for the model-driven framework.
o11nplugin-redis-custom The o11nplugin-redis-custom folder is essential for the model-driven-based plug-ins because it stores all scripting objects and their finders.
CustomModule.java file

In the CustomModule.java file, you apply modifications to the vso.xml descriptor file.

public CustomModule() { 
    this.plugin = new Plugin(); 
    plugin.setApiPrefix("Redis"); 
    plugin.setIcon("default-32x32.png"); 
    plugin.setDescription("Redis"); 
    plugin.setDisplayName("Redis"); 
    plugin.setName("Redis"); 
    plugin.setPackages(Collections.singletonList("o11nplugin-example-package-${project.version}.package")); 
    plugin.setAdaptorClassName(com.vmware.o11n.plugin.redis.RedisPluginAdaptor.class); 
}  

In this file, you define the name and the prefix of the plug-in, and the content of the .package file. Here you also define the PluginAdaptor class that points the plug-in entry point to the platform.

CustomMapping.java file This is the Java class that contains all scripting objects, singleton objects, and finders of the plug-in. In the CustomMapping.java file you bind all dynamic parts of the plug-in.
o11nplugin-redis-gen The o11nplugin-redis-gen folder stores all the generated code. You do not use this module for building the Redis integration plug-in. The pom.xml file in this folder contains a custom Maven plug-in.
o11nplugin-redis-package The o11nplugin-redis-package folder includes the text representation of the plug-in, such as workflows, actions, resource elements, configurations but without their corresponding binary files.
HelloWorld.xml file The HelloWorld.xml file is a sample workflow text representation file.