`
kurting615
  • 浏览: 94791 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spark二次开发之客户端实名制实现

    博客分类:
  • IM
 
阅读更多

服务端openfire数据可以通过LDAP来同步已经存在的完整用户信息。

客户端连接服务端后,对应查找用户并得到用户信息保存。

具体代码如下:

public PersonalPanel() {
		initPerson();//初始化
		
        setLayout(new GridBagLayout());
        
        JLabel firstNameLabel = new JLabel();
        firstNameField = new JTextField();
        ResourceUtils.resLabel(firstNameLabel, firstNameField, Res.getString("label.first.name") + ":");
        if(null==firstNameField.getText()||"".equals(firstNameField.getText())){
        	setRealUserName(realUserName);
        	firstNameField.setEditable(false);
        }

 

如果用户名称模板为空,查找用户名

	void initPerson(){
    	positions = CommonProfile.getPosition(jobTitleField.getText());//职称
    	sex = CommonProfile.getSex(sexField.getText());
    	  realUserName = GetUserRealName();//查找用户名方法
}

 

查找用户名方法(相当于搜索用户)

private String GetUserRealName() {
		final String byname = SparkManager.getSessionManager().getJID().substring(0, SparkManager.getSessionManager().getJID().indexOf("@"));//得到JID前缀
		final Collection<String> _usersearchservice = SearchManager.getInstance()
				.getSearchServicesAsString();//得到服务器名称
		String name = null;
		try {
			for (String search : _usersearchservice) {

				ReportedData data;
				UserSearchManager usersearchManager = new UserSearchManager(
						SparkManager.getConnection());

				Form f = usersearchManager.getSearchForm(search);

				Form answer = f.createAnswerForm();//设置搜索条件
				answer.setAnswer("Name", true);
				answer.setAnswer("Email", true);
				answer.setAnswer("Username", true);
				answer.setAnswer("search", byname);

				data = usersearchManager.getSearchResults(answer, search);

				ArrayList<String> columnnames = new ArrayList<String>();
				Iterator<Column> columns = data.getColumns();

				while (columns.hasNext()) {
					ReportedData.Column column = (ReportedData.Column) columns
							.next();
					String label = column.getLabel();
					columnnames.add(label);
				}

				Iterator<Row> rows = data.getRows();
				if (rows.equals("") || rows == null) {
					JOptionPane.showMessageDialog(null,
							Res.getString("title.user.not.exists"));
				}
				while (rows.hasNext()) {
					ReportedData.Row row = (ReportedData.Row) rows.next();
					if(row.getValues(columnnames.get(1)).hasNext()){
						if (row.getValues(columnnames.get(2)).hasNext()&&byname.equals(row.getValues(columnnames.get(1)).next())) {
							name = (String) row.getValues(columnnames.get(2)).next();//得到具体用户名
						}
					}

				}
			}
		} catch (Exception e) {
		}
		return name;
	}
分享到:
评论

相关推荐

    大数据Spark二次开发.pdf

    大数据Spark二次开发 大数据Spark二次开发是指使用Apache Spark进行大数据处理和分析的过程。Spark是基于内存的计算引擎,可以快速处理大量数据。 Spark任务运行流程 Spark任务运行流程包括以下几个步骤: 1. ...

    spark-2聊天客户端,可二次开发

    总之,Spark-2作为一款可二次开发的聊天客户端,为企业提供了一种高效、灵活的沟通工具。通过深入理解和定制化开发,可以打造符合自身业务需求的即时通讯解决方案。同时,结合Openfire的强大服务器支持,能够构建出...

    spark最新源码以及二次开发教程

    《Spark最新源码与二次开发详解》 Spark作为一款开源的大数据处理框架,因其高效、易用和灵活性而备受开发者青睐。在Openfire环境中,Spark更扮演着关键的角色,为实时通讯提供支持。本教程旨在深入解析Spark的最新...

    大数据资料Spark\HBase\HDFS 二次开发 PPT

    这份压缩包文件包含了一系列关于大数据技术的PPT和PDF文档,主要聚焦于Spark、HBase、HDFS的二次开发以及相关的技术,如Hive、Kafka、Solr和MapReduce等。以下是这些资源中涉及的主要知识点: 1. **Spark二次开发**...

    docker-spark, 通用 Apache Spark 客户端的Docker 映像.zip

    docker-spark, 通用 Apache Spark 客户端的Docker 映像 客户端 Docker 映像 这个存储库包含一个运行的 Docker 映像。要运行简单的spark shell 插件,请执行以下操作:docker run -it epahomov/docker-spark:lightwe

    spark+openfire二次开发(三)

    《Spark+Openfire二次开发(三):深入理解与实践》 在IT行业中,Spark和Openfire是两个非常重要的开源工具,它们分别在大数据处理和即时通讯领域有着广泛的应用。本篇文章将深入探讨如何对这两者进行二次开发,...

    spark+openfire二次开发

    Spark+Openfire 二次开发详解 Spark 和 Openfire 是两个基于 Java 的即时通讯平台,分别由 Apache 和 Ignite Realtime 开发。Spark 是一个基于 XMPP 协议的即时通讯客户端,而 Openfire 是一个基于 XMPP 协议的...

    spark 二次开发所需缺失3jar包

    在Spark的二次开发过程中,经常会遇到需要对源码进行修改或扩展以满足特定需求的情况。在这样的场景下,正确配置和构建环境至关重要。标题提到的"spark 二次开发所需缺失3jar包"揭示了在搭建Spark源码工程时,有三个...

    openfire + spark 开发

    我们将从 XMPP 协议的介绍开始,接着讨论如何使用 Spark 和 Openfire 来实现一个完整的 IM 软件开发。 什么是 XMPP? XMPP(Extensible Messaging and Presence Protocol)是一种发送、接收和处理消息的协议。它...

    sparkweb客户端

    flex sparkweb 客户端输入服务器地址、用户名和密码可登录openfire

    spark+openfire二次开发含截图和详细说明

    二次开发主要涉及对Spark客户端及Openfire服务器的功能扩展和定制化修改。 1. **界面自定义**:根据需求修改Spark客户端的用户界面,如添加新的功能按钮或调整布局样式。 2. **功能扩展**:例如实现消息加密传输、...

    富客户端spark2.8.3_windows

    富客户端spark2.8.3_windows,在国内从官网的下载速度极慢,有需要的朋友,可以从这里下载

    IM(Spark+Smack+Openfire)开发资料详细说明文档

    总之,IM(Spark+Smack+Openfire)开发涉及到多个层次的技术,包括客户端开发、服务器搭建、协议处理和安全性等。通过深入学习提供的文档和支持文件,开发者可以构建出稳定、高效的即时通讯系统。

    openfire+spark+sparkweb

    【Openfire、Spark和SparkWeb】是一套开源的即时通讯解决方案,主要由Openfire服务器、Spark客户端和SparkWeb网页客户端组成。Openfire是基于XMPP协议的服务器,它提供了聊天、会议、文件传输等实时通信功能。Spark...

    基于Java实现Spark2x新闻网大数据实时分析可视化系统项目【100012794】

    开发部分涉及编写Java代码实现业务逻辑,使用Spark的DataFrame和Spark SQL处理数据,以及创建自定义Spark Streaming接收器处理实时流数据。 最后,web可视化交互设计是项目的重要组成部分。可能使用JavaScript库如...

    Spark开发指导文档

    《Spark开发指导文档》 Spark,作为大数据处理领域的重要框架,以其高效、灵活和易于使用的特性,深受开发者喜爱。尤其在结合Scala编程语言时,Spark能够展现出强大的计算能力,为大规模数据处理提供了一种高性能...

    hive-spark-client-3.1.2.jar

    hive-on-spark客户端

    Spark客户端连接Tigase

    Spark连接Tigase服务器,完整的步骤,很清晰的看到。大家可以参考。

    使用kafka,spark,hbase开发日志分析系统

    本使用kafka,spark,hbase开发日志分析系统。 ![architecture](/docs/images/architecture.png "architecture") ### 软件模块 * Kafka:作为日志事件的消息系统,具有分布式,可分区,可冗余的消息服务功能。...

Global site tag (gtag.js) - Google Analytics