Skip to content

Commit 985f370

Browse files
authored
Merge pull request #3069 from rosensilva/syanpse_libs_fix
Fix connector deployment issue in synapse-libs
2 parents 5d49f16 + 78a00e9 commit 985f370

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

components/org.wso2.micro.integrator.initializer/src/main/java/org/wso2/micro/integrator/initializer/utils/SynapseArtifactInitUtils.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,10 @@ public boolean accept(File dir, String name) {
111111
log.error("Error while extracting Connector zip : " + connectorZip.getAbsolutePath(), e);
112112
continue;
113113
}
114-
String packageName = retrievePackageName(connectorExtractedPath);
115-
116-
// Retrieve connector name
117-
String connectorName = connectorZip.getName().substring(0, connectorZip.getName().lastIndexOf('-'));
118-
QName qualifiedName = new QName(packageName, connectorName);
114+
QName qualifiedName = retrieveQualifiedConnectorName(connectorExtractedPath);
115+
if (qualifiedName == null) {
116+
continue;
117+
}
119118
File importFile = new File(importsDir, qualifiedName.toString() + ".xml");
120119

121120
if (!importFile.exists()) {
@@ -155,8 +154,7 @@ private static void generateImportConfig (QName qualifiedName, File targetImport
155154
}
156155

157156

158-
private static String retrievePackageName(String extractedPath) {
159-
String packageName = null;
157+
private static QName retrieveQualifiedConnectorName(String extractedPath) {
160158
File connectorXml = new File(extractedPath + CONNECTOR_XML);
161159
if (!connectorXml.exists()) {
162160
log.error("connector.xml file not found at : " + extractedPath);
@@ -165,8 +163,11 @@ private static String retrievePackageName(String extractedPath) {
165163
try (InputStream xmlInputStream = new FileInputStream(connectorXml)) {
166164
OMElement connectorDef = new StAXOMBuilder(xmlInputStream).getDocumentElement();
167165
OMAttribute packageAttr = connectorDef.getFirstElement().getAttribute(new QName("package"));
168-
if (packageAttr != null) {
169-
packageName = packageAttr.getAttributeValue();
166+
OMAttribute nameAttr = connectorDef.getFirstElement().getAttribute(new QName("name"));
167+
if (nameAttr != null && packageAttr != null) {
168+
String connectorName = nameAttr.getAttributeValue();
169+
String packageName = packageAttr.getAttributeValue();
170+
return new QName(packageName, connectorName);
170171
}
171172
} catch (XMLStreamException e) {
172173
log.error("Error while parsing the connector.xml file ", e);
@@ -175,7 +176,7 @@ private static String retrievePackageName(String extractedPath) {
175176
} catch (IOException e) {
176177
log.error("Error occurred while reading: " + connectorXml.getPath());
177178
}
178-
return packageName;
179+
return null;
179180
}
180181

181182

0 commit comments

Comments
 (0)