0

BMC アクション リクエスト システム サーバー用のミニ プラグインを作成しようとしています。

filterAPICall
public abstract List<com.bmc.arsys.api.Value> filterAPICall(ARPluginContext context,
                                                        List<com.bmc.arsys.api.Value> pInValues)
                                                 throws com.bmc.arsys.api.ARExceptionDescription copied from interface: ARFilterAPIPluggable

入力値のセットを指定して処理し、出力値のリストを返します。プラグイン コンテキストとインスタンス データも提供されます。

Specified by:
filterAPICall in interface ARFilterAPIPluggable

Parameters:
context - Current context for this plugin call, like username etc.
pInValues - input values 

Returns:
output values 

Throws: 
com.bmc.arsys.api.ARException

com.bmc.arsys.api.Value の説明はこちら: http://www.javasystemsolutions.com/documentation/thirdparty/arapiv75/com/bmc/arsys/api/Value.html

今、ここに私の電話があります:

    public List<Value> filterAPICall(ARPluginContext context, List<Value> pInValues) throws ARException{
        context.logMessage(pluginInfo, ARPluginContext.PLUGIN_LOG_LEVEL_INFO, "filterapiCall()");

        if (pInValues.size() == 0)
            return null;

        ArrayList<Value> outValues = new ArrayList<Value>();

        outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues)))));

        return outValues;
    }

何らかの理由で

    outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues)))));

動かない。

私も試しました:

    outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues.getValue())))));

しかし、コンパイラは言う:

javac IPChecker.java
IPChecker.java:30: cannot find symbol
symbol  : method getValue()
location: interface java.util.List<com.bmc.arsys.api.Value>
        outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues.getValue())))));
                                                                                                      ^
1 error

何か案は?

ありがとうトーマス

4

3 に答える 3

2

繰り返しているはずです。

if (pInValues.size() == 0)
    return null;

ArrayList<Value> outValues = new ArrayList<Value>();

for(Value value : pInValues) {
    outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(value)))));
}

return outValues;
于 2012-06-08T12:58:02.883 に答える
1

pInValuesですjava.util.ListLists にはメソッドがありませんgetValue()

于 2012-06-08T12:58:27.843 に答える
0

の要素にアクセスしListて呼び出すことができるようにする必要がありますgetValue()。試す:

outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(
    String.valueOf(pInValues.get(0).getValue())))));

これにより、最初の要素が変換され、出力リストに追加されます。すべての要素を取得するには、の要素を反復処理してpInValues1つずつ変換し、各結果を出力リストに追加する必要があります。

于 2012-06-08T12:59:51.117 に答える