Esper EPL在线日期格式

时间:2016-10-07 10:09:48

标签: esper

我试图使用Esper EPL Online console并且我不知道如何在时间和事件序列中使用日期。例如,我有一个像这样定义的模式:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    int type = getItemViewType(position);
    final ItemDto dto = listStoreItemDto.get(position);
    if (convertView == null) {
        holder = new ViewHolder();
        switch (type) {
            case TYPE_IMAGE:
                convertView = mInflater.inflate(R.layout.listview_video, null);
                holder.vidImgAdapter = (ImageView)convertView.findViewById(R.id.vidImgAdapter);
                holder.vidImgPlayAdapter = (ImageView)convertView.findViewById(R.id.vidImgPlayAdapter);
                holder.vidNameAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.vidNameAdapter);
                holder.vidDetailAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.vidDetailAdapter);
                holder.linearAdpVideo = (LinearLayout)convertView.findViewById(R.id.linearAdpVideo);
                holder.tbAdpVideo = (ToggleButton)convertView.findViewById(R.id.tbAdpVideo);
                break;
            case TYPE_VIDEO:
                convertView = mInflater.inflate(R.layout.listview_video, null);
                holder.vidImgAdapter = (ImageView)convertView.findViewById(R.id.vidImgAdapter);
                holder.vidImgPlayAdapter = (ImageView)convertView.findViewById(R.id.vidImgPlayAdapter);
                holder.vidNameAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.vidNameAdapter);
                holder.vidDetailAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.vidDetailAdapter);
                holder.linearAdpVideo = (LinearLayout)convertView.findViewById(R.id.linearAdpVideo);
                holder.tbAdpVideo = (ToggleButton)convertView.findViewById(R.id.tbAdpVideo);
                break;
            case TYPE_MUSIC:
                convertView = mInflater.inflate(R.layout.listview_music, null);
                holder.musicImgAdapter = (ImageView)convertView.findViewById(R.id.musicImgAdapter);
                holder.musicNameAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.musicNameAdapter);
                holder.musicDetailAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.musicDetailAdapter);
                holder.tbAdpMusic = (ToggleButton)convertView.findViewById(R.id.tbAdpMusic);
                holder.linearAdpMusic = (LinearLayout)convertView.findViewById(R.id.linearAdpMusic);
                break;
            case TYPE_STORAGE:
                convertView = mInflater.inflate(R.layout.listview_storage, null);
                holder.storageImgAdapter = (ImageView)convertView.findViewById(R.id.storageImgAdapter);
                holder.imgAdpStorageChevronRight = (ImageView)convertView.findViewById(R.id.imgAdpStorageChevronRight);
                holder.storageNameAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.storageNameAdapter);
                holder.storageDetailAdapter = (TextViewVerbStyle)convertView.findViewById(R.id.storageDetailAdapter);
                holder.linearAdpStorage = (LinearLayout)convertView.findViewById(R.id.linearAdpStorage);
                holder.tbAdpStorage = (ToggleButton)convertView.findViewById(R.id.tbAdpStorage);
                break;
        }
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder)convertView.getTag();
    }
    Log.e("will","holder : "+holder.tbAdpStorage +" | "+holder.tbAdpVideo + " | "+holder.tbAdpMusic);
    switch (type){
        case TYPE_IMAGE:
            MainActivityV3.getImgLoader().init(config);
            MainActivityV3.getImgLoader().displayImage("file://" + Uri.parse(dto.getItemPath()), holder.vidImgAdapter, MainActivityV3.getOptions());
            holder.vidImgPlayAdapter.setVisibility(View.GONE);
            holder.vidNameAdapter.setText(dto.getItemName());
            holder.vidDetailAdapter.setText(mContext.getResources().getString(R.string.detail_item,
                    StringUtils.showSizeByte(FileManageUtil.getKbSize(dto.getItemSize()),
                            FileManageUtil.getMbSize(dto.getItemSize())), StringUtils.getDateVideo(dto.getLastModified())));
            if(isCheckable) {
                holder.linearAdpVideo.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                            holder.tbAdpVideo.setChecked(dto.isSelected());
                        } else {
                            dto.setIsSelected(true);
                            holder.tbAdpVideo.setChecked(dto.isSelected());
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                holder.tbAdpVideo.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                        } else {
                            dto.setIsSelected(true);
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                holder.tbAdpVideo.setVisibility(View.VISIBLE);
            }
            else {
                holder.tbAdpVideo.setVisibility(View.GONE);
            }
            break;
        case TYPE_VIDEO:
            MainActivityV3.getImgLoader().init(config);
            MainActivityV3.getImgLoader().displayImage("file://" + Uri.parse(dto.getItemPath()), holder.vidImgAdapter, MainActivityV3.getOptions());
            holder.vidNameAdapter.setText(dto.getItemName());
            holder.vidDetailAdapter.setText(mContext.getResources().getString(R.string.detail_item,
                    StringUtils.showSizeByte(FileManageUtil.getKbSize(dto.getItemSize()),
                            FileManageUtil.getMbSize(dto.getItemSize())), StringUtils.getDateVideo(dto.getLastModified())));
            if(isCheckable){
                holder.linearAdpVideo.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                            holder.tbAdpVideo.setChecked(dto.isSelected());
                        } else {
                            dto.setIsSelected(true);
                            holder.tbAdpVideo.setChecked(dto.isSelected());
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                holder.tbAdpVideo.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                        } else {
                            dto.setIsSelected(true);
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                holder.tbAdpVideo.setVisibility(View.VISIBLE);
            }
            else {
                holder.tbAdpVideo.setVisibility(View.GONE);
            }
            break;
        case TYPE_MUSIC:
            if(dto.getItemName().toString().toLowerCase().contains(".mp3"))
                holder.musicImgAdapter.setImageResource(R.drawable.ic_mp3);
            else if(dto.getItemName().toString().toLowerCase().contains(".ogg"))
                holder.musicImgAdapter.setImageResource(R.drawable.ic_ogg);
            else if(dto.getItemName().toString().toLowerCase().contains(".mp4"))
                holder.musicImgAdapter.setImageResource(R.drawable.ic_mp4);
            else if(dto.getItemName().toString().toLowerCase().contains(".wav"))
                holder.musicImgAdapter.setImageResource(R.drawable.ic_wav);
            holder.musicNameAdapter.setText(dto.getItemName());
            holder.musicDetailAdapter.setText(mContext.getResources().getString(R.string.detail_item, StringUtils.showSizeByte(FileManageUtil.getKbSize(dto.getItemSize()),
                    FileManageUtil.getMbSize(dto.getItemSize())), StringUtils.getDateVideo(dto.getLastModified())));
            if(isCheckable) {
                holder.linearAdpMusic.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                            holder.tbAdpMusic.setChecked(dto.isSelected());
                        } else {
                            dto.setIsSelected(true);
                            holder.tbAdpMusic.setChecked(dto.isSelected());
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                holder.tbAdpMusic.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                        } else {
                            dto.setIsSelected(true);
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                holder.tbAdpMusic.setVisibility(View.VISIBLE);
            }
            else {
                holder.tbAdpMusic.setVisibility(View.GONE);
            }
            break;
        case TYPE_STORAGE:
            File file = new File(dto.getItemPath());
            if(dto.isDirectory()){
                holder.storageDetailAdapter.setText(mContext.getResources().getString(R.string.detail_item,
                        file.listFiles().length>=1?file.listFiles().length+" items":file.listFiles().length+" item",
                        StringUtils.getDateVideo(dto.getLastModified())));
                holder.storageImgAdapter.setImageResource(R.drawable.ic_folder);
                holder.imgAdpStorageChevronRight.setVisibility(View.VISIBLE);
            }else{
                if(StringUtils.isArchivesExtension(mContext,dto.getItemName())){//file archive
                    holder.storageImgAdapter.setImageResource(R.drawable.ic_archives);
                }else if(StringUtils.isDocsExtension(mContext,dto.getItemName())){//file doc
                    holder.storageImgAdapter.setImageResource(R.drawable.ic_text_doc);
                }else if(StringUtils.isApkExtension(mContext,dto.getItemName())){
                    holder.storageImgAdapter.setImageResource(R.drawable.ic_apk);
                }
                else{//broken image
                    holder.storageImgAdapter.setImageResource(R.drawable.ic_broken_image);
                }
                holder.storageDetailAdapter.setText(mContext.getResources().getString(R.string.detail_item,
                        StringUtils.showSizeByte(dto.getItemSize()),
                        StringUtils.getDateVideo(dto.getLastModified())));
                holder.imgAdpStorageChevronRight.setVisibility(View.GONE);
            }
            holder.storageNameAdapter.setText(dto.getItemName());
            if(isCheckable) {
                holder.linearAdpStorage.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                            holder.tbAdpStorage.setChecked(dto.isSelected());
                        } else {
                            dto.setIsSelected(true);
                            holder.tbAdpStorage.setChecked(dto.isSelected());
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                holder.tbAdpStorage.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (dto.isSelected()) {
                            dto.setIsSelected(false);
                        } else {
                            dto.setIsSelected(true);
                        }
                        ((MainActivityV3) mContext).updateSelected(getTotalItemSelected());
                    }
                });
                if(dto.isDirectory())
                    holder.imgAdpStorageChevronRight.setVisibility(View.GONE);
                holder.tbAdpStorage.setVisibility(View.VISIBLE);
            }
            else {
                holder.tbAdpStorage.setVisibility(View.GONE);
            }
            break;
    }
    return convertView;
}

我试图在时间和事件序列中添加一个事件,例如:

create schema EventCreated(
  source String,
  type String,
  time Date
);

但当然这不起作用。我尝试使用" new Date()"或[com.espertech.esper.client.util.]DateTime.parseDefaultDate()但我无法使其发挥作用。

1 个答案:

答案 0 :(得分:0)

有一个" eval"用于评估EPL表达式。

StockTick={time=eval('com.espertech.esper.client.util.DateTime.parseDefaultDate("2016-10-07T10:00:00.000")')}

如果该工具只是接受字符串并使其成为日期,那就太好了。