When using repository based persistence in a .net application, which collection type should normally be used?
IList, IEnumerable?
For example, the FindAll() method.
I want to turn something like this
CS 240, CS 246, ECE 222, ... (more or less); Software Engineering students only
into
('CS 240', 'CS 246', 'ECE 222', 'ECE 220')
in Python, code that matches a single course looks like
>>> re.search('([A-Z]{2,5} \d{3})', 'SE 112').groups()
('SE 112',)
I prefer a regular expression only method because I have a bunch of other alternate reg exps using '|' to combine them. However, a method with split is acceptable.
I have a list of tuples, say [{x, a, y}, {x, b, y}].
Is there a built-in function (or can I use a combination of BIFs) to delete all tuples matching {x, _, y}, as in match and delete based on the first and third term in the tuples, ignoring the second?
I have a generic abstract class Factory<T> with a method createBoxedInstance() which returns instances of T created by implementations of createInstance() wrapped in the generic container Box<T>.
abstract class Factory<T> {
abstract T createInstance();
public final Box<T> createBoxedInstance() {
return new Box<T>(createInstance());
}
public final class Box<T> {
public final T content;
public Box(T content) {
this.content = content;
}
}
}
At some points I need a container of type Box<S> where S is an ancestor of T. Is it possible to make createBoxedInstance() itself generic so that it will return instances of Box<S> where S is chosen by the caller? Sadly, defining the function as follows does not work as a type parameter cannot be declared using the super keyword, only used.
public final <S super T> Box<S> createBoxedInstance() {
return new Box<S>(createInstance());
}
The only alternative I see, is to make all places that need an instance of Box<S> accept Box<? extends S> which makes the container's content member assignable to S.
Is there some way around this without re-boxing the instances of T into containers of type Box<S>? (I know I could just cast the Box<T> to a Box<S> but I would feel very, very guilty.)
I have a sed command to comment out xml commands
sed 's/^\([ \t]*\)\(.*[0-9a-zA-Z<].*\)$/\1<!-- Security: \2 -->/' web.xml
Takes:
<a>
<!-- Comment -->
<b>
bla
</b>
</a>
Produces:
<!-- Security: <a> -->
<!-- Security: <!-- Comment --> --> // NOTE: there are two end comments.
<!-- Security: <b> -->
<!-- Security: bla -->
<!-- Security: </b> -->
<!-- Security: </a> -->
Ideally I would like to not use my sed script to comment things that are already commented.
Ie:
<!-- Security: <a> -->
<!-- Comment -->
<!-- Security: <b> -->
<!-- Security: bla -->
<!-- Security: </b> -->
<!-- Security: </a> -->
I could do something like this:
sed 's/^\([ \t]*\)\(.*[0-9a-zA-Z<].*\)$/\1<!-- Security: \2 -->/' web.xml
sed 's/^[ \t]*<!-- Security: \(<!--.*-->\) -->/\1/' web.xml
but I think a one liner is cleaner (?)
This is pretty similar: http://stackoverflow.com/questions/436850/matching-a-line-that-doesnt-contain-specific-text-with-regular-expressions
I want a regular expression to match valid input into a Tags input field with the following properties:
1-5 tags
Each tag is 1-30 characters long
Valid tag characters are [a-zA-Z0-9-]
input and tags can be separated by any amount of whitespace
Here's what I have so far--it seems to work but I'm interested how it could be simplified or if it has any major flaws:
\s*[a-zA-Z0-9-]{1,30}(\s+[a-zA-Z0-9-]{1,30}){0,4}\s*
// that is:
\s* // match all beginning whitespace
[a-zA-Z0-9-]{1,30} // match the first tag
(\s+[a-zA-Z0-9-]{1,30}){0,4} // match all subsequent tags
\s* // match all ending whitespace
Preprocessing the input to make the whitespace issue easier isn't an option (e.g. trimming or adding a space).
If it matters, this will be used in javascript. Any suggestions would be appreciated, thanks!
If I have the string hello world , how can I modify the regex world|wo|w so that it will match all of "world", "wo" and "w" rather than just the single first match of "world" that it comes to ?
If this is not possible directly, is there a good workaround ? I'm using C# if it makes a difference:
Regex testRegex = new Regex("world|wo|w");
MatchCollection theMatches = testRegex.Matches("hello world");
foreach (Match thisMatch in theMatches)
{
...
}
I am trying to make a sequence that will only generate values until it finds the following conditions and return the listed results:
case head =
0 - return {:origin [all generated except 0] :pattern 0}
1 - return {:origin nil :pattern [all-generated-values] }
repeated-value - {:origin [values-before-repeat] :pattern [values-after-repeat]
{
; n = int
; x = int
; hist - all generated values
; Keeps the head below x
(defn trim-head [head x]
(loop [head head]
(if (> head x)
(recur (- head x))
head)))
; Generates the next head
(defn next-head [head x n]
(trim-head (* head n) x))
(defn row [x n]
(iterate #(next-head % x n) n))
; Generates a whole row -
; Rows are a max of x - 1.
(take (- x 1) (row 11 3))
Examples of cases to stop before reaching end of row:
[9 8 4 5 6 7 4] - '4' is repeated so STOP. Return preceding as origin and rest as pattern.
{:origin [9 8] :pattern [4 5 6 7]}
[4 5 6 1] - found a '1' so STOP, so return everything as pattern
{:origin nil :pattern [4 5 6 1]}
[3 0] - found a '0' so STOP
{:origin [3] :pattern [0]}
:else if the sequences reaches a length of x - 1:
{:origin [all values generated] :pattern nil}
The Problem
I have used partition-by with some success to split the groups at the point where a repeated value is found, but would like to do this lazily. Is there some way I can use take-while,
or condp, or the :while clause of the for loop to make a
condition that partitions when it finds repeats?
Some Attempts
(take 2 (partition-by #(= 1 %) (row 11 4)))
(for [p (partition-by #(stop-match? %) head) (iterate #(next-head % x n) n)
:while (or (not= (last p) (or 1 0 n) (nil? (rest p))]
{:origin (first p) :pattern (concat (second p) (last p))}))
# Updates
What I really want to be able to do is find out if a value has repeated and partition the seq without using the index. Is that possible? Something like this -
{
(defn row [x n]
(loop [hist [n]
head (gen-next-head (first hist) x n)
steps 1]
(if (>= (- x 1) steps)
(case head
0 {:origin [hist] :pattern [0]}
1 {:origin nil :pattern (conj hist head)}
; Speculative from here on out
(let [p (partition-by #(apply distinct? %) (conj hist head))]
(if-not (nil? (next p)) ; One partition if no repeats.
{:origin (first p) :pattern (concat (second p) (nth 3 p))}
(recur (conj hist head) (gen-next-head head x n) (inc steps)))))
{:origin hist :pattern nil})))
}
I have a methor to return pagecontent of link
but when it run, alway return "Do not perrmisson ", plesea check it
here is code to return string pagecontent
public static String getPageContent(String targetURL) throws Exception {
Hashtable contentHash = new Hashtable();
URL url;
URLConnection conn;
// The data streams used to read from and write to the URL connection.
DataOutputStream out;
DataInputStream in;
// String returned as the result .
String returnString = "";
// Create the URL object and make a connection to it.
url = new URL(targetURL);
conn = url.openConnection();
// check out permission of acess URL
if (conn.getPermission() != null) {
returnString = "Do not Permission access URL ";
} else {
// Set connection parameters. We need to perform input and output,
// so set both as true.
conn.setDoInput(true);
conn.setDoOutput(true);
// Disable use of caches.
conn.setUseCaches(false);
// Set the content type we are POSTing. We impersonate it as
// encoded form data
conn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
// get the output stream .
out = new DataOutputStream(conn.getOutputStream());
String content = "";
// Create a single String value pairs for all the keys
// in the Hashtable passed to us.
Enumeration e = contentHash.keys();
boolean first = true;
while (e.hasMoreElements()) {
// For each key and value pair in the hashtable
Object key = e.nextElement();
Object value = contentHash.get(key);
// If this is not the first key-value pair in the hashtable,
// concantenate an "&" sign to the constructed String
if (!first)
content += "&";
// append to a single string. Encode the value portion
content += (String) key + "="
+ URLEncoder.encode((String) value);
first = false;
}
// Write out the bytes of the content string to the stream.
out.writeBytes(content);
out.flush();
out.close();
// check if can't read from URL
// Read input from the input stream.
in = new DataInputStream(conn.getInputStream());
String str;
while (null != ((str = in.readLine()))) {
returnString += str + "\n";
}
in.close();
}
// return the string that was read.
return returnString;
}
Hi there,
For my site I have a number of Orders each of which contains a number of Quotes. A quote is always tied to an individual order, so in the quotes controller I add a quote with reference to it's order:
function add($orderId) {
// funtion here
}
And the calling URL looks a bit like
http://www.example.com/quotes/add/1
It occurred to me the URLs would make more sense if they looked a bit more like
http://www.example.com/orders/1/quotes/add
As the quote is being added to order 1.
Is this something it's possible to achive in CakePHP?
Cheers,
Tom
How can I call a route (in the view) in CakePHP as the same way in Rails?
Ruby on Rails
routes.rb
map.my_route '/my-route', :controller => 'my_controller', :action => 'index'
view
link_to 'My Route Name', my_route_path
CakePHP
routes.php
Router::connect('/my-route', array('controller' => 'my_controller', 'action' => 'index'));
view
$html->link('My Route Name', '/my-route');
But I think the Rails way is better, because I can make changes in the "url" and I don't need changes the code of the views.
I'm converting a Wordpress blog to Drupal and need to map the WP paths to the new Drupal ones.
What's the best practice for doing this? There are only around a hundred pages to map. I've been experimenting with the URL Alter module, which provides an alternative to messing with custom_url_rewrite functions settings.php but keep getting 404. Waiting to hear back from the module maintainer if this is what the module is intended for. In the meantime I am wondering how others do this? Should I be using .htaccess?
I have a controller without any related model. This controller is to span some informations from various models. I have lots of actions there, which define certain views on the page. What would be the best way to organize routes for this controller.
What I would like is to have /dashboard/something point to any action in the dashboard controller. Not actions like new/edit but arbitrary (showstats, etc).
With trail and error I made something like this:
map.dashboard 'dashboard/:action', :controller => 'dashboard', :action => :action
Now it is possible to access those url using helper:
dashboard_url('actionname')
This approch seems to be working ok, but is this the way to go? I am not quite sure understand, how are the helper method names generated. How to generate same helper names as in basic controllers "action_controller_url" ? That would be more generic and made the code more consistent.
Thanks in advance.
I've created a website with ASP.NET MVC. I have a number of static pages that I am currently serving through a single controller called Home. This creates some rather ugly URLs.
example.com/Home/About
example.com/Home/ContactUs
example.com/Home/Features
You get the idea. I'd rather not have to create a controller for each one of these as the actions simply call the View with no model being passed in.
Is there a way to write a routing rule that will remove the controller from the URL? I'd like it to look like:
example.com/About
example.com/ContactUs
example.com/Features
If not, how is this situation normally handled? I imagine I'm not the first person to run in to this.
I'm using IIRF to redirect certain URLs to specific PDF files. For instance, for the URL /newsletter/2010/02 I'd like it to redirect to /pdf/newsletters/Feb2010.pdf. I'm not too hot at regular expressions, but I created the following rule:
RedirectRule ^/newsletter/2010/01 /pdf/newsletters/Newsletter012010.pdf [I,R=301]
and it does redirect, but the address bar doesn't change, and when trying to save the file it wants to save as 01 instead of Feb2010.pdf. I don't presume my users will be savvy enough to enter a PDF extension before saving, and they shouldn't have to. Is there anything I can do about this?
http://docs.djangoproject.com/en/dev/intro/tutorial03/
I was at the step Decoupling the URLconfs where the tutorial illustrates how to decouple urls.py. On doing exactly what it says, i get the following error-
error at /polls/1/
nothing to repeat
Request Method: GET
Request URL: http://localhost:8000/polls/1/
Exception Type: error
Exception Value:
nothing to repeat
Exception Location: C:\jython2.5.1\Lib\re.py in _compile, line 241
Python Executable: C:\jython2.5.1\jython.bat
Python Version: 2.5.1
Python Path: ['E:\\Programming\\Project\\django_app\\mysite', 'C:\\jython2.5.1\\Lib\\site-packages\\setuptools-0.6c11-py2.5.egg', 'C:\\jython2.5.1\\Lib', '__classpath__', '__pyclasspath__/', 'C:\\jython2.5.1\\Lib\\site-packages']
Server time: Mon, 12 Apr 2010 12:02:56 +0530
I've just noticed that the long, convoluted Facebook URLs that we're used to now look like this:
http://www.facebook.com/example.profile#!/pages/Some-Other-Page/123456789012345
As far as I can recall, earlier this year it was just a normal URL-fragment-like string (starting with #), without the exclamation mark. But now it's a shebang (#!), which I've previously only seen in shell scripts and Perl scripts.
Does #! now play some special role in URLs, like for a certain Ajax framework or something since Facebook's interface is now largely Ajaxified? Or is it for some other purpose?
So the site I'm working on has a filter system that operates by passing a key and value system through a querystring.
The whole site is going through a re-factor soon and I'm maintaining the existing site so before we discuss the RIGHT way to implement this, I just need ideas for changing my delimiter.
The current format is like this:
cf=<key>:<value>
The problem is, I've recently run into an issue because some of our new values for this filter contain : in them. I.e: cf=MO_AspectRatio:16:10
The value is being UrlEncoded, but the browsers are de-coding %3a into : on the fly because the : doesn't inherently break the urls.
I need some suggestions for url-safe delimiters that aren't :,-,_,&,? that makes sense. I'm not looking for a solution like () or something wild.
I have created a custom Rewrite Provider for IIS 7 following instructions in this article: Developing a Custom Rewrite Provider for URL Rewrite Module
To simplify deployment, I have created a VS2010 Setup Project and configured it to deploy my assembly to GAC.
When I run the installer, it completes successfully, and appears to be registered the assembly in GAC (I have verified using gacutil.exe /l).
However, when I go to IIS Manager to register the new rewrite provider it is not displayed in the list of available providers.
I have also tried to install the assembly manually using gacutil.exe /if. This does work and makes assembly visible in the list of available providers in IIS Manager.
Am I missing some sort of configuration in my Setup Project?
I need the Perl regex to parse plain text input and convert all links to valid HTML HREF links. I've tried 10 different versions I found on the web but none of them seen to work correctly. I also tested other solutions posted on StackOverflow, none of which seem to work. The correct solution should be able to find any URL in the plain text input and convert it to:
<a href="$1">$1</a>
Some cases other regular expressions I tried didn't handle correctly include:
URLs at the end of a line which are followed by returns
URLs that included question marks
URLs that start with 'https'
I'm hoping that another Perl guy out there will already have a regular expression they are using for this that they can share. Thanks in advance for your help!
I am using chrriis.dj.nativeswing.swtimpl.components.JWebBrowser in my swing application to open web page.
The page is going to show "Facebook Authentication" page and I want to prevent user from inputting some other URL other than I specify and also Forward and Back buttons should be visible but not has no affect.
So following functions are applicable for my goal
setButtonBarVisible(true);
setLocationBarVisible(true);
Once user completes the authentication I will handle the locationChanged event.
@Override
public void locationChanged(WebBrowserNavigationEvent arg0) {
System.out.println("locationChanged!");
....
}
}
I have modified a website with a redirection to a single page:
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
It works as it suppose to be. Everything is redirected to index.php. Here is a working example that display index.php with all images and css:
http://.....com/section1
The problem occur when I try :
http://....com/section1/subsection
The page is redirected to index.php, BUT no images, no css, no javascript. Inside the PHP script everything is like this directly linked to the images or css or javascript like:
<img src="images/images1.png> ... <img src="images2.png">
Why does url with many slash like .com../123/123/whatever does not work with images, css or javascript when .com/no_slash_url works?
This is the exception that I am getting when I run my application with the Managed Fusion Url Rewriter installed.
Exception Details: System.MissingMethodException: Method not found: 'Boolean System.Web.HttpRuntime.get_UsingIntegratedPipeline()'.
Source Error:
An unhandled exception was generated
during the execution of the current
web request. Information regarding the
origin and location of the exception
can be identified using the exception
stack trace below.
Stack Trace:
[MissingMethodException: Method not found: 'Boolean System.Web.HttpRuntime.get_UsingIntegratedPipeline()'.]
ManagedFusion.Rewriter.RewriterModule.context_BeginRequest(Object sender, EventArgs e) in C:\Users\Nick\Documents\Projects\Managed Fusion (Open Source)\ManagedFusion.Rewriter\Source\RewriterModule.cs:162
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
I have .NET 2.0 SP1 installed on my server that is throwing this error.