ユーザーにJavascriptを使用して条件を記述させたとすると、ユーザーは条件を記述してテストを実行し、trueまたはfalseを返すことができます。例えば:
INS>5 || ASTO.valueBetween(10,210)
ユーザーが作成したスクリプトで使用されている変数を見つけたい。Javaで識別子名を取得する方法を見つけようとしました。Rhinoライブラリはあまり役に立ちませんでした。ただし、例外を処理することで、すべての識別子を取得できることがわかりました。したがって、この問題は解決されます。
ですから、すべてが素晴らしいのですが、小さな問題が1つあります。これらの識別子を数値識別子に置き換えるにはどうすればよいですか?たとえば、INS
あるべきであり_234
、ASTO
あるべきです_331
。
INS
などASTO
は私のデータベースのエンティティです。名前が変わる可能性があるので交換したいです。置換を使用してそれを行うことはできますが、これは簡単ではありません。
- It should be reversible. E.g.
ASTO
to_234
and_234
toASTO
again. - Replacing
_23
withMPLAH
may also replace_234
. This could be fixed with regexp somehow. - What if
_23
is in a comment section? Rare to happen, but possible/* _23 fdsafd ktl */
. It should also be replaced. - What if it is a name of a function? E.g.
_32() {}
. Also rare, but it shouldn't be replaced. - What if it is enclosed in
""
or''
?
I am sure that there are a lot more cases. Any ideas?