Nowadays, SQL Server 2000 DTS is deprecated. If you try to open a DTS using SQL Server Management Studio 2005 or 2008 you will get the following error: SQL Server 2000 DTS Designer components are required to edit DTS packages. Install the special Web download, "SQL Server 2000 DTS Designer Components" to use this feature.
How to access full source of an old commit in BitBucket
I have sometime needed a file in a Bitbucket git repository that I had deleted some commits before. I needed to check the contain of this file and the rest of files of the commit where this file was deleted.
Customizing navigation and security in OpenXava
OpenXava does not include a complete security and navigation system, although you can easily add security and navigation in an OpenXava application if you use a Java portal, such as Liferay. Also, you can use the official solution that OpenXava team offers: XavaPro. Even though these solutions may be valid for new projects, for legacy projects you may need apply other ones. In this post we are going to customize our own solution for navigation and security starting from the standard OpenXava solution: NaviOX.
Main JSPs in OpenXava
OpenXava is an AJAX Java Framework for rapid development of enterprise web applications. In OpenXava you only have to write the domain classes in plain Java to get a web application ready for production. Under the hood, there are a lot of JSPs that, magically, build all the pages on the fly. In spite of being an extensible and customizable framework, if you want to change the default behaviour of OpenXava projects, you will have to know how different JSPs are related each other. In this post we are going to use OpenXava 5.3.2. Basically, we can distinguish two types of pages:
- SignIn page
- Regular pages where data can be edited (detail page) or listed (list page) (or both)
Reverse Engineering and Code Generation
The goal of this post is to explain how to model a database into java pojo classes with EJB or JPA annotations using reverse engineering. We can use several tools such as MinuteProject or Mogwai ERDesignerNG. In this post we are going to use JBoss Tools plugins for Eclipse (Hibernate Tools). With this tool not only can you configure files using JPA and EJB annotations, but also other annotations such as OpenXava.
Streams in Java 8
Streams are the key abstraction in Java 8 for processing collections of values and specifying what you want to have done, leaving the scheduling of operations to the implementation. Furthermore, streams can leverage multi-core architectures without you having to write a single line of multithread code, and simplify the description of aggregate computations, exponing opportunities for optimisation. Streams basically allow us to write collections-processing code at a higher level of abstraction. You can think about stream as a pipeline where we are processing data, what we call the source, and we put it into zero or more intermediate operations; each operation takes an input stream and generates an output stream. That way we can take the output of one intermediate operation and feed it to the following intermedite operation. Once we have done all the intermediate processing that we want, we need to terminate that stream and we do that with a terminal operation; terminal operation takes an input stream and does not generate a stream as an output, but what it produces is either explicit results, such as a value, collections and so on, or a side effect, that is, for example a simple message. This pipeline is depicted in the following image:
Bootstrap grid system
A grid system divides the screen into multiple rows and columns that can be used to create various types of layouts. With Bootstrap, to set the maximum width of the page content according to the screen width, you have to use a container. All the rows and columns should be placed inside a container to ensure proper alignment and padding.
Functional interfaces in Java 8
A functional interface is an interface that specifies exactly one abstract method. in Java8 interfaces can now also have default methods (that is, a method with a body that provides some default implementation for a method in case it isn’t implemented by a class). An interface is still a functional interface if it has many default methods as long as it specifies only one abstract method.
Lambda expressions in Java 8
A lambda expression can be defined as a concise representation of an anonymous function that can be passed around: it doesn’t have a name, but it has a list of parameters, a body, a return type, and also possibly a list of exceptions that can be thrown.
Lambda expressions are anonymous functions which are like methods but without a class. But like a method, a lambda has a list of parameters, a body, a return type, and a possible list of exceptions that can be thrown. Thus a lambda expression can be passed as argument to a method or stored in a variable.
Debugging HTML & CSS alignment issues
Many times it is very annoying when you are designing a page and suddenly you notice that something is not properly aligned.
In these cases, it can be helpful to outline elements on the page to figure out how they are being rendered in relation to one another. One solution would be to write your own css class, such as the following:
* { box-shadow: inset 0 0 0 1px red }