Folks,

Synapse has a requirement to have a directory called conf/synapse-config in
the repository and have its own space for sequences, endpoints, proxy
services so forth inside that.. So the expected deployer config within the
axis2.xml is as follows;

<deployer extension="xml" directory="conf/synapse-config/sequences"
class="org.apache.synapse.deployers.SequenceDeployer"/>

but because of the following code fragment it takes only the last director
specified in the directory declaration of the deployer. Is there any reason
for us to restrict the deployer to only one level, even in that case we
should be treating the directory as the top level direcotry so that the path
is correct, but here we are calculating a directory path which is not
existing. With the above case it computes the directory as
$AXIS2_REPOSITORY/sequences which is completely wrong :-(

org.apache.axis2.deployment.RepositoryListener [267, 280]

//This will load the files from the directories
    // specified by axis2.xml (As <deployer>)
    private void loadOtherDirectories() {
        for (Map.Entry<String, Map<String, Deployer>> entry :
deploymentEngine.getDeployers().entrySet()) {
            String directory = entry.getKey();
            Map<String, Deployer> extensionMap = entry.getValue();
            for (String extension : extensionMap.keySet()) {
                String[] strings = directory.split("/");
                File dirToSearch = new
File(deploymentEngine.getRepositoryDir(),
                        strings[strings.length - 1]);
                findFileForGivenDirectory(dirToSearch, extension,
directory);
            }
        }
    }

Can we get rid of the splitting and let the user declare inner directories
for the artifacts to be deployed??

Thanks,
Ruwan

-- 
Ruwan Linton
Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: ru...@wso2.com; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com

Reply via email to