Skip to content

Commit 6150063

Browse files
authored
Merge pull request #258 from oracle/blacklist-regex-matching
Blacklist regex matching
2 parents 9376655 + f36ab86 commit 6150063

File tree

5 files changed

+184
-157
lines changed

5 files changed

+184
-157
lines changed

core/src/main/java/oracle/weblogic/deploy/json/AbstractJsonTranslator.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void enterJson(JSONParser.JsonContext ctx) {
7171
*/
7272
@Override
7373
public void enterPair(JSONParser.PairContext ctx) {
74-
String name = unquoteEmbeddedQuotes(StringUtils.stripQuotes(ctx.STRING().getText()));
74+
String name = resolveEscapeSequences(StringUtils.stripQuotes(ctx.STRING().getText()));
7575
currentPairName.push(name);
7676
}
7777

@@ -169,7 +169,7 @@ public void exitJsonArray(JSONParser.JsonArrayContext ctx) {
169169
*/
170170
@Override
171171
public void enterJsonString(JSONParser.JsonStringContext ctx) {
172-
String cleanString = unquoteEmbeddedQuotes(StringUtils.stripQuotes(ctx.STRING().getText()));
172+
String cleanString = resolveEscapeSequences(StringUtils.stripQuotes(ctx.STRING().getText()));
173173
currentScalarValue = new PyString(cleanString);
174174
currentValueType.push(ValueType.SCALAR);
175175
}
@@ -347,10 +347,17 @@ private void addToArrayIfNeeded() {
347347
}
348348
}
349349

350-
private static String unquoteEmbeddedQuotes(String text) {
350+
private static String resolveEscapeSequences(String text) {
351351
String result = text;
352352
if (!StringUtils.isEmpty(text)) {
353-
result = text.replace("\\\"", "\"");
353+
result = text.replace("\\\"", "\""); // \" -> "
354+
result = result.replace("\\\\", "\\"); // \\ -> \
355+
result = result.replace("\\b", "\b"); // \b -> backspace
356+
result = result.replace("\\f", "\f"); // \f -> form feed
357+
result = result.replace("\\n", "\n"); // \n -> new line
358+
result = result.replace("\\r", "\r"); // \r -> carriage return
359+
result = result.replace("\\t", "\t"); // \t -> tab
360+
result = result.replace("\\/", "/"); // \/ -> /
354361
}
355362
return result;
356363
}

core/src/main/python/wlsdeploy/tool/create/domain_typedef.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
The Universal Permissive License (UPL), Version 1.0
44
"""
55
import javaos as os
6+
import re
67

78
from java.lang import IllegalArgumentException
89

@@ -230,12 +231,10 @@ def _is_system_name(self, name, key):
230231
if key in self._system_elements:
231232
system_names = self._system_elements[key]
232233
for system_name in system_names:
233-
if system_name.endswith(self.__wild_card_suffix):
234-
prefix = system_name[0:0 - self.__wild_card_suffix_len]
235-
if name.startswith(prefix):
236-
return True
237-
elif system_name == name:
234+
matched = re.match(system_name, name)
235+
if matched is not None:
238236
return True
237+
239238
return False
240239

241240
def __resolve_paths(self):

core/src/main/typedefs/JRF.json

Lines changed: 83 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -78,106 +78,107 @@
7878
},
7979
"system-elements": {
8080
"apps": [
81-
"coherence-transaction-rar",
82-
"DMS Application%%",
83-
"em",
84-
"FMW Welcome Page Application%%",
85-
"opss-rest",
86-
"state-management-provider-memory-rar",
87-
"wsil-wls",
88-
"wsm-pm"
81+
"^coherence-transaction-rar$",
82+
"^DMS Application.*",
83+
"^em$",
84+
"^FMW Welcome Page Application.*",
85+
"^opss-rest$",
86+
"^state-management-provider-memory-rar.*",
87+
"^wsil-wls.*",
88+
"^wsm-pm$"
8989
],
9090
"coherence-clusters": [
91-
"defaultCoherenceCluster"
91+
"^defaultCoherenceCluster$"
9292
],
9393
"datasources": [
94-
"LocalSvcTblDataSource",
95-
"mds-owsm",
96-
"opss-audit-DBDS",
97-
"opss-audit-viewDS",
98-
"opss-data-source",
99-
"opss-ds",
100-
"WLSSchemaDataSource"
94+
".*LocalSvcTblDataSource$",
95+
".*mds-owsm$",
96+
".*opss-audit-DBDS$",
97+
".*opss-audit-viewDS$",
98+
".*opss-data-source$",
99+
".*opss-ds$",
100+
".*WLSSchemaDataSource$"
101101
],
102102
"file-stores": [
103-
"JRFWSAsyncFileStore",
104-
"mds-owsm"
103+
"^JRFWSAsyncFileStore$",
104+
"^mds-owsm$"
105105
],
106106
"jms": [
107-
"JRFWSAsyncJmsModule"
107+
"^JRFWSAsyncJmsModule$"
108108
],
109109
"jms-servers": [
110-
"JRFWSAsyncJmsServer"
110+
"^JRFWSAsyncJmsServer$"
111111
],
112112
"shared-libraries": [
113-
"adf.oracle.businesseditor%%",
114-
"adf.oracle.domain%%",
115-
"adf.oracle.domain.webapp%%",
116-
"em_common%%",
117-
"em_core_ppc_pojo_jar",
118-
"em_error%%",
119-
"em_sdkcore_ppc_public_pojo_jar",
120-
"emagentsdk_jar%%",
121-
"emagentsdkimpl_jar%%",
122-
"emagentsdkimplpriv_jar%%",
123-
"emas",
124-
"emcore",
125-
"emcore_jar",
126-
"emcoreclient_jar",
127-
"emcorecommon_jar",
128-
"emcoreconsole_jar",
129-
"emcoreintsdk_jar%%",
130-
"emcorepbs_jar",
131-
"emcoresdk_jar%%",
132-
"emcoresdkimpl_jar%%",
133-
"jsf%%",
134-
"jstl%%",
135-
"log4j_jar%%",
136-
"odl.clickhistory%%",
137-
"odl.clickhistory.webapp%%",
138-
"ohw-rcf%%",
139-
"ohw-uix%%",
140-
"oracle.adf.dconfigbeans%%",
141-
"oracle.adf.desktopintegration%%",
142-
"oracle.adf.desktopintegration.model%%",
143-
"oracle.adf.management%%",
144-
"oracle.bi.adf.model.slib%%",
145-
"oracle.bi.adf.view.slib%%",
146-
"oracle.bi.adf.webcenter.slib%%",
147-
"oracle.bi.composer%%",
148-
"oracle.bi.jbips%%",
149-
"oracle.dconfig-infra%%",
150-
"oracle.jrf.system.filter",
151-
"oracle.jsp.next%%",
152-
"oracle.pwdgen%%",
153-
"oracle.sdp.client%%",
154-
"oracle.sdp.messaging%%",
155-
"oracle.webcenter.composer%%",
156-
"oracle.webcenter.skin%%",
157-
"oracle.wsm.console%%",
158-
"oracle.wsm.idmrest%%",
159-
"oracle.wsm.seedpolicies%%",
160-
"orai18n-adf%%",
161-
"owasp.esapi%%",
162-
"UIX%%"
113+
"^adf\\.oracle\\.businesseditor.*",
114+
"^adf\\.oracle\\.domain.*",
115+
"^adf\\.oracle\\.domain\\.webapp.*",
116+
"^em_common.*",
117+
"^em_core_ppc_pojo_jar$",
118+
"^em_error.*",
119+
"^em_sdkcore_ppc_public_pojo_jar$",
120+
"^emagentsdk_jar.*",
121+
"^emagentsdkimpl_jar.*",
122+
"^emagentsdkimplpriv_jar.*",
123+
"^emas$",
124+
"^emcore$",
125+
"^emcore_jar$",
126+
"^emcoreclient_jar$",
127+
"^emcorecommon_jar$",
128+
"^emcoreconsole_jar$",
129+
"^emcoreintsdk_jar.*",
130+
"^emcorepbs_jar$",
131+
"^emcoresdk_jar.*",
132+
"^emcoresdkimpl_jar.*",
133+
"^jsf.*",
134+
"^jstl.*",
135+
"^log4j_jar.*",
136+
"^odl\\.clickhistory.*",
137+
"^odl\\.clickhistory\\.webapp.*",
138+
"^ohw-rcf.*",
139+
"^ohw-uix.*",
140+
"^oracle\\.adf\\.dconfigbeans.*",
141+
"^oracle\\.adf\\.desktopintegration.*",
142+
"^oracle\\.adf\\.desktopintegration\\.model.*",
143+
"^oracle\\.adf\\.management.*",
144+
"^oracle\\.bi\\.adf\\.model\\.slib.*",
145+
"^oracle\\.bi\\.adf\\.view\\.slib.*",
146+
"^oracle\\.bi\\.adf\\.webcenter\\.slib.*",
147+
"^oracle\\.bi\\.composer.*",
148+
"^oracle\\.bi\\.jbips.*",
149+
"^oracle\\.dconfig-infra.*",
150+
"^oracle\\.jrf\\.system\\.filter$",
151+
"^oracle\\.jsp\\.next.*",
152+
"^oracle\\.pwdgen.*",
153+
"^oracle\\.sdp\\.client.*",
154+
"^oracle\\.sdp\\.messaging.*",
155+
"^oracle\\.webcenter\\.composer.*",
156+
"^oracle\\.webcenter\\.skin.*",
157+
"^oracle\\.wsm\\.console.*",
158+
"^oracle\\.wsm\\.idmrest.*",
159+
"^oracle\\.wsm\\.seedpolicies.*",
160+
"^orai18n-adf.*",
161+
"^owasp\\.esapi.*",
162+
"^UIX.*"
163163
],
164164
"shutdown-classes": [
165-
"DMSShutdown",
166-
"JOC-Shutdown"
165+
"^DMSShutdown$",
166+
"^JOC-Shutdown$"
167167
],
168168
"startup-classes": [
169-
"JMX Framework Startup Class",
170-
"JOC-Startup",
171-
"JPS Startup Class",
172-
"WSM Startup Class",
173-
"Web Services Startup Class",
174-
"JRF Startup Class",
175-
"ODL-Startup",
176-
"DMS-Startup",
177-
"AWT Application Context Startup Class"
169+
"^JMX Framework Startup Class$",
170+
"^JOC-Startup$",
171+
"^JPS Startup Class$",
172+
"^JPS Startup Post-Activation Class$",
173+
"^WSM Startup Class$",
174+
"^Web Services Startup Class$",
175+
"^JRF Startup Class$",
176+
"^ODL-Startup$",
177+
"^DMS-Startup$",
178+
"^AWT Application Context Startup Class$"
178179
],
179180
"wldf": [
180-
"Module-FMWDFW"
181+
"^Module-FMWDFW$"
181182
]
182183
}
183184
}

0 commit comments

Comments
 (0)