當前位置: 首頁>>代碼示例>>Java>>正文


Java BaseParser類代碼示例

本文整理匯總了Java中com.johan.vertretungsplan.parser.BaseParser的典型用法代碼示例。如果您正苦於以下問題:Java BaseParser類的具體用法?Java BaseParser怎麽用?Java BaseParser使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


BaseParser類屬於com.johan.vertretungsplan.parser包,在下文中一共展示了BaseParser類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: checkLogin

import com.johan.vertretungsplan.parser.BaseParser; //導入依賴的package包/類
public static void checkLogin(String schoolId, String login, String password) throws Exception {
	Schule school = getSchoolById(schoolId);
	BaseParser parser = BaseParser.getInstance(school);
	parser.setUsername(login);
	parser.setPassword(password);
	Vertretungsplan v = parser.getVertretungsplan();
	if (v.getTage().size() == 0)
		throw new Exception("kein Vertretungsplanabruf möglich");
}
 
開發者ID:johan12345,項目名稱:vertretungsplan-server,代碼行數:10,代碼來源:CheckLoginServlet.java

示例2: doInBackground

import com.johan.vertretungsplan.parser.BaseParser; //導入依賴的package包/類
@Override
protected Object doInBackground(Void... params) {
    BaseParser parser = ((VertretungsplanApplication) getApplication())
            .getParser();

    if (parser == null)
        return null;

    try {
        Vertretungsplan v = parser.getVertretungsplan();
        settings.edit()
                .putString("Vertretungsplan", new Gson().toJson(v))
                .commit();

        AppWidgetManager mgr = AppWidgetManager
                .getInstance(StartActivity.this);
        int[] ids = mgr
                .getAppWidgetIds(new ComponentName(StartActivity.this,
                        VertretungsplanWidgetProvider.class));
        new VertretungsplanWidgetProvider().onUpdate(
                StartActivity.this, mgr, ids);
        return v;
    } catch (Exception e) {
        e.printStackTrace();
        return e;
    }
}
 
開發者ID:johan12345,項目名稱:vertretungsplan,代碼行數:28,代碼來源:StartActivity.java

示例3: doInBackground

import com.johan.vertretungsplan.parser.BaseParser; //導入依賴的package包/類
@Override
protected Object doInBackground(Void... params) {
	BaseParser parser = ((VertretungsplanApplication) getApplication())
			.getParser();

	if (parser == null)
		return null;

	try {
		Vertretungsplan v = parser.getVertretungsplan();
		settings.edit()
				.putString("Vertretungsplan", new Gson().toJson(v))
				.commit();

		AppWidgetManager mgr = AppWidgetManager
				.getInstance(StartActivity.this);
		int[] ids = mgr
				.getAppWidgetIds(new ComponentName(StartActivity.this,
						VertretungsplanWidgetProvider.class));
		new VertretungsplanWidgetProvider().onUpdate(
				StartActivity.this, mgr, ids);
		return v;
	} catch (Exception e) {
		e.printStackTrace();
		return e;
	}
}
 
開發者ID:johan12345,項目名稱:ls-vertretungsplan,代碼行數:28,代碼來源:StartActivity.java

示例4: parse

import com.johan.vertretungsplan.parser.BaseParser; //導入依賴的package包/類
public ParseResult parse() throws IOException, NoCredentialsAvailableException {
       JSONObject json = new JSONObject(schoolData);
	Schule schule = Schule.fromJSON(schoolId, json);
	DBCollection cookiesColl = db.getCollection("cookies");
	
	String login = null;
	String password = null;
	DBObject reg = null;
	DBCollection regColl = null;
	if (schule.getData().has("login") && !test) {
		regColl = db.getCollection("registrations");
		BasicDBObject query2 = new BasicDBObject("schoolId", schoolId);
		query2.append("login", new BasicDBObject("$ne", ""));
		query2.append("password", new BasicDBObject("$ne", ""));
           query2.append("password_invalid", new BasicDBObject("$ne", "true"));
           DBCursor regs = regColl.find(query2);
		int n = regs.count();
           if (n == 0) {
               throw new NoCredentialsAvailableException();
           }
           int rand = (int) Math.floor(Math.random() * (n-1));
		regs.skip(rand);
		reg = regs.next();
		regs.close();
		
		login = (String) reg.get("login");
		password = (String) reg.get("password");
	}
	
	BaseParser parser = BaseParser.getInstance(schule);
	if (login != null && password != null) {
		parser.setUsername(login);
		parser.setPassword(password);
	}
	try {
		Vertretungsplan v = parser.getVertretungsplan();
		v.setSchoolName(schule.getName());
		v.setCity(schule.getCity());
	
		List<BaseAdditionalInfoParser> additionalInfoParsers = new ArrayList<BaseAdditionalInfoParser>();
		for(String type:schule.getAdditionalInfos()) {
			additionalInfoParsers.add(BaseAdditionalInfoParser.getInstance(type));
		}
		
		for(BaseAdditionalInfoParser additionalInfoParser:additionalInfoParsers) {
			v.getAdditionalInfos().add(additionalInfoParser.getAdditionalInfo());
		}
		ParseResult result = new ParseResult();
		result.v = v;
		result.classes = parser.getAllClasses();
		
		if (reg != null) {
			regColl.remove(reg);
			reg.put("password_invalid", false);
			regColl.insert(reg);
		}
		
		return result;
	} catch (IOException e) {
           if (e.getMessage() != null) {
               String msg = e.getMessage().toLowerCase();
               if (reg != null && (msg.contains("login") || msg.contains("authorization"))) {
                   regColl.remove(reg);
                   reg.put("password_invalid", true);
                   regColl.insert(reg);
               }
           }
		cookiesColl.remove(new BasicDBObject("_id", schule.getId()));
		throw e;
	}
}
 
開發者ID:johan12345,項目名稱:vertretungsplan-server,代碼行數:72,代碼來源:ParseThread.java


注:本文中的com.johan.vertretungsplan.parser.BaseParser類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。