Как говорится в сообщении об ошибке, __init__()
должно возвращать None
, а не «bool
». Измените return True
на голое return
(что эквивалентно return None
).
for point in points:
if point == (self.x, self.y, pen):
return
Его метод
blockquote>__init__
проверяет, есть ли точка на холсте черепахи. Если он обнаружит, что он уже есть, мне нужно предотвратить дальнейшее выполнение init.Тем не менее, трудности, с которыми вы сталкиваетесь, свидетельствуют о недостатке дизайна. Точка не должна проверять внешний список точек и отказываться от построения; скорее код, создающий точку, должен выполнить проверку.
Я бы вытащил петлю из конструктора и сделал бы проверку вызывающей стороной.
В этой статье IBM Developerworks подробно рассматривается , как использовать Grails с вашей унаследованной базой данных .
Инструментом, который может помочь сопоставить устаревшие базы данных с объектами домена grails, является GRAG - Генератор приложений Grails . Это удобный инструмент, который помогает генерировать классы отображения для вас.
Третий вариант - не использовать Grails для слоя gorm / domain. Вместо этого, поскольку он так хорошо работает с Java, вы можете создавать службы, которые называют существующий унаследованный код Java для бизнес-логики и постоянства .
Я надеюсь, что один из этих подходов вам подойдет.
Одна вещь, которую я видел сделанный, состоит в том, чтобы использовать Grails в качестве интерфейса Admin для JAVA-приложения Предприятия. Это не точно, что Вы спросили, потому что нет никакой интеграции. Был только ряд требований, которые были легко разделены и разработаны очень быстро в Grails. В действительности они - отдельные приложения, но используют те же данные.
Я предполагаю, что это зависит от того, что предназначено тем, "добавьте чаши Грааля / отличный" к приложению - потому что чаши Грааля являются полным стеком, и если "добавляют", что Вы имеете в виду замену, старую с новым, затем может стоить переписать его.
Я нашел эту статью, которая описывает получение Groovlets и gsp's для работы, указывая обновления web.xml и файлы банки, необходимые для проекта.
http://www.ibm.com/developerworks/java/library/j-pg03155
Я добавил следующие файлы банки к своему проекту, и groovlets работал.
отличный-1.5.7.jar
asm-2.2.jar
antlr-2.7.6.jar
У меня нет gsp's еще, работающего.
Я начался бы путем совместного использования модели данных между jsps, и приложение чаш Грааля (чаши Грааля могут работать с простыми классами Java и быть в спящем режиме конфигурация, поэтому если Вы используете уже, в спящем режиме, это не должно быть твердо к повторному использованию быть в спящем режиме классы). Затем я переместил бы каждый jsp/servlet, как к чашам Грааля. При использовании пружины уже она должна сделать вещи легче, так как можно совместно использовать тот же контекст приложения.
В зависимости от того, насколько большой приложение и другие требования, могло бы быть лучше переписать все это, особенно если приложение прежней версии не использует пружину или в спящем режиме.
Как уже говорили другие, Grails - это полный стек, поэтому добавление Grails к существующему Java-приложению может оказаться не тем, что вам нужно. Однако добавить Java в существующее приложение Grails нетрудно. И добавить Groovy к существующему Java-приложению тоже может быть не так сложно.
Это во многом зависит от типа Java-приложения, о котором вы говорите. Grails построен на Spring MVC, Hibernate и аналогичных стандартных технологиях Java, поэтому, если ваше приложение Java использует все это, можно легко преобразовать приложение в Grails с помощью устаревшего кода Java.