таким образом, я пытаюсь создать механизм приложения Google с помощью сервлетов, фильтры и т.д. У меня есть файл Java, который смотрит что-то как:
public class Idea implements Comparator<Idea> {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private User author;
@Persistent
private String content;
@Persistent
private Date date;
@Persistent
private Map<User, Boolean> positiveVotes ;
@Persistent
private Map<User, Boolean> negativeVotes;
public Idea(User author, String content, Date date) {
this.author = author;
this.content = content;
this.date = date;
this.positiveVotes = new HashMap<User, Boolean>();
this.negativeVotes = new HashMap<User, Boolean>();
}
но когда я пытаюсь запустить свою программу, я получаю начало стопки исключения:
Feb 13, 2010 5:01:23 PM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: /sign
java.lang.IllegalArgumentException: positiveVotes: java.util.HashMap is not a supported property type.
at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:145)
at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:127)
at com.google.appengine.api.datastore.Entity.setProperty(Entity.java:280)
Так, мой вопрос состоит в том, почему он жалуется это java.util. HashMap не является поддерживаемым типом свойства, и также что я мог сделать для работы вокруг этого.Спасибо! надеюсь, что кто-то скоро отвечает.
По определению (почти) любая операция с NULL приведет к NULL, так как NULL означает «неопределенный». Я интерпретирую ваш вопрос о том, что cHospital или cHospital1 или cHospital3 могут быть нулевыми, которые вы хотите проверить. Вопрос в том, что должно произойти? Вы хотите, чтобы просто поле заменено пустой ряд, а затем конкат или все?
Я предполагаю, что первый. Это может выглядеть следующим образом:
SELECT Concat(
IFNULL(mp.cHospital, ''),
',',
IFNULL(mp.cHospital1,''),
',',
IFNULL(mp.cHospital2,'')) AS Hospital
FROM TBL
IFNULL возвращает первую часть, если только его NULL не возвращает вторую часть (пустая последовательность здесь).
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html#function_ifnull
-121--1883291-Я считаю, что следует протестировать код так, как если бы аспект был закодирован вручную, т.е. протестировать всю функциональность метода, включая функциональные возможности, реализованные аспектом.
Вопрос теперь документирован в онлайн-документации PostSharp по адресу http://doc.postsharp.net/postsharp-3.0/Content.aspx/PostSharp-3.0.chm/html/2ad6cf92-08eb-4537-a434-d88a3e493721.htm
-121--1862562-Для сериализации он не поддерживается. Можно просмотреть список поддерживаемых типов и рассмотреть альтернативные конструкции. Я могу что-то упустить, но можете ли вы просто сохранить наборы пользователей, которые поддерживают или выступают против этой идеи? Какова цель булева? Обратите внимание, что HashSet является поддерживаемым типом.