Skip to content

Commit

Permalink
Merge pull request #2242 from chathuranga-jayanath-99/handle-new-reso…
Browse files Browse the repository at this point in the history
…urce-file-keys

Handle new resource file key values.
  • Loading branch information
arunans23 authored Dec 13, 2024
2 parents 4e16060 + eb46402 commit 7bb9162
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ public class SynapseConfigUtils {

private static final Log log = LogFactory.getLog(SynapseConfigUtils.class);

public static final String RESOURCES_IDENTIFIER = "resources:";
public static final String CONVERTED_RESOURCES_IDENTIFIER = "gov:mi-resources/";

private static ConcurrentHashMap<String, SynapseConfiguration> lastRegisteredSynapseConfigurationMap =
new ConcurrentHashMap<String, SynapseConfiguration>();
Expand Down Expand Up @@ -903,5 +905,13 @@ public static SynapseConfiguration getSynapseConfiguration(String tenantDomain){
public static void addSynapseConfiguration(String tenantDomain , SynapseConfiguration synapseConfiguration){
lastRegisteredSynapseConfigurationMap.put(tenantDomain,synapseConfiguration);
}

public static String transformFileKey(String fileKey) {

if (fileKey.startsWith(RESOURCES_IDENTIFIER)) {
return CONVERTED_RESOURCES_IDENTIFIER + fileKey.substring(RESOURCES_IDENTIFIER.length());
}
return fileKey;
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -1018,14 +1018,15 @@ public Object getEntry(String key) {
* @return its value
*/
public Entry getEntryDefinition(String key) {
String transformedKey = SynapseConfigUtils.transformFileKey(key);
Object o = localRegistry.get(key);
if (o == null || o instanceof Entry) {
if (o == null) {
// this is not a local definition
synchronized (this) {
o = localRegistry.get(key);
if (o == null) {
Entry entry = new Entry(key);
Entry entry = new Entry(transformedKey);
entry.setType(Entry.REMOTE_ENTRY);
addEntry(key, entry);
return entry;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

import junit.framework.TestCase;
import org.apache.synapse.endpoints.HTTPEndpoint;
import org.apache.synapse.registry.url.SimpleURLRegistry;
import org.apache.synapse.registry.url.SimpleURLRegistryTest;

public class SynapseConfigurationTest extends TestCase {

Expand Down Expand Up @@ -120,4 +122,12 @@ public void run() {
throw new RuntimeException(e);
}
}

public void testGetEntryDefinition() throws Exception {

String key = "resources:xslt/sample.xslt";
SynapseConfiguration config = new SynapseConfiguration();
Entry entry = config.getEntryDefinition(key);
assertEquals("Key of entry should be transformed.", "gov:mi-resources/xslt/sample.xslt", entry.getKey());
}
}

0 comments on commit 7bb9162

Please sign in to comment.