亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? grouphelper.java

?? CoolFace是基于jxta的P2P系統
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
				// Instant P2P PeerGroupManager Code (Thanks !!!!)
				if (!passwdMembershipPeerGroupModuleImplAdv.getModuleSpecID()
						.equals(PeerGroup.allPurposePeerGroupSpecID)) {
					passwdMembershipPeerGroupModuleImplAdv
							.setModuleSpecID(IDFactory
									.newModuleSpecID(passwdMembershipPeerGroupModuleImplAdv
											.getModuleSpecID().getBaseClass()));
				} else {
					ID passwdGrpModSpecID = ID
							.create(URI
									.create("urn:jxta:uuid-DeadBeefDeafBabaFeedBabe00000001"
											+ "04" + "06"));
					passwdMembershipPeerGroupModuleImplAdv
							.setModuleSpecID((ModuleSpecID) passwdGrpModSpecID);
				} // End Else
				membershipServiceFound = true;
			} // end if (allPurposePeerGroupServiceID.
			// equals(PeerGroup.membershipClassID))
		}// end While
		return passwdMembershipPeerGroupModuleImplAdv;
	}

	// ????????????????
	private ModuleImplAdvertisement createPasswdMembershipServiceModuleImplAdv(
			ModuleImplAdvertisement allPurposePeerGroupMemershipServiceModuleImplAdv) {
		// Create a new ModuleImplAdvertisement for the
		// Membership Service
		ModuleImplAdvertisement passwdMembershipServiceModuleImplAdv = (ModuleImplAdvertisement) AdvertisementFactory
				.newAdvertisement(ModuleImplAdvertisement
						.getAdvertisementType());
		passwdMembershipServiceModuleImplAdv
				.setModuleSpecID(PasswdMembershipService.passwordMembershipSpecID);
		passwdMembershipServiceModuleImplAdv
				.setCode(PasswdMembershipService.class.getName());
		passwdMembershipServiceModuleImplAdv
				.setDescription(" Module Impl Advertisement for the PasswdMembership Service");
		passwdMembershipServiceModuleImplAdv
				.setCompat(allPurposePeerGroupMemershipServiceModuleImplAdv
						.getCompat());
		passwdMembershipServiceModuleImplAdv
				.setUri(allPurposePeerGroupMemershipServiceModuleImplAdv
						.getUri());
		passwdMembershipServiceModuleImplAdv
				.setProvider(allPurposePeerGroupMemershipServiceModuleImplAdv
						.getProvider());

		return passwdMembershipServiceModuleImplAdv;
	}


	public PeerGroup getPeerGroup(PeerGroup myNetPeerGroup,
			PeerGroupID satellaPeerGroupID) {
		// First discover the peer group
		// In most cases we should use discovery listeners so that
		// we can do the discovery asynchroneously.
		// Here I won't, for increased simplicity and because
		// The Peer Group Advertisement is in the local cache for sure
		PeerGroup satellaPeerGroup;
		DiscoveryService myNetPeerGroupDiscoveryService = null;
		if (myNetPeerGroup != null) {
			myNetPeerGroupDiscoveryService = myNetPeerGroup
					.getDiscoveryService();
		} else {
			log.error("Can't join Peer Group since it's parent is null");
			System.exit(1);
		}
		boolean isGroupFound = false;
		Enumeration localPeerGroupAdvertisementEnumeration = null;
		PeerGroupAdvertisement satellaPeerGroupAdvertisement = null;
		try {
			localPeerGroupAdvertisementEnumeration = myNetPeerGroupDiscoveryService
					.getLocalAdvertisements(DiscoveryService.GROUP, "GID",
							satellaPeerGroupID.toString());
		} catch (java.io.IOException e) {
			log.error("Can't Discover Local Adv");
		}
		if (localPeerGroupAdvertisementEnumeration != null) {
			while (localPeerGroupAdvertisementEnumeration.hasMoreElements()) {
				PeerGroupAdvertisement pgAdv = null;
				pgAdv = (PeerGroupAdvertisement) localPeerGroupAdvertisementEnumeration
						.nextElement();
				if (pgAdv.getPeerGroupID().equals(satellaPeerGroupID)) {
					satellaPeerGroupAdvertisement = pgAdv;
					isGroupFound = true;
					break;
				}
			}
		}

		try {
			satellaPeerGroup = myNetPeerGroup
					.newGroup(satellaPeerGroupAdvertisement);
		} catch (net.jxta.exception.PeerGroupException e) {
			log.error("Can't create Peer Group from Advertisement");
			e.printStackTrace();
			return null;
		}
		return satellaPeerGroup;
	}

	public ArrayList<PeerGroup> discoverLocalPeerGroup(
			PeerGroup myNetPeerGroup, Map map,ArrayList<PeerGroup> gList) {
		// First discover the peer group
		// In most cases we should use discovery listeners so that
		// we can do the discovery asynchroneously.
		// Here I won't, for increased simplicity and because
		// The Peer Group Advertisement is in the local cache for sure
		//ArrayList<PeerGroup> gList = new ArrayList<PeerGroup>();

		PeerGroup satellaPeerGroup = null;
		DiscoveryService myNetPeerGroupDiscoveryService = null;
		if (myNetPeerGroup != null) {
			myNetPeerGroupDiscoveryService = myNetPeerGroup
					.getDiscoveryService();
		} else {
			log.error("Can't join Peer Group since it's parent is null");
		}
		//boolean isGroupFound = false;
		Enumeration localPeerGroupAdvertisementEnumeration = null;
		PeerGroupAdvertisement satellaPeerGroupAdvertisement = null;
		try {
			localPeerGroupAdvertisementEnumeration = myNetPeerGroupDiscoveryService
					.getLocalAdvertisements(DiscoveryService.GROUP, null,
							null);
		} catch (java.io.IOException e) {
			log.error(e.getMessage());
		}
		if (localPeerGroupAdvertisementEnumeration != null) {
			while (localPeerGroupAdvertisementEnumeration.hasMoreElements()) {
				PeerGroupAdvertisement pgAdv = null;
				pgAdv = (PeerGroupAdvertisement) localPeerGroupAdvertisementEnumeration
						.nextElement();

				log.info(pgAdv.getDocument(MimeMediaType.XMLUTF8).toString());
				String name = pgAdv.getName();
				String descr = pgAdv.getDescription();
				String id = pgAdv.getPeerGroupID().toString();
				
				if (CFUtil.checkConditions(map,name,descr,id)) {
					satellaPeerGroupAdvertisement = pgAdv;
					log.info("find a Advertisement = "
							+ satellaPeerGroupAdvertisement.getDocument(
									MimeMediaType.XMLUTF8).toString());
					try {
						//myNetPeerGroup.getLoader().loadClass(arg0);
						
						//System.out.println("IIIIIDDDDDDDD="+PeerGroupID.create(URI.create(id)));
						satellaPeerGroup = myNetPeerGroup
								.newGroup(satellaPeerGroupAdvertisement);
						
						//System.out.println("Parent group name="+myNetPeerGroup.getPeerGroupName());

//						myNetPeerGroup.newGroup(satellaPeerGroupAdvertisement.getPeerGroupID(), satellaPeerGroupAdvertisement,
//								satellaPeerGroupAdvertisement.getName(), satellaPeerGroupAdvertisement.getDescription());
//						//isGroupFound = true;

						
					} catch (net.jxta.exception.PeerGroupException e) {
						e.printStackTrace();
						/*
						log.error("-------------Can't create Peer Group from Advertisement");
						AdvertisementFactory
						.newAdvertisement(PeerGroupAdvertisement.getAdvertisementType());
						try{
						satellaPeerGroup = myNetPeerGroup
						.newGroup(satellaPeerGroupAdvertisement);
						}catch(Exception eee){
							eee.printStackTrace();
						}
						*/
						/*
						System.out.println(e.getMessage());
						String eMsg = e.getMessage();
						if(eMsg.indexOf("Could not find group implementation with")!=-1){
							String msid = eMsg.replace("Could not find group implementation with", "").trim();
							try{
								RefJxtaLoader rl = (RefJxtaLoader)myNetPeerGroup.getLoader();
								rl.loadClass(msid);
								System.out.println("load OK...................");
								satellaPeerGroup = myNetPeerGroup
								.newGroup(satellaPeerGroupAdvertisement);
							}catch(Exception eee){
								eee.printStackTrace();
							}
						}*/
						// e.printStackTrace();
						//myNetPeerGroup.getLoader().loadClass(arg0);
						//RefJxtaLoader loader = new RefJxtaLoader("");
					}
					//System.out.println("this load PeerGroup is : "+satellaPeerGroup);
					if(satellaPeerGroup!=null){
						gList.add(satellaPeerGroup);
						discoverLocalPeerGroup(satellaPeerGroup,null,gList);
					}
				}
			}
		}

		return gList;
	}

	public void joinPeerGroup(PeerGroup satellaPeerGroup, String login,
			String passwd) {
		// Get the Heavy Weight Paper for the resume
		// Alias define the type of credential to be provided
		StructuredDocument creds = null;
		try {
			// Create the resume to apply for the Job
			// Alias generate the credentials for the Peer Group
			AuthenticationCredential authCred = new AuthenticationCredential(
					satellaPeerGroup, null, creds);
			// Create the resume to apply for the Job
			// Alias generate the credentials for the Peer Group
			MembershipService membershipService = satellaPeerGroup.getMembershipService();
			//??????????
			// Send the resume and get the Job application form
			// Alias get the Authenticator from the Authentication creds

			Authenticator auth = membershipService.apply(authCred);
			// Fill in the Job Application Form
			// Alias complete the authentication
			completeAuth(auth, login, passwd);
			// Check if I got the Job
			// Alias Check if the authentication that was submitted was
			// accepted.
			if (!auth.isReadyForJoin()) {
				log.error("Failure in authentication.");
				log.error("Group was not joined. Does not know how to complete authenticator");
			}
			// I got the Job, Join the company
			// Alias I the authentication I completed was accepted,
			// therefore join the Peer Group accepted.
			membershipService.join(auth);
			
			initConPipe(satellaPeerGroup);//初始化基本通訊
		} catch (Exception e) {
			log.error("Failure in authentication.");
			log.error("Group was not joined. Login was incorrect.");
			e.printStackTrace();
		}
	}
	
	/**
	 * 初始化基本通訊
	 * 創建組或者加入組時必須
	 * 
	 * */
	private boolean initConPipe(PeerGroup satellaPeerGroup){
		PeerGroupAdvertisement pgAdv = satellaPeerGroup.getPeerGroupAdvertisement();
		StructuredDocument doc = pgAdv.getServiceParam(PeerGroup.pipeClassID);
		TextElement te;
		String id = null;
		String name = "";
		String type = null;
		Enumeration enu =  doc.getChildren(PIPE_ID_STR);
		if(enu.hasMoreElements()){
			te = (TextElement)enu.nextElement();
			id = te.getTextValue();
		}
		enu =  doc.getChildren(PIPE_NAME_STR);
		if(enu.hasMoreElements()){
			te = (TextElement)enu.nextElement();
			name = te.getTextValue();
		}
		
		log.info(satellaPeerGroup.getPeerGroupName()+"組基本通訊信息:id ="+id+" name="+name+" type="+type);
		
		enu =  doc.getChildren(PIPE_TYPE_STR);
		if(enu.hasMoreElements()){
			te = (TextElement)enu.nextElement();
			type = te.getTextValue();
		}
		if(id==null || type==null)
			return false;
	    
		PipeAdvertisement pa = CFUtil.crearePipeAdvertisement(id, type, name);
		PipeService pipsrv = satellaPeerGroup.getPipeService();
		
		OutputPipe output;
		try {
			output = pipsrv.createOutputPipe(pa, 1000);//基礎通訊管道

            IPGResource pgres = (IPGResource)CFResource.getInstance().getJoinPGMap().get(satellaPeerGroup);

            pgres.getOutputPipes().put(PIPE_OUT_KEY, output);
        } catch (IOException ex) {
            log.error(ex.getMessage());
            return false;
        }
		
		InputPipe input;
		try {
			//GroupBaseCommListener
			GroupBaseCommListener lstr = new GroupBaseCommListener(satellaPeerGroup,null);
            input = pipsrv.createInputPipe(pa, lstr);//基礎通訊管道
            IPGResource pgres = (IPGResource)CFResource.getInstance().getJoinPGMap().get(satellaPeerGroup);
            pgres.getInputPipes().put(PIPE_IN_KEY, input);
            pgres.getInputListener().put(GroupBaseCommListener.BASE_COMM_KEY, lstr);
        } catch (IOException ex) {
            log.error(ex.getMessage());
            return false;
        }
		return true;
	}

	// ???????
	private void completeAuth(Authenticator auth, String login, String passwd)
			throws Exception {

		Method[] methods = auth.getClass().getMethods();
		Vector authMethods = new Vector();
		// Find out with fields of the application needs to be filled
		// Alias Go through the methods of the Authenticator class and
		// copy them sorted by name into a vector.
		for (int eachMethod = 0; eachMethod < methods.length; eachMethod++) {
			if (methods[eachMethod].getName().startsWith("setAuth")) {
				if (Modifier.isPublic(methods[eachMethod].getModifiers())) {
					// sorted insertion.
					for (int doInsert = 0; doInsert <= authMethods.size(); doInsert++) {
						int insertHere = -1;
						if (doInsert == authMethods.size())
							insertHere = doInsert;
						else {
							if (methods[eachMethod].getName().compareTo(
									((Method) authMethods.elementAt(doInsert))
											.getName()) <= 0)
								insertHere = doInsert;
						} // end else
						if (-1 != insertHere) {
							authMethods.insertElementAt(methods[eachMethod],
									insertHere);
							break;
						} // end if ( -1 != insertHere)
					} // end for (int doInsert=0
				} // end if (modifier.isPublic
			} // end if (methods[eachMethod]
		} // end for (int eachMethod)
		Object[] AuthId = { login };
		Object[] AuthPasswd = { passwd };
		for (int eachAuthMethod = 0; eachAuthMethod < authMethods.size(); eachAuthMethod++) {
			Method doingMethod = (Method) authMethods.elementAt(eachAuthMethod);
			String authStepName = doingMethod.getName().substring(7);
			if (doingMethod.getName().equals("setAuth1Identity")) {
				// Found identity Method, providing identity
				doingMethod.invoke(auth, AuthId);
			} else if (doingMethod.getName().equals("setAuth2_Password")) {
				// Found Passwd Method, providing passwd
				doingMethod.invoke(auth, AuthPasswd);
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲制服丝袜在线| 日韩福利电影在线| 欧美日本一道本在线视频| 久久精品国产亚洲aⅴ| 亚洲欧洲精品一区二区三区| 欧美高清视频一二三区| 成人免费av在线| 麻豆精品蜜桃视频网站| 亚洲乱码国产乱码精品精可以看 | 一区二区三区中文字幕精品精品| 欧美一卡在线观看| 91美女福利视频| 国产很黄免费观看久久| 热久久久久久久| 亚洲成人午夜影院| 国产精品国产精品国产专区不蜜| 国产精品午夜久久| 日韩免费观看高清完整版| 欧美少妇xxx| 色悠悠亚洲一区二区| 成人免费av资源| 国产黄色91视频| 国产一区免费电影| 久久不见久久见中文字幕免费| 婷婷一区二区三区| 亚洲一区二区精品久久av| 亚洲久草在线视频| 亚洲欧美区自拍先锋| 成人免费小视频| 国产精品久久久久影院色老大| 久久久综合视频| 欧美精品一区二区三区视频 | 在线不卡一区二区| 色综合久久66| 91视视频在线观看入口直接观看www| 国产超碰在线一区| 成人性视频网站| 国产成人鲁色资源国产91色综 | 黄色日韩网站视频| 精品在线亚洲视频| 久久国产精品72免费观看| 免费成人在线视频观看| 奇米精品一区二区三区在线观看| 免费高清不卡av| 蜜桃视频一区二区三区在线观看| 免费在线观看日韩欧美| 激情综合色综合久久综合| 极品销魂美女一区二区三区| 国产精品一区在线| 国产99久久久国产精品免费看| 成人免费视频免费观看| av综合在线播放| 亚洲欧美一区二区三区国产精品| 亚洲欧洲精品一区二区精品久久久| 日韩美女久久久| 亚洲一二三区在线观看| 五月婷婷色综合| 国模娜娜一区二区三区| 国v精品久久久网| av激情成人网| 欧美中文字幕一区二区三区亚洲 | 91精品久久久久久久久99蜜臂| 欧美一区二区精品| 国产日韩精品一区二区浪潮av| 国产精品美女一区二区在线观看| 亚洲欧美另类图片小说| 亚洲小少妇裸体bbw| 日韩av不卡在线观看| 精品亚洲成a人| 91在线精品秘密一区二区| 欧美午夜一区二区| 久久日韩粉嫩一区二区三区| 国产精品久久久久一区| 亚洲午夜av在线| 狠狠色丁香婷综合久久| 色网站国产精品| 亚洲国产一区二区三区| 久久国产精品色婷婷| 成人激情午夜影院| 欧美乱妇15p| 国产精品久久久久久久浪潮网站 | 精品国产免费久久| 国产精品久久久久一区二区三区共| 亚洲夂夂婷婷色拍ww47| 国产中文字幕一区| 欧美手机在线视频| 久久精品男人天堂av| 亚洲小说春色综合另类电影| 国产在线视频精品一区| 欧美在线免费播放| 久久久亚洲精品石原莉奈 | 麻豆精品视频在线观看免费| 9色porny自拍视频一区二区| 日韩一区二区三区免费看| 亚洲欧洲无码一区二区三区| 免费成人在线网站| 在线观看亚洲精品视频| 国产性天天综合网| 免费日本视频一区| 色狠狠综合天天综合综合| 国产色产综合产在线视频| 日韩精品五月天| 色婷婷狠狠综合| 久久久久国产精品麻豆| 蜜臀国产一区二区三区在线播放 | 97se亚洲国产综合自在线观| 日韩一区二区免费视频| 亚洲午夜一区二区三区| 波多野结衣在线一区| 日韩精品一区二区在线| 亚洲一二三区在线观看| 91亚洲男人天堂| 中文字幕精品在线不卡| 精品无人码麻豆乱码1区2区 | 欧美tk—视频vk| 天堂在线一区二区| 在线一区二区观看| 亚洲欧洲一区二区三区| 成人性色生活片免费看爆迷你毛片| 欧美大胆人体bbbb| 青青国产91久久久久久 | 日韩视频免费直播| 图片区小说区区亚洲影院| 日本高清不卡在线观看| 国产精品免费人成网站| 成人免费高清视频在线观看| 国产日韩欧美精品综合| 国产在线国偷精品产拍免费yy| 日韩午夜激情电影| 久久精品国产精品亚洲综合| 欧美一区二区三区不卡| 日韩电影免费在线观看网站| 欧美高清激情brazzers| 视频一区二区国产| 欧美精品在线观看播放| 亚洲成av人片www| 欧美美女直播网站| 午夜成人免费视频| 7777精品伊人久久久大香线蕉的| 亚洲综合久久av| 欧美挠脚心视频网站| 午夜精品一区在线观看| 这里只有精品视频在线观看| 日韩成人午夜电影| 日韩精品专区在线影院观看| 久久疯狂做爰流白浆xx| 国产三级三级三级精品8ⅰ区| 国产91精品免费| 《视频一区视频二区| 91啦中文在线观看| 亚洲国产婷婷综合在线精品| 欧美一区二区三区不卡| 久久99在线观看| 国产午夜亚洲精品羞羞网站| 99re视频精品| 亚洲成av人片在线| 精品国产精品一区二区夜夜嗨| 国产做a爰片久久毛片| 国产精品午夜久久| 91国产免费观看| 免费在线观看日韩欧美| 国产精品网站在线观看| 色婷婷综合中文久久一本| 日韩激情在线观看| 国产夜色精品一区二区av| 91在线播放网址| 图片区小说区区亚洲影院| 精品国产乱码久久久久久蜜臀 | 亚洲五码中文字幕| 日韩精品一区二区在线观看| 国产福利91精品一区二区三区| 亚洲欧洲一区二区在线播放| 欧美精品九九99久久| 国产v日产∨综合v精品视频| 一区二区欧美视频| 精品毛片乱码1区2区3区| 99久久精品国产麻豆演员表| 亚洲mv大片欧洲mv大片精品| 久久青草欧美一区二区三区| 色狠狠av一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品久久毛片a| 欧美理论片在线| www.66久久| 极品尤物av久久免费看| 一区二区三区在线观看动漫| 精品乱人伦小说| 色94色欧美sute亚洲13| 国产在线播精品第三| 亚洲一区二区中文在线| 日本一区二区在线不卡| 欧美一区二区三区四区视频| 91一区二区三区在线播放| 精品一区二区三区欧美| 亚洲国产成人va在线观看天堂| 国产欧美日韩精品一区| 日韩视频中午一区| 欧美制服丝袜第一页| 成人国产免费视频| 国产一区二区不卡在线|