1

xhtml のコードは次のとおりです。

    <h:form enctype="multipart/form-data" id="importForm">
        <table cellpadding="0" cellspacing="0" border="0">
            <tr>
                <td>
                    <t:inputFileUpload id="upFile"
                        title="#{messages['global.label.import.browse']}"
                        value="#{attachmentAction.upFile}" storage="file"
                        maxlength="1000000">
                    </t:inputFileUpload>
                </td>
            </tr>
            <tr>
                <td>
                    <h:commandButton action="#{attachmentAction.upload}" value="#{messages['button.upload']}" 
                        styleClass="btnCla" onclick="return checkSelectFile();" type="submit">
                    </h:commandButton>
                </td>
            </tr>
        </table>
    </h:form>

Action メソッドのコードは以下のとおりです。クライアントからExcelを取得したいだけです。

public void upload(){
    try {
        jxl.Workbook wb = Workbook.getWorkbook(upFile.getInputStream());// Here , I always got Null for the value of upFile! Why?
        wb.getSheet(0);
    } catch (Exception e) {

    }
}

upFile の値は常に Null です。なんで?


Cassandra Hector : 指定された行キーとセカンダリ インデックスの IndexedSliceQuery

ヘクター: hector-core-1.0-5 Cassandra-1.1.2

次のように、Hector でクエリをモデル化する必要があります。

select * from table1 where rowkey='x' and secondary_indexed_column='y'

setStartKey を rowKey 'x' に設定して IndexedSliceQuery を使用すると、secondary_indexed_column='y' を含むすべての行が取得されます。addEqualsExpression("row_key",'x') に row_key フィールドを追加すると、次の例外が発生します。

org.apache.thrift.protocol.TProtocolException: Required field 'value' was not present! Struct: IndexExpression(column_name:64 65 76 69 63 65 5F 69 64, op:EQ, value:null)
    at org.apache.cassandra.thrift.IndexExpression.validate(IndexExpression.java:562)
    at org.apache.cassandra.thrift.IndexExpression.write(IndexExpression.java:499)
    at org.apache.cassandra.thrift.IndexClause.write(IndexClause.java:521)
    at org.apache.cassandra.thrift.Cassandra$get_indexed_slices_args.write(Cassandra.java:13469)
    at org.apache.cassandra.thrift.Cassandra$Client.send_get_indexed_slices(Cassandra.java:793)
    at org.apache.cassandra.thrift.Cassandra$Client.get_indexed_slices(Cassandra.java:781)
    at me.prettyprint.cassandra.service.KeyspaceServiceImpl$19.execute(KeyspaceServiceImpl.java:732)

では、indexedSliceQuery が特定の行キーに対してのみ結果を返すように制限するにはどうすればよいでしょうか?

4

0 に答える 0